Wie programmiert man? - Seite 133

 
bkr1969:
Ich kann die magische Zahl nicht verwenden, weil ich denselben EA auf 8 verschiedenen Paaren laufen lasse. Wo ist mein ursprünglicher Beitrag, damit ich ihn verfolgen kann?

Wenn ein Beitrag aus irgendeinem Grund verschoben wird, z.B. um die Ordnung im Forum aufrechtzuerhalten.

Deine Beiträge wurden verschoben (in diesen Thread), aber du konntest ihnen leicht folgen, weil sie einen Tag der Weiterleitung haben.

Vielleicht brauchen Sie ein wenig Hilfe, um Ihre eigenen Beiträge zu finden.

Wenn Sie sich verloren fühlen, ist das mit vBulletin überhaupt nicht schwierig. Klicken Sie einfach auf Ihr eigenes Profil, "Alle Beiträge von...".

 

Instant Order vs. Market Orders

Hallo liebe Programmierer,

Ich habe von einem Freund die Information erhalten, dass ein EA mit "Instant Orders" auf den MT4-Plattformen, die keinen Dealing Desk haben, nicht funktionieren wird und dieser EA auf "Market Orders" geändert werden muss. Stimmt das? Kann das jemand bestätigen?

Vielen Dank!

LF

 

Das ist das Gleiche.

Lux

 
luxinterior:
Das ist das Gleiche, Lux.

Sind sie das? Hmmm...Meinem Freund wurde vom Broker geraten, genau das zu tun; von "Instant" zu "Market" zu wechseln.

Hat sonst noch jemand eine andere Meinung?

LF

 

Dank an FerruFx

FerruFx:
Eine Idee wäre, den Handel nach der ersten Order des Tages nicht zuzulassen. Nach der Funktion ordersend() ein "trade = false;" einfügen.

Dann setzen Sie die Handelszulage an jedem neuen Tag zurück:

if(timeprev!=iTime(Symbol(),PERIOD_D1,0)) { //---- Dies ist ein neuer Tag

timeprev = iTime(Symbol(),PERIOD_D1,0);

trade = true; }

Wenn Sie dann Ihr Signal überprüfen:

if(trade) { Ihre Handelsbedingung hier }

Nur ein Beispiel ...

FerruFx

Danke FerruFx. Ich werde dies codieren und hoffe, dass es jetzt läuft.

fxbeginner

 
fxbeginner:
Danke FerruFx. Ich werde dies codieren und hoffe, dass es jetzt läuft. fxbeginner

Gern geschehen.

FerruFx

 

Problem mit dem Kontoverlauf

Hallo zusammen,

Ich habe einen EA programmiert, der Limit-Orders anstelle von Market-Orders verwendet. Immer wenn sich ein gleitender Durchschnitt ändert, verwendet er die OrderModify-Funktion, um den Eröffnungspreis der Order zu ändern.

Das funktioniert gut, aber jedes Mal, wenn die Order angepasst wird (ziemlich häufig) hat die Account History einen neuen Eintrag, der besagt, dass die Order geschlossen wurde. Dadurch werden die tatsächlichen Geschäfte fast ausgeblendet und die Berichte sind sehr schwer zu lesen. Gibt es eine Möglichkeit, die Berichte oder die Kontohistorie so anzupassen, dass nur die tatsächlich getätigten Geschäfte und nicht die "geänderten" Aufträge angezeigt werden?

Danke für jede Antwort

 

Kauf bei Eröffnung des nächsten Taktes

Hallo zusammen,

Wäre jemand in der Lage, einige Beispiel-Code, wie dies zu tun? Ich muss prüfen, ob der Balken vollständig ist, und wenn ja, dann den Auftrag erteilen.

Dies ist sehr zu schätzen.

 
callan300:
Hallo zusammen,

Könnte mir jemand einen Beispielcode zur Verfügung stellen, wie man das macht? Ich muss prüfen, ob der Balken vollständig ist und wenn ja, dann die Bestellung aufgeben.

Dies ist sehr willkommen.

Seine sehr einfach. Tun Sie einfach etwas wie:

if (iBars>Bars){

Der Code wird ausgeführt, wenn ein neuer Balken eintrifft;

Balken=iBalken;

}

 
InTrance:
Es ist sehr einfach. Machen Sie einfach etwas wie:

wenn (iBars>Bars){

Code, der ausgeführt wird, wenn ein neuer Balken eintrifft;

Bars=iBars;

}

InTrance

Wie Sie wissen, sind sowohl 'Bars' als auch 'iBars' Schlüsselwörter in MT (iBars() ist eine eingebaute Funktion) und sollten nicht in der angegebenen Form verwendet werden, da dies zu einem Fehler führen würde, da Sie das Schlüsselwort 'Bars' nicht auf einen anderen Wert setzen können, und die Verwendung von iBars als verifizierbarer Name wäre ebenfalls verwirrend. Ich verstehe, worauf Sie hinauswollen, aber jemand, der sich nicht gut mit der MQ-Sprache auskennt, wird durch die Wahl der variablen Namen in die Irre geführt, insbesondere wenn er sie in seinen Code übernimmt.

Keit