Amibroker AFL

      trash schrieb:

      ibelieve schrieb:

      hmmm,

      weiss einer was das " Use QuickAFL " in den Settings bedeutet?

      Wenn ich das anklicke erscheint der Wert nicht, mache ich das Häkchen weck erscheint er wieder im Scanner.


      Da müßte man halt mal die Hilfe zu Rate ziehen, dann wüßte man es (siehe unten).

      Bei mir wird weder mit also auch ohne Quick AFL ein Short angezeigt. Was sind denn das für andere Arrows (hohl innen) in deinem Chart? Die sind in dem Code nicht drinnen und müßten ja auch durch irgend eine Anweisung erzeugt werden. Genau diese, da ja auch in der letzten Tagescandle vorhanden, werden dein Shortsignal erzeugen. Und worauf diese sich beziehen, weiß ich nicht, da sie im geposteten Code nicht vorhanden sind.


      Abgesehen davon das mein Englisch wo Du natürlich nichts dafür kannst sehr schlecht ist bringt mir der Text aus der Hilfe nichts wirkliches was auf mein Problem hinweist.
      Die hatte ich auch schon gelesen bevor Du Sie mir freundlicher weise hier posteste.
      Hätte ja sein können das jemand noch mehr drüber weis.
      Wenn ich den Text Richtig verstehe ist es ja nur so das er nicht auf alle Daten die Berechnungen macht sondern nur auf die die im Chart angezeigt werden, also nur auf einen begrenzten Zeitraum.

      Was sind denn das für andere Arrows (hohl innen) in deinem Chart?


      Wenn Du den Scanner durchlaufen lässt und dann auf einen Wert doppel Klicks erscheinen Sie.
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      ibelieve schrieb:

      hmmm,

      weiss einer was das " Use QuickAFL " in den Settings bedeutet?

      Wenn ich das anklicke erscheint der Wert nicht, mache ich das Häkchen weck erscheint er wieder im Scanner.


      Da müßte man halt mal die Hilfe zu Rate ziehen, dann wüßte man es (siehe unten).

      Bei mir wird weder mit also auch ohne Quick AFL ein Short angezeigt. Was sind denn das für andere Arrows (hohl innen) in deinem Chart? Die sind in dem Code nicht drinnen und müßten ja auch durch irgend eine Anweisung erzeugt werden. Genau diese, da ja auch in der letzten Tagescandle vorhanden, werden dein Shortsignal erzeugen. Und worauf diese sich beziehen, weiß ich nicht, da sie im geposteten Code nicht vorhanden sind.
      Bilder
      • quick AFL.png

        10,78 kB, 801×229, 164 mal angesehen
      ich verstehe es immer noch nicht.

      Hier im Chart habe ich jetzt die Doppelslashes die Du wahrscheinlich meinst auch weg.

      Die werden auch Richtig angezeigt, aber warum erscheint der Wert im scanner als Short und wird da ja auch mit dem Short Pfeil versehen?
      Es kann ja nicht angehen das die einen Sachen im Programm es Richtig machen und die anderen nicht :(
      Bilder
      • Bildschirminhalt erfassen-1.gif

        73,85 kB, 1.112×932, 152 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      trash schrieb:

      Wenn du einen anderen Code reinstellst, als den, den du für den Chart verwendest, kann ich dir nichts dazu sagen. Wenn ich den aus deinem letzten Posting verwende, dann wird bei mir für COF kein Short(-Arrow) für 28.10. angezeigt. Habe allerdings deinen Code nicht auf sonstige Fehler untersucht. Dafür fehlt mir gerade die Motivation.

      EDIT: Die Doppelslashes habe ich natürlich vorher weggemacht. Auch das AA zeigt keinen Short an.


      Warum soll ich einen Anderen Code einstellen als den den ich verwende?
      (ich habe es jetzt auch noch mal kontrolliert damit es mir auch nicht aus versehe passiert ist)

      Das ist ja das eigenartige das mir hier ein Falscher Wert angezeigt wird.
      Wo bei ich glaube das die meisten Richtig sind und nur ab und an mal aus einem mir unerklärlichen Grund ein Falscher kommt.

      Die Doppelslashes habe ich natürlich vorher weggemacht.


      Welche?
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Wenn du einen anderen Code reinstellst, als den, den du für den Chart verwendest, kann ich dir nichts dazu sagen. Wenn ich den aus deinem letzten Posting verwende, dann wird bei mir für COF kein Short(-Arrow) für 28.10. angezeigt. Habe allerdings deinen Code nicht auf sonstige Fehler untersucht. Dafür fehlt mir gerade die Motivation.

      EDIT: Die Doppelslashes habe ich natürlich vorher weggemacht. Auch das AA zeigt keinen Short an.
      Es kommen immer wieder Sachen die ich einfach nicht verstehe :(

      Ich lasse mir jetzt extra die Zustände von uptrend und dntrend unten anzeigen.
      dann frage ich hier ja als Bedingung die Sache ab,

      Buy = H<Ref(H,-1) AND H != shh AND Lastup > Lastdn AND C > whatline AND uptrend;
      Short = L>Ref(L,-1) AND L != sll AND Lastup < Lastdn AND C < whatline AND dntrend;

      Laut Anzeige ist uptrend = 1 und dntrend = 0
      Was ja auch richtig ist.
      Aber warum zeigt er mir den Wert als Short an ??????

      Quellcode

      1. function Swing_Low()
      2. {
      3. return ValueWhen(
      4. (L>Ref(L,-1) AND Ref(L==LowestSince(L<Ref(L,-1),L,1),-1))
      5. ,Ref(L,-1),1) ;
      6. }
      7. function Swing_High()
      8. {
      9. return ValueWhen(
      10. (H<Ref(H,-1) AND Ref(H==HighestSince(H>Ref(H,-1),H,1),-1))
      11. ,Ref(H,-1),1);
      12. }
      13. // pot. Swing Highs, Lows
      14. SH=Swing_High();
      15. SL=Swing_Low() ;
      16. SL= IIf(SL!=Ref(SL,1),Ref(SL,1),Null);
      17. SH= IIf(SH!=Ref(SH,1),Ref(SH,1),Null);
      18. SLR=Null; //reale Werte (wenn sie feststehen)
      19. SHR=Null;
      20. // inside Bars kontrollieren
      21. for ( i = 1; i < BarCount ; i++ )
      22. {
      23. if (Nz(SL[i])>0)
      24. {
      25. k=i+1;
      26. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      27. {
      28. SH[k]=0;
      29. SL[k]=0;
      30. k++ ; // inside-Bars weg
      31. }
      32. if (k==BarCount)
      33. SL[i]=Null;
      34. else
      35. {
      36. if (NOT(H[k]>H[i]) AND NOT(L[k]>L[i])) SL[i]=Null; // doch kein Swing
      37. else SLR[k]=SL[i];
      38. }
      39. }
      40. if (Nz(SH[i])>0)
      41. {
      42. k=i+1;
      43. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      44. {
      45. SH[k]=0;
      46. SL[k]=0;
      47. k++; // inside-Bars weg
      48. }
      49. if (k==BarCount)
      50. SH[i]=Null;
      51. else
      52. {
      53. if (NOT(H[k]<H[i]) AND NOT(L[k]<L[i])) SH[i]=Null;
      54. else SHR[k]=SH[i];
      55. }
      56. }
      57. }
      58. // outsidebars kontrollieren
      59. SLF=0;
      60. SHF=0;
      61. for (i=0;i<BarCount;i++)
      62. {
      63. if (SLR[i]>0 )
      64. {
      65. if (SLF==1 AND H[i-1]>H[i-2]) SHR[i]=H[i-1]; // outsidebar
      66. SLF=1;
      67. SHF=0;
      68. }
      69. if (SHR[i]>0 )
      70. {
      71. if (SHF==1 AND L[i-1]<L[i-2]) SLR[i]=L[i-1];
      72. SLF=0;
      73. SHF=1;
      74. }
      75. }
      76. SLF=0;
      77. SHF=0;
      78. dist = .41 * ATR( 10 );
      79. for (i=0;i<BarCount;i++)
      80. {
      81. if (SL[i]>0 )
      82. {
      83. if (SLF==0) PlotText( "SL",i, SL[ i ]- dist[i],colorGreen,colorYellow );
      84. else PlotText( "SL",i, SL[ i ]- dist[i],colorRed,colorYellow );
      85. SLF=1;
      86. SHF=0;
      87. }
      88. if (SH[i]>0 )
      89. {
      90. if (SHF==0) PlotText( "SH",i, SH[ i ]+ dist[i],colorGreen,colorYellow );
      91. else PlotText( "SH",i, SH[ i ]+ dist[i],colorRed,colorYellow );
      92. SLF=0;
      93. SHF=1;
      94. }
      95. }
      96. dt = DateTime();
      97. shdt = ValueWhen(sh, dt);
      98. sldt = ValueWhen(sl, dt);
      99. shh = ValueWhen(sh, H);
      100. sll = ValueWhen(sl, L);
      101. upline = IIf( shdt > sldt, shh - (shh-sll) * 0.618, Null);
      102. dnline = IIf( sldt > shdt, sll + (shh-sll) * 0.618, Null);
      103. Lastup = LastValue(upline);
      104. Lastdn = LastValue(dnline);
      105. whatline = IIf(Lastup > Lastdn, Lastup, Lastdn);
      106. Colline = IIf(Lastup > Lastdn, colorBrightGreen, colorRed);
      107. nshh = ValueWhen(H > Ref(H,-1), H);
      108. stoppuptrend = nshh- (nshh-Ref(sll,-1)) * 0.618;
      109. nsll = ValueWhen(L < Ref(L,-1),L);
      110. stoppdntrend = nsll + (Ref(shh,-1)- nsll) * 0.618;
      111. uptrend = Flip(shdt > sldt,C< stoppuptrend);
      112. dntrend = Flip(sldt > shdt,C> stoppdntrend);
      113. //Plot(whatline, "", Colline, styleDashed);
      114. Buy = H<Ref(H,-1) AND H != shh AND Lastup > Lastdn AND C > whatline AND uptrend;
      115. Short = L>Ref(L,-1) AND L != sll AND Lastup < Lastdn AND C < whatline AND dntrend;
      116. //Plot(uptrend ,"",colorBlue,4);
      117. //Plot(dntrend ,"",colorBlack,4);
      118. Plot(nshh,"",colorYellow);
      119. //Plot(Ref(stoppuptrend,-1),"",colorBlue,4);
      120. Plot(stoppuptrend,"",colorBlue,4);
      121. Plot(nsll,"",colorYellow);
      122. Plot(stoppdntrend,"",colorGreen,4);
      123. //PlotShapes(shapeSmallUpTriangle*Buy,colorLime,0,Low-0.5*ATR(1));
      124. //PlotShapes(shapeSmallDownTriangle*Short,colorRed,0,High+0.5*ATR(1));
      Bilder
      • Bildschirminhalt erfassen-1.gif

        81,81 kB, 1.181×963, 190 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Damit Du nicht meinst ich mache mir keine eigenen Gedanken.
      Im Moment nur sehr wenig Zeit.

      Es ist noch die Beta von der Beta der Beta.
      Ich musste nur erst mal was finden was ich vielleicht verwenden kann.
      Bin noch nur an Long und muss dann so wie noch schauen was ich nachher raus schmeisse und dann verwenden kann.
      Also nicht über das wirre geschreibsel im Code wundern.

      Was ich aber schon mal sagen kann ist das es mich oft verwundert was für Werte angezeigt werden.
      Der Wert im Bild ist nach den Regeln noch im Long,
      beim einfachen durchschauen hätte ich Ihn aber wahrscheinlich gar nicht beachtet,
      bedingt dadurch das er mir aber jetzt hier angezeigt wird finde ich Ihn für die Regeln noch nicht mal so schlecht.

      Quellcode

      1. function Swing_Low()
      2. {
      3. return ValueWhen(
      4. (L>Ref(L,-1) AND Ref(L==LowestSince(L<Ref(L,-1),L,1),-1))
      5. ,Ref(L,-1),1) ;
      6. }
      7. function Swing_High()
      8. {
      9. return ValueWhen(
      10. (H<Ref(H,-1) AND Ref(H==HighestSince(H>Ref(H,-1),H,1),-1))
      11. ,Ref(H,-1),1);
      12. }
      13. // pot. Swing Highs, Lows
      14. SH=Swing_High();
      15. SL=Swing_Low() ;
      16. SL= IIf(SL!=Ref(SL,1),Ref(SL,1),Null);
      17. SH= IIf(SH!=Ref(SH,1),Ref(SH,1),Null);
      18. SLR=Null; //reale Werte (wenn sie feststehen)
      19. SHR=Null;
      20. // inside Bars kontrollieren
      21. for ( i = 1; i < BarCount ; i++ )
      22. {
      23. if (Nz(SL[i])>0)
      24. {
      25. k=i+1;
      26. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      27. {
      28. SH[k]=0;
      29. SL[k]=0;
      30. k++ ; // inside-Bars weg
      31. }
      32. if (k==BarCount)
      33. SL[i]=Null;
      34. else
      35. {
      36. if (NOT(H[k]>H[i]) AND NOT(L[k]>L[i])) SL[i]=Null; // doch kein Swing
      37. else SLR[k]=SL[i];
      38. }
      39. }
      40. if (Nz(SH[i])>0)
      41. {
      42. k=i+1;
      43. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      44. {
      45. SH[k]=0;
      46. SL[k]=0;
      47. k++; // inside-Bars weg
      48. }
      49. if (k==BarCount)
      50. SH[i]=Null;
      51. else
      52. {
      53. if (NOT(H[k]<H[i]) AND NOT(L[k]<L[i])) SH[i]=Null;
      54. else SHR[k]=SH[i];
      55. }
      56. }
      57. }
      58. // outsidebars kontrollieren
      59. SLF=0;
      60. SHF=0;
      61. for (i=0;i<BarCount;i++)
      62. {
      63. if (SLR[i]>0 )
      64. {
      65. if (SLF==1 AND H[i-1]>H[i-2]) SHR[i]=H[i-1]; // outsidebar
      66. SLF=1;
      67. SHF=0;
      68. }
      69. if (SHR[i]>0 )
      70. {
      71. if (SHF==1 AND L[i-1]<L[i-2]) SLR[i]=L[i-1];
      72. SLF=0;
      73. SHF=1;
      74. }
      75. }
      76. SLF=0;
      77. SHF=0;
      78. dist = .41 * ATR( 10 );
      79. for (i=0;i<BarCount;i++)
      80. {
      81. if (SL[i]>0 )
      82. {
      83. if (SLF==0) PlotText( "SL",i, SL[ i ]- dist[i],colorGreen,colorYellow );
      84. else PlotText( "SL",i, SL[ i ]- dist[i],colorRed,colorYellow );
      85. SLF=1;
      86. SHF=0;
      87. }
      88. if (SH[i]>0 )
      89. {
      90. if (SHF==0) PlotText( "SH",i, SH[ i ]+ dist[i],colorGreen,colorYellow );
      91. else PlotText( "SH",i, SH[ i ]+ dist[i],colorRed,colorYellow );
      92. SLF=0;
      93. SHF=1;
      94. }
      95. }
      96. dt = DateTime();
      97. shdt = ValueWhen(sh, dt);
      98. sldt = ValueWhen(sl, dt);
      99. shh = ValueWhen(sh, H);
      100. sll = ValueWhen(sl, L);
      101. upline = IIf( shdt > sldt, shh - (shh-sll) * 0.618, Null);
      102. dnline = IIf( sldt > shdt, sll + (shh-sll) * 0.618, Null);
      103. Lastup = LastValue(upline);
      104. Lastdn = LastValue(dnline);
      105. whatline = IIf(Lastup > Lastdn, Lastup, Lastdn);
      106. Colline = IIf(Lastup > Lastdn, colorBrightGreen, colorRed);
      107. nshh = ValueWhen(H > Ref(H,-1), H);
      108. stoppuptrend = nshh- (nshh-sll) * 0.618;
      109. uptrend = Flip(shdt > sldt,C<Ref(nshh- (nshh-sll) * 0.618,-1));
      110. dntrend = Flip(sldt > shdt,C> sll + (shh-sll) * 0.618);
      111. //Plot(whatline, "", Colline, styleDashed);
      112. Buy = H<Ref(H,-1) AND H != shh AND Lastup > Lastdn AND C > whatline AND uptrend;
      113. Short = L>Ref(L,-1) AND L != sll AND Lastup < Lastdn AND C < whatline AND NOT uptrend;
      114. //Plot(uptrend ,"",colorBlue,4);
      115. //Plot(dntrend ,"",colorBlack,4);
      116. Plot(nshh,"",colorRed,4);
      117. Plot(Ref(stoppuptrend,-1),"",colorGreen,4);
      118. //PlotShapes(shapeSmallUpTriangle*Buy,colorLime,0,Low-0.5*ATR(1));
      119. //PlotShapes(shapeSmallDownTriangle*Short,colorRed,0,High+0.5*ATR(1));
      Bilder
      • Bildschirminhalt erfassen-1.gif

        50,16 kB, 1.018×896, 184 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Versuche es erst mal allein mit bisschen knobeln. Der Blitzgedanke kommt dann oft von ganz allein. Ich kann nicht für alles die Denkarbeit übernehmen. Ich habe dir ja einen Tipp gegeben, den du erst mal versuchen kannst einzubinden. Wenn's nichts taugt, kann man ja die Idee immernoch verwefen, aber du hättest dann schon mal das Knowhow, Bedingungen zu einem Ganzen zusammenzufügen. Nicht schmollig sein, aber "Papa Bär" versucht "Junior" nur einen Schubs zu geben, um den verschneiten Steilhang mal allein zu bewältigen. Aller Anfang ist schwer.

      trash schrieb:

      Dass da Short angezeigt wird bei dir, liegt am letzten SL. Somit ja wieder Shortausschau halten, solange es unter dem 61% RT bleibt. So habe ich es doch verstanden. Ansonsten musst du halt noch eine übergeordnete Trendbedingung einfügen. Wie habe ich dir ja als Bsp gezeigt.


      Das meiste geht da hast Du recht. War halt nur verwundert weil immer nur eine Richtung angezeigt wurde. Was aber kein Problem ist.

      Aber hier liegt jetzt schon ein Fehler vor.
      Wenn wir uns wie im Beispiel im Long Modus befinden sollen keine Shorts angezeigt werden. Erst wenn da ein Close unter dem 61%RT ist kann ein Short Signal kommen.

      Welche Stelle aus dem Beispiel wäre den dafür zuständig.Stehe so gesehen total auf dem Schlauch ;(
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      @Vikke, hier noch mal der zweite Code

      Quellcode

      1. // AFL code by E.M.Pottasch, 9/16/2011
      2. nbar=Param("Lookback nbars",120,3,500,1);
      3. shift = Param("Shift", 0, 0, 500, 1);
      4. fut=Param("Future Bars",5,0,10,1);
      5. mm=(H+L)/2;x=Cum(1);x1=x+fut;
      6. selv=SelectedValue(x)-shift;
      7. bbb=Ref(LinRegIntercept(mm,nbar), -shift);
      8. aaa=Ref(LinRegSlope(mm,nbar), -shift);
      9. dbb=SelectedValue(ValueWhen(x,bbb,1));
      10. daa=SelectedValue(ValueWhen(x,aaa,1));
      11. dbb1=SelectedValue(ValueWhen(x1,bbb,1));
      12. daa1=SelectedValue(ValueWhen(x1,aaa,1));
      13. xx=IIf(x>selv-nbar AND x<=selv,x-(selv-nbar),Null);
      14. yy=dbb+daa*xx;
      15. fxx=IIf(x1>selv AND x1<=selv+fut,x1-(selv-nbar),Null);
      16. fyy=Ref(dbb1+daa1*fxx,0);
      17. wd=Ref(SelectedValue(Ref(2*StdErr(mm,nbar), -shift)), 0);
      18. clr0=IIf(daa>0,ColorRGB(0,250,0),ColorRGB(250,0,0));
      19. clr1=IIf(daa>0,ColorRGB(0,30,0),ColorRGB(30,0,0));
      20. SetChartOptions(0,chartShowDates);
      21. Plot(yy,"LinReg",clr0,styleDashed|styleNoRescale,0,0,0,-1);
      22. Plot(yy+wd,"Upper Boundary",clr0,styleLine|styleNoRescale,0,0,0,-1);
      23. Plot(yy-wd,"Lower Boundary",clr0,styleLine|styleNoRescale,0,0,0,-1);
      24. PlotOHLC(yy+wd,yy+wd,yy-wd,yy-wd,"",clr1,styleCloud|styleNoLabel,0,0,0,-1);
      25. Plot(fyy,"",clr0,styleDots|styleNoLine,0,0,fut,2);
      26. Plot(fyy+wd,"",clr0,styleDots|styleNoLine,0,0,fut,2);
      27. Plot(fyy-wd,"",clr0,styleDots|styleNoLine,0,0,fut,2);
      28. //Plot(C,"",colorBlack,styleCandle,0,0,0,1);
      ibelieve das passt schon so (außer erstem < oder >), ich habe nur noch etwas ausgebessert ... H != shh und L != sll

      Die Signale vor dem jeweils letzten ignorieren. Die Linie bezieht sich immer auf das letzte Signal. Muss mal kuck den wie man die anderen wegbekommt, bzw kann ja jeamnd anders übernehmen. Dass da Short angezeigt wird bei dir, liegt am letzten SL. Somit ja wieder Shortausschau halten, solange es unter dem 61% RT bleibt. So habe ich es doch verstanden. Ansonsten musst du halt noch eine übergeordnete Trendbedingung einfügen. Wie habe ich dir ja als Bsp gezeigt.


      Quellcode

      1. dt = DateTime();
      2. shdt = ValueWhen(sh, dt);
      3. sldt = ValueWhen(sl, dt);
      4. shh = ValueWhen(sh, H);
      5. sll = ValueWhen(sl, L);
      6. upline = IIf( shdt > sldt, shh - (shh-sll) * 0.618, Null);
      7. dnline = IIf( sldt > shdt, sll + (shh-sll) * 0.618, Null);
      8. Lastup = LastValue(upline);
      9. Lastdn = LastValue(dnline);
      10. whatline = IIf(Lastup > Lastdn, Lastup, Lastdn);
      11. Colline = IIf(Lastup > Lastdn, colorBrightGreen, colorRed);
      12. Plot(whatline, "", Colline, styleDashed);
      13. Buy = H<Ref(H,-1) AND H != shh AND Lastup > Lastdn AND C > whatline;
      14. Short = L>Ref(L,-1) AND L != sll AND Lastup < Lastdn AND C < whatline;
      15. PlotShapes(shapeSmallUpTriangle*Buy,colorLime,0,Low-0.5*ATR(1));
      16. PlotShapes(shapeSmallDownTriangle*Short,colorRed,0,High+0.5*ATR(1));

      trash schrieb:

      Versuche mal das unter deinen Code dranzuhängen.


      erst mal Danke.

      die Zauberwörter sind wohl ValueWhen und LastValue.

      Aber es gibt noch kleiner Probleme :(

      zuerst ist bei Buy und Short das erste <> vertauscht, was aber schnell auffiel.

      Aber mit dem umschalten von Long und Short gibt es Probleme.

      Entweder er zeigt mir nur Short an oder nur Long.
      und dann auch noch die Falschen, bzw. die die nicht sein dürften.

      Versuche jetzt mal zu verstehen was das einzelne heist um dem Fehler auf die Schliche zu kommen.

      Ach so, es gab noch ein Problem.
      Bei einem Wert fiel mir auf das das Signal heute eigentlich Richtig war da die Bedingungen erfüllt waren, aber am Tag vorher der trend gebrochen war weil es einen Close ausserhalb der Fibo gab.
      Habe ich jetzt leider kein Bild von da ich den Wert nicht wieder, folgt aber.
      Bilder
      • Bildschirminhalt erfassen-1.gif

        31,71 kB, 1.014×876, 160 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Hi Trash, ich bin etwas verwirrt.
      In Post 319 ist beim zweiten Code sehr häufig kleines L mit 1 zu verwechseln, das geht irgendwie in der Grafik verloren. Auch ist "sh" und "sl"(2. bis 5. Spalte) bei Post 322 nirgends zugewiesen. Leider kann ich den Code momentan nicht testen, da ich hier kein AB habe, jedoch ist mir das gerade beim abschreiben aufgefallen oder habe ich was übersehen?
      moin,
      ich glaube Du denkst zu kompliziert oder zu weit.
      ich will so gesehen keine Trend-abfrage da ich mir die CHarts ja schon anschaue und nach meinem Auge entscheide.

      Mein Problem ist das ich mich sehr schwer tue wenn ich auf bestimmte Bars oder deren Punkte zugreifen muss. Sonst hätte ich da schon einiges probiert.

      Auf dem Bild sieht man das ich mir den Wert eigentlich nur 3 mal Ende Sep. Short anschauen hätte müssen und jetzt ein Long Siganl bekommen hätte.

      Grob gesagt würde ja ein Long-Trend bestehen solange es keinen Close gibt der kleiner als das 61,8% von SL zu SH ist.
      Angezeigt soll mir der Wert dann werden wenn das heutige Hoch niedriger ist als das gestrige.

      Wenn ich jetzt nichts vergessen habe, was ich aber sicherlich habe, sollte es doch einfach so aussehen.

      IF Close < Close(gestern) and Close > 61,8% FIBO (von SL zu SH) dann kaufe

      Jetzt fällt mir auch ein was ich vergessen habe und wo ich am meisten hänge.
      ICh müsste der Sache eine abfrage vor packen die mir sagt ob ich schon einen Trend habe sonst kommt nach dem nächsten BAr vielleicht ein Fehler.

      Angenommen wir bekommen heute ein Bar was höher ist als Gestern, aber nicht > dem 61,8% von Sh zu SL(wäre ja das letzte Bar auf dem Chart wenn das neue höher ist) dann würde er mir einen Short anzeigen obwohl wir uns im Long Modus befinden.

      Ich hoffe einer versteht was ich sage?
      Meine Gedanken sind wirr und meine Ausdrucksweise noch wirrer wenn ich nicht irre :(
      Bilder
      • Bildschirminhalt erfassen-2.gif

        30,01 kB, 874×759, 167 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Stelle ich mir jetzt nicht so einfach vor, das zu kodieren, dass es auch mit dem übereinstimmt, was das menschl. Auge als geeignetes Pattern ansieht. z.B ist auch die Frage, wann fängt ein Trend an, wie weit läßt man zurückschauen, um für jeden Ticker den Trend zu entscheiden.

      Als Trendbestimmer könntest du ja z.B. einen Linear Regressionchannel nehmen, dessen Trendbestimmung natürlich auch von der Anzahl der in Betracht zu ziehenedne Bars abhängt. Wenn du ihn 100 bars zurückschauen läßt, kann er einen Aufwärtstrend anzeigen, während er einen Abwärtstrend anzeigt, wenn du ihn 200 bars zurückschauen läßt. Wie weit läßt man ihn zurückschauen für die Betrachtung?

      Unten siehst du en Bsp eines solchen Auto-Channels (incl. Farbwechsel rot (abwärts) -grün (aufwärts)), der dort bspw. 120 Stundenbars (5 Tagestrend) eingestellt hat. Die Codes für die Hochs und Tiefs sowie Channel siehst du in den anderen Blldern. Wenn daa >0 im Channelcode, dann uptrend, wenn daa <0 dann downtrend. Bei den Swing Highs/Lows ist auch die Frage, ob das jeweilige ausgegebene dasjenige ist, das man auch als Betrachter als geeignetes Swing-H/L ansehen würde.
      Bilder
      • 1.png

        15,99 kB, 1.243×595, 157 mal angesehen
      • 2.png

        12,05 kB, 633×887, 144 mal angesehen
      • 3.png

        12,56 kB, 606×507, 144 mal angesehen
      Ich habe da mal nee Frage,
      würde es viel Arbeit machen einen einfachen Scanner zu bauen der nach Hintman seinen Signalen von hier Swingtrading für Berufstätige schaut ?

      Es geht mir nur darum das halt nur Werte angezeigt werden die gehandelt werden können, bzw. an Tagen wo fast nur Werte für eine Richtung sind ich auf anhieb die Anderen finde ohne mich durch 1000 Charts zu klicken.

      Vorab,
      ich konnte noch nie viel Programmieren,
      habe es jetzt schon lange nicht mehr gemacht und das meiste von dem wenigen wieder verlernt,
      mir fehlt im Moment sogar der erste Gedanke wie ich so was überhaupt angehen müsste.

      Falls trotzdem Jemand lust hat mir zu helfen wäre ich dankbar.
      (Aber nur wenn es von der Größe nachher nicht in Arbeit ausartet)

      Was ich bei mir gefunden habe ist wohl eine erkennung der Hoc/Tief Punkte die man vielleicht übernehmen kann.

      Quellcode

      1. function Swing_Low()
      2. {
      3. return ValueWhen(
      4. (L>Ref(L,-1) AND Ref(L==LowestSince(L<Ref(L,-1),L,1),-1))
      5. ,Ref(L,-1),1) ;
      6. }
      7. function Swing_High()
      8. {
      9. return ValueWhen(
      10. (H<Ref(H,-1) AND Ref(H==HighestSince(H>Ref(H,-1),H,1),-1))
      11. ,Ref(H,-1),1);
      12. }
      13. // pot. Swing Highs, Lows
      14. SH=Swing_High();
      15. SL=Swing_Low() ;
      16. SL= IIf(SL!=Ref(SL,1),Ref(SL,1),Null);
      17. SH= IIf(SH!=Ref(SH,1),Ref(SH,1),Null);
      18. SLR=Null; //reale Werte (wenn sie feststehen)
      19. SHR=Null;
      20. // inside Bars kontrollieren
      21. for ( i = 1; i < BarCount ; i++ )
      22. {
      23. if (Nz(SL[i])>0)
      24. {
      25. k=i+1;
      26. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      27. {
      28. SH[k]=0;
      29. SL[k]=0;
      30. k++ ; // inside-Bars weg
      31. }
      32. if (k==BarCount)
      33. SL[i]=Null;
      34. else
      35. {
      36. if (NOT(H[k]>H[i]) AND NOT(L[k]>L[i])) SL[i]=Null; // doch kein Swing
      37. else SLR[k]=SL[i];
      38. }
      39. }
      40. if (Nz(SH[i])>0)
      41. {
      42. k=i+1;
      43. while (k<BarCount AND (H[k]<H[i] AND L[k]>L[i]))
      44. {
      45. SH[k]=0;
      46. SL[k]=0;
      47. k++; // inside-Bars weg
      48. }
      49. if (k==BarCount)
      50. SH[i]=Null;
      51. else
      52. {
      53. if (NOT(H[k]<H[i]) AND NOT(L[k]<L[i])) SH[i]=Null;
      54. else SHR[k]=SH[i];
      55. }
      56. }
      57. }
      58. // outsidebars kontrollieren
      59. SLF=0;
      60. SHF=0;
      61. for (i=0;i<BarCount;i++)
      62. {
      63. if (SLR[i]>0 )
      64. {
      65. if (SLF==1 AND H[i-1]>H[i-2]) SHR[i]=H[i-1]; // outsidebar
      66. SLF=1;
      67. SHF=0;
      68. }
      69. if (SHR[i]>0 )
      70. {
      71. if (SHF==1 AND L[i-1]<L[i-2]) SLR[i]=L[i-1];
      72. SLF=0;
      73. SHF=1;
      74. }
      75. }
      76. SLF=0;
      77. SHF=0;
      78. dist = .41 * ATR( 10 );
      79. for (i=0;i<BarCount;i++)
      80. {
      81. if (SL[i]>0 )
      82. {
      83. if (SLF==0) PlotText( "SL",i, SL[ i ]- dist[i],colorGreen,colorYellow );
      84. else PlotText( "SL",i, SL[ i ]- dist[i],colorRed,colorYellow );
      85. SLF=1;
      86. SHF=0;
      87. }
      88. if (SH[i]>0 )
      89. {
      90. if (SHF==0) PlotText( "SH",i, SH[ i ]+ dist[i],colorGreen,colorYellow );
      91. else PlotText( "SH",i, SH[ i ]+ dist[i],colorRed,colorYellow );
      92. SLF=0;
      93. SHF=1;
      94. }
      95. }
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/
      Eine Funktion, die ich euch nicht vorenthalten will und die heute von jemandem dankenswerterweise bereitgestellt wurde. Sie deckt die Excel Funktionen KKLEINSTE und KGROESSTE in einer Funktion ab. Als Bsp unten dient die Range über zwei Bars hinweg und welche die größte, kleinste, zweitgrößte und zweitkleinste der letzten 10 Perioden waren. Den größten und kleinsten Wert erhält man auch über HHV(range, 10) (HHV -> Highest High Value) sowie die Kleinste über LLV(range, 10) (LLV -> Lowest Low Value), aber für die nächst kleineren springt dann diese erwähnte Funktion ein. Range ist, wie erwähnt, nur ein Bsp..
      Bilder
      • LARGE_SMALL.png

        9,63 kB, 1.091×272, 143 mal angesehen