Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 926

 

Guten Abend zusammen!

Es ist eine Frage aufgetaucht, über die ich bisher nicht wirklich nachgedacht habe. Was ist eine Zecke? Wie wird sie gebildet? Wann ist das ausreichende Volumen an Geschäften erreicht? Es kann sich nicht um einen Mindestpreis oder einen Zeitschritt handeln, da die Ticks nicht gleichmäßig über die Zeit verteilt sind und frühere Geld-Brief-Werte wiederholen können.

Und wie funktioniert der Handel in MT? Wir fragen zum Beispiel nach dem Ask-Kurs, führen die Berechnungen durch und senden einen Kaufauftrag. Wird er zum erhaltenen Ask-Kurs oder zum Preis des nächsten Ticks ausgeführt (unter der Annahme, dass alle Berechnungen durchgeführt werden, bevor wir Informationen über einen neuen Tick erhalten)? Das heißt, gibt es eine bestimmte Dauer des Tickens und wenn ja, wovon hängt sie ab?

 
AlexeyVik:

Je nach Anzahl der Zeilen deklarieren Sie Indikatorpuffer und schreiben gleichzeitig einen Wert in einen der Puffer, in dem die Linie gezeichnet wird. Und dann lesen Sie diesen Wert aus dem Expert Advisor durch iCustom().

Sie besteht aus zwei Worten.

Wussten Sie, dass Sie beim Zeichnen der Linie die Start- und Endzeit sowie den Preis angeben. Für den Puffer muss eine Schleife über alle Balken gezogen werden. Sie sollten zuerst den Code durchsehen und dann Ratschläge geben. Andernfalls ist Ihr Rat nutzlos 0......
 
nikelodeon:
Wussten Sie, dass Sie beim Zeichnen der Linie Start- und Endzeit und entsprechend den Preis angeben? Der Puffer sollte in einer Schleife durch alle Takte laufen. Sie hätten sich zuerst den Code ansehen und dann Ratschläge geben sollen. Andernfalls ist Ihr Rat nutzlos 0......

Sie müssen den Preis in den Puffer eingeben.

Und die Schleife wird nur benötigt, um sicherzustellen, dass die Messwerte für alle Balken gelten. Um genau zu sein, ist es nur für die Schönheit, und in der Regel arbeitet jeder mit den Werten der letzten beiden Takte, 0 und 1.

Wenn ein Indikator nicht die Verarbeitung aller Balken enthält, scheint es, dass er nicht notwendig ist.

Ich bin genauso faul wie viele andere, den Code zu begreifen, vielleicht sogar fauler als alle anderen zusammen, und Sie raten mir, mir den Code anzusehen... Was brauche ich? fragte ich kurz und bündig. Wie auch immer die Frage lautet, so lautet die Antwort. Und wenn mein Rat nutzlos ist, bedeutet das, dass ich den falschen Mann berate.

 
AlexeyVik:

Es ist der Preis, der in den Puffer gelegt werden muss.

Und die Schleife wird nur benötigt, um sicherzustellen, dass die Messwerte für alle Balken gelten. Um genau zu sein, ist es nur für die Schönheit, und in der Regel arbeitet jeder mit den Werten der letzten beiden Takte, 0 und 1.

Wenn Ihr Indikator nicht die Verarbeitung aller Balken enthält, brauchen Sie ihn wahrscheinlich nicht.

Ich bin genauso faul wie die meisten Leute, mich durch diesen Code zu wühlen, und vielleicht sogar fauler als alle anderen zusammen, und Sie raten mir, mir den Code anzusehen... Was brauche ich? fragte ich kurz und bündig. Wie auch immer die Frage lautet, so lautet die Antwort. Und wenn mein Rat nutzlos ist, bedeutet das, dass ich den falschen Mann berate.

Ich will das eigentlich nicht, obwohl ich kein sehr guter Programmierer bin, aber ich schreibe Code, egal wie hässlich er sein mag. Und das ist der Kern der Frage. WIE man eine Schleife für den Puffer einrichtet, um die Ebenen der Optionen in der Historie anzuzeigen. Damit können wir dann mit diesem Verlauf arbeiten, die Hypothese überprüfen und die Daten speichern. Wir müssen einen kompetenten Kreislauf organisieren. Ich denke, hier wird die Aufgabe interessant...... Aber mir fallen keine Ideen ein.... wie man es macht. Ich denke, es ist notwendig, sich an Daten zu binden und irgendwie von ihnen zu tanzen. Aber es gibt ein Problem mit dem Zeitrahmen. Im Allgemeinen erweist sich dies als ein ziemliches Problem .... Ich würde gerne eine Stellungnahme zu weiteren Details hören. Und die Tatsache, dass Sie in den Puffer den Preis!!!! schreiben müssen Ich bin nicht so dumm, glauben Sie mir, dass ich es nicht verstehe.....

 
Ich denke, wir sollten bis Anfang der Woche warten und sehen, ob die Profis vom Land zurückkommen und anfangen zu raten.....
 
