Fragen Sie! - Seite 58

 

Die Stoploss- und Takeprofit-Parameter für OrderSend sind "Preiswerte" und keine Pips. Versuchen Sie stattdessen "Ask-stoploss*Point" und "Ask+takeprofit*Point" zu verwenden; wenn es um das Schreiben von EAs geht, ist nicht nur der Trend Ihr Freund, sondern auch das Handbuch ;-)

 
ralph.ronnquist:
Die Stoploss- und Takeprofit-Parameter für OrderSend sind "Preiswerte" und keine Pips. Versuchen Sie stattdessen "Ask-stoploss*Point" und "Ask+takeprofit*Point" zu verwenden; wenn es um das Schreiben von EAs geht, ist nicht nur der Trend Ihr Freund, sondern auch das Handbuch ;-)

Ralph,

vielen Dank für Ihre geduldigen und höflichen Antworten. Ich weiß, dass die Fehler wirklich dumm waren. Als Anfänger wusste ich nicht, wo ich anfangen sollte, als der EA die Prüfung durch den Compiler bestand und der Strategietester sagte, dass er erfolgreich geladen wurde, aber keine Ergebnisse lieferte.

Bevor ich meine Anfrage abschickte, hatte ich etwas ausprobiert, das dem Handbuch sehr ähnlich war (aber offensichtlich nicht korrekt). Diese frühere Version wurde vom Compiler akzeptiert, aber der Strategietester lehnte die OrderSend-Syntax ab. Also schaute ich mir die OrderSend-Anweisung im EA an, an dem ich einige Modifikationen vorgenommen hatte, um die Syntax zu sehen. Daraus habe ich die fehlerhafte Syntax abgeleitet. Was ich jetzt verstehe, ist, dass der Autor dieses EA "stoploss" und "takeprofit" mit der korrekten Syntax vor der Ausführung der OrderSend-Anweisung definiert hat.

Ich habe einige Programmiererfahrung mit Fortran und Basic, aber die Sprache MQL4 ist im Moment eine Herausforderung für mich.

Nochmals vielen Dank für Ihre prägnanten und höflichen Antworten. Sie waren sehr hilfreich.

Floß

BTY Jetzt, wo der EA läuft, kann ich sehen, dass ich auch ein paar Logikfehler im EA habe, aber die werde ich jetzt herausfinden, nachdem ich die Syntaxprobleme hinter mir habe.

 

brauche Hilfe bei EA-Coverion

Hallo zusammen,

ich versuche, einen Straddle-EA in ein Skript zu konvertieren. Kann mir jemand eine Idee geben, wie ich das anstellen soll?

Vielen Dank im Voraus

 

eine Art Skript, das den Handel überwacht, bis es einen voreingestellten Gewinn erreicht, so dass, sobald der Handel beginnt nach unten nach Überschreiten der voreingestellten Gewinn muss es alle Geschäfte auf diese Währung zu schließen. Aber wenn der Gewinn über den voreingestellten Wert hinausgeht, sollte es den voreingestellten Betrag und nicht den einzelnen Handel verfolgen.

 

Ich brauche ein Skript, das zwei Preise miteinander vergleicht und herausfindet, welcher höher ist.

zum Beispiel:

int a1, a2;

a1=1.1111;

a2=1.1112;

if(a1<a2)

{

Print("OK");

}

aber das geht nicht, weil der Vergleich nur für die Zahlen vor dem Punkt gilt.

Ich muss die ganze Zahl mit der Dezimalzahl vergleichen.

Ich hoffe, Sie verstehen, was ich meine, und helfen mir.

 

Ersetzen Sie "int" durch "double" wie folgt

double a1, a2;

Dokumentation über Typen lesen.

 

Ohhh, das hatte ich ganz vergessen.

Vielen Dank für Ihre Hilfe ...

 

Warum das Ergebnis 0 ist.

iMA(NULL,0,10,-3,MODE_EMA,PRICE_HIGH,1);

Danke.

 

Wie kann man die Ausführung der Funktion start() erzwingen?

Hallo,

In einem EA wird die start()-Funktion nur ausgeführt, wenn sich der Paarpreis des angehängten Charts ändert.

Ich würde gerne wissen, ob sie ausgeführt werden kann, ohne die Preisänderung abzuwarten.

Vielen Dank im Voraus.

-erkao

 

Wenn Sie wollen, dass es einmal läuft.

können Sie die Funktion init() verwenden, die beim Programmstart ausgeführt wird.

Danke!