Allmänt meddelande

Collapse
No announcement yet.

Cell-script

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • #16
    Har du ändrat till 119 på alla ställen som behövs? Det är inga porblem med celler över 200 så det är inte problemet. Jag gissar att du fått en loop eftersom värdet i cell 119 inte återmatas utan skrivning sker hela tiden med krasch som följd.

    Comment


    • #17
      Så här ser scripten ut:

      **********************************************************
      * script som skapar värde på signal i cell 119

      signal:=xxxxx
      }
      tidnu:=frac(DATE())
      totalt:=Mult(tidnu,1440)
      rest:=mod(totalt,60)
      tidsignal:=GT(rest,59)
      }
      Signal_visa:=And(tidsignal,signal)
      flagga:=mult(Signal_visa,40)
      {---Vi lägger in värdet i cell 119------------------------------------}
      SetGVarIf(signal,119,1)
      i60(flagga)

      **********************************************************
      * ovanstående script som jämför 119/120 och skapar i 121, 122

      {---Mäta föregående stapels high och low--------------------------}
      high:=Aref(h,1)
      low:=Aref(l,1)
      {---Cell 119 --------------------------------------------}
      aktuellt:=GetGVar(119)
      lagrat:=GetGVar(120)
      nytt:=Not(Eqv(aktuellt,lagrat))
      SetGVarIf(high,121,nytt)
      SetGVarIf(low,122,nytt)
      SetGVarIf(aktuellt,120,nytt)

      Här finns inget intraday som omsluter, ska det vara det?
      ex i60(xxxxx)

      **********************************************************
      * script som läser av cell 121 och ska visa linje

      limit:=GetGvar(121) {cell där buy lagras}
      draw(limit,2,YQB)
      test=Gt(c,limit)
      mult(test,5)

      Här finns heller inget intraday som omsluter, ska det vara det?
      ex i60(xxxxx)


      Totalt är det 3 script som ska ta in data under samma cykel och beräkna värden, rita linjer, hur får man till det?
      Last edited by jorgeng; 2008-10-02, 10:12.

      Comment


      • #18
        Lite småsaker som jag hittade:



        signal:=xxxxx < "signal" är delnamn av "tidsignal" nedan, kan skapa kaos i scriptkompilatorn
        }
        tidnu:=frac(DATE())
        totalt:=Mult(tidnu,1440)
        rest:=mod(totalt,60)
        tidsignal:=GT(rest,59) < tidsignal blir aldrig sant eftersom större än 59 aldrig uppnås. Ändra till 58
        }
        Signal_visa:=And(tidsignal,signal)
        flagga:=mult(Signal_visa,40)
        {---Vi lägger in värdet i cell 119------------------------------------}
        SetGVarIf(signal,119,1)
        i60(flagga)

        **********************************************************
        * ovanstående script som jämför 119/120 och skapar i 121, 122

        {---Mäta föregående stapels high och low--------------------------}
        high:=Aref(h,1)
        low:=Aref(l,1)
        {---Cell 119 --------------------------------------------}
        aktuellt:=GetGVar(119)
        lagrat:=GetGVar(120)
        nytt:=Not(Eqv(aktuellt,lagrat))
        SetGVarIf(high,121,nytt)
        SetGVarIf(low,122,nytt)
        SetGVarIf(aktuellt,120,nytt)

        Här finns inget intraday som omsluter, ska det vara det?
        ex i60(xxxxx)

        Det behövs inte egentligen men man kan ju alltid lägga dit i1(nytt)
        **********************************************************
        * script som läser av cell 121 och ska visa linje

        limit:=GetGvar(121) {cell där buy lagras}
        draw(limit,2,YQB)
        test=Gt(c,limit)
        mult(test,5)

        Här finns heller inget intraday som omsluter, ska det vara det?
        ex i60(xxxxx)

        Samma som ovan

        Comment


        • #19
          Hur menar du?

          tidsignal:=GT(rest,59) < tidsignal blir aldrig sant eftersom större än 59 aldrig uppnås. Ändra till 59


          Ändra till 59, det står ju 59?

          Comment


          • #20
            Ajfasen, skrev fel! Ska vara 58, jag har ändrat ovan också.

            Gt(rest,58) er "större än 59" och är alltså 59. Nästa uppräkning hoppar tillbaka till noll igen.

            59 motsvarar sista minuten i perioden, och då blir "tidsignal" sant.

            Comment


            • #21
              Rikard,
              tyvärr fungerar ej de 3 scripten med samverkan.

              Den gula linjen ritas ej korrekt.
              Det är ett daily-script Lasse gav mig för några år sedan, fungerar ej
              att ha i60 runt, sätter jag i60 visas inget alls
              jag har visa intraday,
              flagga
              0-100

              scriptet fungerar i dagsgrafer, men jag vet ej om värdet kommer in rätt i
              cell 121


              **********************************************************
              * script som läser av cell 121 och ska visa linje

              limit:=GetGvar(121) {cell där buy lagras}
              draw(limit,2,YQB)
              test=Gt(c,limit)
              mult(test,5)

              Här finns heller inget intraday som omsluter, ska det vara det?
              ex i60(xxxxx)

              Samma som ovan

              Comment


              • #22
                "signal" är delnamn av minst två andra variabler, tidsignal och signal_visa, så det kommer garanterat bli kaos.

                Ändra namnen så de blir unika och provkör igen, borde fungera.




                signal:=xxxxx < "signal" är delnamn av "tidsignal" nedan, kan skapa kaos i scriptkompilatorn
                }
                tidnu:=frac(DATE())
                totalt:=Mult(tidnu,1440)
                rest:=mod(totalt,60)
                tidsignal:=GT(rest,58)
                }
                Signal_visa:=And(tidsignal,signal) {här är alla tre variabler delnamn där signal ingår, krock!}

                Comment


                • #23
                  Prova med att flytta ner draw(limit,2,YQB) till under test=

                  Jag har nämligen varit med om liknande fenomen.

                  Comment


                  • #24
                    Ursprungligen postat av Åke Sturefelt Visa inlägg
                    Prova med att flytta ner draw(limit,2,YQB) till under test=

                    Jag har nämligen varit med om liknande fenomen.
                    Jag har ändrat, såg ingen skillnad

                    Comment


                    • #25
                      Ursprungligen postat av Rikard Nilsson Visa inlägg
                      "signal" är delnamn av minst två andra variabler, tidsignal och signal_visa, så det kommer garanterat bli kaos.

                      Ändra namnen så de blir unika och provkör igen, borde fungera.




                      signal:=xxxxx < "signal" är delnamn av "tidsignal" nedan, kan skapa kaos i scriptkompilatorn
                      }
                      tidnu:=frac(DATE())
                      totalt:=Mult(tidnu,1440)
                      rest:=mod(totalt,60)
                      tidsignal:=GT(rest,58)
                      }
                      Signal_visa:=And(tidsignal,signal) {här är alla tre variabler delnamn där signal ingår, krock!}
                      Ändrat, numera heter de 3 olika saker, samma effekt som tidigare

                      Comment


                      • #26
                        Rikard,
                        alla värden skapas ej riktigt i denna snurran:


                        {---Mäta föregående stapels high och low--------------------------}
                        high:=Aref(h,1)
                        low:=Aref(l,1)
                        {---Cell 119 --------------------------------------------}
                        aktuellt:=GetGVar(119)
                        lagrat:=GetGVar(120)
                        nytt:=Not(Eqv(aktuellt,lagrat))
                        SetGVarIf(high,121,nytt)
                        SetGVarIf(low,122,nytt)
                        SetGVarIf(aktuellt,120,nytt)


                        Jag la in ritning av graf på cell 122 och den är tom, ingen linje visas.

                        Comment


                        • #27
                          Men har du ändrat värde som skrivs till cell 119? Annars blir inte "nytt" sant, och då skrivs inget värde till cell 122.

                          Comment


                          • #28
                            Ursprungligen postat av Rikard Nilsson Visa inlägg
                            Men har du ändrat värde som skrivs till cell 119? Annars blir inte "nytt" sant, och då skrivs inget värde till cell 122.
                            Jodå, när signalen kom vid 13-tiden skulle nytt värde skrivits ner mha:

                            input:=xxxxx dvs indikatorn
                            }
                            tidnu:=frac(DATE())
                            totalt:=Mult(tidnu,1440)
                            rest:=mod(totalt,60)
                            time:=GT(rest,59)
                            }
                            Signal_visa:=And(time,input)
                            flagga:=mult(Signal_visa,40)
                            {---Vi lägger in värdet i cell 119-----------------------------------}
                            SetGVarIf(input,119,1)
                            i60(flagga)


                            Varför jag har kvar
                            rest:=mod(totalt,60)
                            time:=GT(rest,59)
                            är för att jag vill signalen och flaggan ska vara tänd sista minuten i 60 minutersperioden, jag vet detta fungerar sedan tidigare.

                            Jaha, vet inte om vi kommer framåt, vi får se..

                            Hur skulle du byggt upp ovanstående?

                            *En indikator slår till och är aktiv sista minuten i timman, bara för att
                            veta att indikatorn, dvs flaggan finns kvar nästa period.

                            *När indikatorn aktiverats i 59:e minuten händer inte så mycket mer.

                            *Nästa timmes stapel byggs upp, vid första insamlingen ska vi mäta high och
                            low på föregående stapel på indikatorn.

                            *När vi vet high and low ska vi slänga ut gula linjer som vi sedan ska agera köp eller sälj på dvs buystop, sellstop.

                            * Köp eller sälj ska ske när de gula linjerna passeras.

                            Last edited by jorgeng; 2008-10-03, 12:50.

                            Comment


                            • #29
                              rest:=mod(totalt,60)
                              time:=GT(rest,59)


                              blir aldrig sant eftersom "Större än 59" motsvarar 60 och det händer aldrig. Efter 59 stegar räknaren tillbaka till 0. Så om du ändrar till 58 tror jag det fungerar bättre.

                              Men som du beskriver det ska alltså föregående periods High och Low andvändas som breakout-nivåer löpande under hela dagen?

                              I så fall finns det ju väldigt mycket enklare sätt:

                              förrahigh:=Ref(h,1)
                              förralow:=Ref(l,1)
                              { }
                              tidnu:=frac(DATE())
                              totalt:=Mult(tidnu,1440)
                              rest:=mod(totalt,60)
                              time:=Eqv(rest,0) {har ändrat så att kontroll av förra periodens hi och lo görs första minuten i nuvarande period istället}
                              { }
                              i60(
                              SetGVarIf(förrahigh,200,time)
                              SetGVarIf(förralow,201,time)
                              lagrathigh=GetGVar(200)
                              lagratlow=GetGVar(202)
                              Draw(lagrathigh,4,gqb)
                              Draw(lagratlow,5,gqb)
                              )


                              Sen är det bara att hämta värdena från cell 200 och 201 (eller de du vill använda) med raderna:

                              lagrathigh=GetGVar(200)
                              lagratlow=GetGVar(202)

                              och skapa köp- och säljsignaler med tex:

                              long:=Gt(c,lagrathigh)
                              short:=Lt(c,lagratlow)



                              Om man skippar själva rit-delen så kan man ju göra det väldigt enkelt:

                              long:=Gt(c,Ref(h,1))
                              short:=Lt(c,Ref(l,1))

                              Comment


                              • #30
                                Jo, det kan ju fungera.

                                Vad vi tappat bort är ju att nivåerna ska sättas om när indikatorn får nytt värde, inte på varje ny 60 min stapel.

                                Det kanske bara sker att indiaktorn aktiveras/visas 2 ggr per dag.
                                Ex. aktiveras indikatorn kl.12 och kl.15 ska high/low räknas ut och sättas om
                                då, inte kl.10, kl.11 mm.

                                Hur löser man det?

                                Last edited by jorgeng; 2008-10-03, 13:24.

                                Comment

                                Working...
                                X