nikelodeon:

Ich bin eigentlich kein Programmierer, aber ich schreibe trotzdem Code, egal wie schief er ist. Und genau das ist der Kern der Frage. WIE man eine Schleife für den Puffer einrichtet, um die Ebenen der Optionen in der Historie anzuzeigen. Damit können wir dann mit diesem Verlauf arbeiten, die Hypothese überprüfen und die Daten speichern. Wir müssen einen kompetenten Kreislauf organisieren. Ich denke, hier wird die Aufgabe interessant...... Aber mir fallen keine Ideen ein.... wie man es macht. Ich denke, es ist notwendig, sich an Daten zu binden und irgendwie von ihnen zu tanzen. Aber es gibt ein Problem mit dem Zeitrahmen. Im Allgemeinen erweist sich dies als ein ziemliches Problem .... Ich würde gerne eine Stellungnahme zu weiteren Details hören. Und die Tatsache, dass Sie in den Puffer den Preis!!!! schreiben müssen Ich bin nicht so dumm, glauben Sie mir, dass ich es nicht verstehe.....

Die gesamte Schleife ist also vorhanden und korrekt organisiert, und die Puffer füllen sich.

 for(i=limit; i>=0; i--){  
      if ((Close[i+5]>Level1)&&(Open[i+5]>Level1)&&(Close[i]>Level1)&&(Open[i]>Level1)&&(Close[i+1]>Level1)&&(Open[i+1]>Level1)&&(Close[i+2]>Level1)&&(Open[i+2]>Level1)&&(Close[i+3]>Level1)&&(Open[i+3]>Level1)&&(Close[i+4]>Level1)&&(Open[i+4]>Level1)) qLevel1=Level1+EnterUP;  
      if ((Close[i+5]<Level1)&&(Open[i+5]<Level1)&&(Close[i]<Level1)&&(Open[i]<Level1)&&(Close[i+1]<Level1)&&(Open[i+1]<Level1)&&(Close[i+2]<Level1)&&(Open[i+2]<Level1)&&(Close[i+3]<Level1)&&(Open[i+3]<Level1)&&(Close[i+4]<Level1)&&(Open[i+4]<Level1)) qLevel1=Level1-EnterDw;  
      if ((Close[i+5]>Level2)&&(Open[i+5]>Level2)&&(Close[i]>Level2)&&(Open[i]>Level2)&&(Close[i+1]>Level2)&&(Open[i+1]>Level2)&&(Close[i+2]>Level2)&&(Open[i+2]>Level2)&&(Close[i+3]>Level2)&&(Open[i+3]>Level2)&&(Close[i+4]>Level2)&&(Open[i+4]>Level2)) qLevel2=Level2+EnterUP;  
      if ((Close[i+5]<Level2)&&(Open[i+5]<Level2)&&(Close[i]<Level2)&&(Open[i]<Level2)&&(Close[i+1]<Level2)&&(Open[i+1]<Level2)&&(Close[i+2]<Level2)&&(Open[i+2]<Level2)&&(Close[i+3]<Level2)&&(Open[i+3]<Level2)&&(Close[i+4]<Level2)&&(Open[i+4]<Level2)) qLevel2=Level2-EnterDw;  
      if ((Close[i+5]>Level3)&&(Open[i+5]>Level3)&&(Close[i]>Level3)&&(Open[i]>Level3)&&(Close[i+1]>Level3)&&(Open[i+1]>Level3)&&(Close[i+2]>Level3)&&(Open[i+2]>Level3)&&(Close[i+3]>Level3)&&(Open[i+3]>Level3)&&(Close[i+4]>Level3)&&(Open[i+4]>Level3)) qLevel3=Level3+EnterUP;  
      if ((Close[i+5]<Level3)&&(Open[i+5]<Level3)&&(Close[i]<Level3)&&(Open[i]<Level3)&&(Close[i+1]<Level3)&&(Open[i+1]<Level3)&&(Close[i+2]<Level3)&&(Open[i+2]<Level3)&&(Close[i+3]<Level3)&&(Open[i+3]<Level3)&&(Close[i+4]<Level3)&&(Open[i+4]<Level3)) qLevel3=Level3-EnterDw;  
      if ((Close[i+5]>Level4)&&(Open[i+5]>Level4)&&(Close[i]>Level4)&&(Open[i]>Level4)&&(Close[i+1]>Level4)&&(Open[i+1]>Level4)&&(Close[i+2]>Level4)&&(Open[i+2]>Level4)&&(Close[i+3]>Level4)&&(Open[i+3]>Level4)&&(Close[i+4]>Level4)&&(Open[i+4]>Level4)) qLevel4=Level4+EnterUP;  
      if ((Close[i+5]<Level4)&&(Open[i+5]<Level4)&&(Close[i]<Level4)&&(Open[i]<Level4)&&(Close[i+1]<Level4)&&(Open[i+1]<Level4)&&(Close[i+2]<Level4)&&(Open[i+2]<Level4)&&(Close[i+3]<Level4)&&(Open[i+3]<Level4)&&(Close[i+4]<Level4)&&(Open[i+4]<Level4)) qLevel4=Level4-EnterDw;  
      if ((Close[i+5]>Level5)&&(Open[i+5]>Level5)&&(Close[i]>Level5)&&(Open[i]>Level5)&&(Close[i+1]>Level5)&&(Open[i+1]>Level5)&&(Close[i+2]>Level5)&&(Open[i+2]>Level5)&&(Close[i+3]>Level5)&&(Open[i+3]>Level5)&&(Close[i+4]>Level5)&&(Open[i+4]>Level5)) qLevel5=Level5+EnterUP;  
      if ((Close[i+5]<Level5)&&(Open[i+5]<Level5)&&(Close[i]<Level5)&&(Open[i]<Level5)&&(Close[i+1]<Level5)&&(Open[i+1]<Level5)&&(Close[i+2]<Level5)&&(Open[i+2]<Level5)&&(Close[i+3]<Level5)&&(Open[i+3]<Level5)&&(Close[i+4]<Level5)&&(Open[i+4]<Level5)) qLevel5=Level5-EnterDw;  
      if ((Close[i+5]>Level6)&&(Open[i+5]>Level6)&&(Close[i]>Level6)&&(Open[i]>Level6)&&(Close[i+1]>Level6)&&(Open[i+1]>Level6)&&(Close[i+2]>Level6)&&(Open[i+2]>Level6)&&(Close[i+3]>Level6)&&(Open[i+3]>Level6)&&(Close[i+4]>Level6)&&(Open[i+4]>Level6)) qLevel6=Level6+EnterUP;  
      if ((Close[i+5]<Level6)&&(Open[i+5]<Level6)&&(Close[i]<Level6)&&(Open[i]<Level6)&&(Close[i+1]<Level6)&&(Open[i+1]<Level6)&&(Close[i+2]<Level6)&&(Open[i+2]<Level6)&&(Close[i+3]<Level6)&&(Open[i+3]<Level6)&&(Close[i+4]<Level6)&&(Open[i+4]<Level6)) qLevel6=Level6-EnterDw;  
      if ((Close[i+5]>Level7)&&(Open[i+5]>Level7)&&(Close[i]>Level7)&&(Open[i]>Level7)&&(Close[i+1]>Level7)&&(Open[i+1]>Level7)&&(Close[i+2]>Level7)&&(Open[i+2]>Level7)&&(Close[i+3]>Level7)&&(Open[i+3]>Level7)&&(Close[i+4]>Level7)&&(Open[i+4]>Level7)) qLevel7=Level7+EnterUP;  
      if ((Close[i+5]<Level7)&&(Open[i+5]<Level7)&&(Close[i]<Level7)&&(Open[i]<Level7)&&(Close[i+1]<Level7)&&(Open[i+1]<Level7)&&(Close[i+2]<Level7)&&(Open[i+2]<Level7)&&(Close[i+3]<Level7)&&(Open[i+3]<Level7)&&(Close[i+4]<Level7)&&(Open[i+4]<Level7)) qLevel7=Level7-EnterDw;  
      if ((Close[i+5]>Level8)&&(Open[i+5]>Level8)&&(Close[i]>Level8)&&(Open[i]>Level8)&&(Close[i+1]>Level8)&&(Open[i+1]>Level8)&&(Close[i+2]>Level8)&&(Open[i+2]>Level8)&&(Close[i+3]>Level8)&&(Open[i+3]>Level8)&&(Close[i+4]>Level8)&&(Open[i+4]>Level8)) qLevel8=Level8+EnterUP;  
      if ((Close[i+5]<Level8)&&(Open[i+5]<Level8)&&(Close[i]<Level8)&&(Open[i]<Level8)&&(Close[i+1]<Level8)&&(Open[i+1]<Level8)&&(Close[i+2]<Level8)&&(Open[i+2]<Level8)&&(Close[i+3]<Level8)&&(Open[i+3]<Level8)&&(Close[i+4]<Level8)&&(Open[i+4]<Level8)) qLevel8=Level8-EnterDw;  
      if ((Close[i+5]>Level9)&&(Open[i+5]>Level9)&&(Close[i]>Level9)&&(Open[i]>Level9)&&(Close[i+1]>Level9)&&(Open[i+1]>Level9)&&(Close[i+2]>Level9)&&(Open[i+2]>Level9)&&(Close[i+3]>Level9)&&(Open[i+3]>Level9)&&(Close[i+4]>Level9)&&(Open[i+4]>Level9)) qLevel9=Level9+EnterUP;  
      if ((Close[i+5]<Level9)&&(Open[i+5]<Level9)&&(Close[i]<Level9)&&(Open[i]<Level9)&&(Close[i+1]<Level9)&&(Open[i+1]<Level9)&&(Close[i+2]<Level9)&&(Open[i+2]<Level9)&&(Close[i+3]<Level9)&&(Open[i+3]<Level9)&&(Close[i+4]<Level9)&&(Open[i+4]<Level9)) qLevel9=Level9-EnterDw;  
      if ((Close[i+5]>Level10)&&(Open[i+5]>Level10)&&(Close[i]>Level10)&&(Open[i]>Level10)&&(Close[i+1]>Level10)&&(Open[i+1]>Level10)&&(Close[i+2]>Level10)&&(Open[i+2]>Level10)&&(Close[i+3]>Level10)&&(Open[i+3]>Level10)&&(Close[i+4]>Level10)&&(Open[i+4]>Level10)) qLevel10=Level10+EnterUP;  
      if ((Close[i+5]<Level10)&&(Open[i+5]<Level10)&&(Close[i]<Level10)&&(Open[i]<Level10)&&(Close[i+1]<Level10)&&(Open[i+1]<Level10)&&(Close[i+2]<Level10)&&(Open[i+2]<Level10)&&(Close[i+3]<Level10)&&(Open[i+3]<Level10)&&(Close[i+4]<Level10)&&(Open[i+4]<Level10)) qLevel10=Level10-EnterDw;  
      
Buffer1[i]=qLevel1;      
Buffer2[i]=qLevel2;      
Buffer3[i]=qLevel3;      
Buffer4[i]=qLevel4;      
Buffer5[i]=qLevel5;      
Buffer6[i]=qLevel6;      
Buffer7[i]=qLevel7;      
Buffer8[i]=qLevel8;      
Buffer9[i]=qLevel9;           
Buffer10[i]=qLevel10;  
//Buffer11[i]=LevelsVerticalShift;
 }

Aber es muss eine Datei zu diesem Indikator geben. Was darin enthalten sein soll, ist nicht bekannt.

 
nikelodeon:

Speichern Sie die Werte der Trendlinien (horizontale Segmente) in Terminal-Variablen, die für jede Linie die Form von Array-Elementen annehmen können (wenn Sie sie in einer Schleife lesen wollen): {Zeile[0][0], Zeile[0][1], Zeile[0][2]..}, {Zeile[1][0], Zeile[1][1], Zeile[1][2]..}, usw. Eine weitere Termvariable "Status 0/1" wird benötigt, um einem anderen Indikator/Berater anzuzeigen, wann die Parameter einer neuen Zeile gelesen werden sollen, und dann "Status" in die Ausgangsposition zurückzubringen. Wenn die Zeilen nicht alle auf einmal gelesen werden, sondern nach und nach eintreffen, reicht ein Satz Line[][].
 
AlexeyVik:

Das war's. Die gesamte Schleife ist korrekt aufgebaut und die Puffer füllen sich.

Aber es muss eine Datei zu diesem Indikator geben. Was darin enthalten sein soll, ist nicht bekannt.

Der so schreckliche Dinge tut. Kann der Autor nicht darüber nachdenken?
 
Vinin:
Wer macht solche schrecklichen Dinge? Kann der Autor nicht darüber nachdenken?
Und was ist mit mir? Ich bin nicht der Autor... Ich habe nicht einmal ein Getränk mit ihm getrunken.
 
DD! Ich kann kein einziges Fenster im Terminal öffnen. Sie ist bis ins Mark gefroren. Ein Indikator bleibt dort hängen und erlaubt es nicht, das Fenster zu öffnen. Bitte teilen Sie mir mit, wie ich sehen kann, welche Indikatoren in diesem Diagramm gesetzt sind. Ich möchte ihn als Basis für meinen Handelsroboter verwenden.