Wie programmiert man? - Seite 147

 

Problem beim letzten Handel

Ich möchte vermeiden, einen Handel einzugehen, wenn ein Handel in der Richtung, die ich in Betracht ziehe, gerade unrentabel geschlossen wurde.

Wie bringe ich meinen EA dazu, den aktuellen und den vorherigen Balken zu überprüfen, um festzustellen, ob ein unrentabler Handel geschlossen wurde und ob er long oder short war?

(Wenn er in die entgegengesetzte Richtung profitabel geschlossen wurde, wäre das in Ordnung).

Zeigen Sie den Code, wenn Sie können.

 
Big Be:
Ich möchte vermeiden, einen Handel einzugehen, wenn ein Handel gerade unrentabel in der Richtung geschlossen wurde, die ich in Betracht ziehe.

Wie bringe ich meinen EA dazu, den aktuellen und den vorherigen Balken zu überprüfen, um zu sehen, ob ein unrentabler Handel geschlossen wurde und ob er long oder short war?

(Wenn er in die entgegengesetzte Richtung profitabel geschlossen wurde, wäre das in Ordnung).

Zeigen Sie den Code, wenn Sie können.

Dazu müssen Sie die Historie durchsuchen. Überprüfen Sie auch die Schlusszeit des Auftrags, um zu sehen, ob sie in Ihren Ausschlussbereich fällt. Etwa wie folgt...

void CheckOrderHistory(){

// orders history is most recent at the bottom

// zero based so OrdersHistoryTotal()-1

for(int i=OrdersHistoryTotal()-1; i > -1;i--){

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) break;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC_NUMBER && (OrderType() == OP_SELL || OrderType() == OP_BUY)){

switch(OrderType()){

case OP_BUY:

// do something here...

return(0);

break;

case OP_SELL:

// do something here

return(0);

break;

default:

break;

}

}

}

}

 

Skript anfordern, das die letzten beiden Aufträge schließt

Hallo, ich habe mich gefragt, ob ihr mir bei der Erstellung eines Skripts helfen könntet, das es ermöglicht, die letzten beiden entgegengesetzten Ordertypen in Abhängigkeit von den aktuellen Orders zu schließen.

Z.B. wenn der aktuelle OP Verkauf ist, also wenn das Skript ausgeführt wird, dann wird das Skript die letzten zwei Kaufpositionen schließen, die historisch gemacht wurden, entsprechend der Zeit, die sie geöffnet wurden.

Ich bin für jede Hilfe dankbar, die ich bekommen kann, danke.

 

Gibt es dazu Neuigkeiten?

Dieser Drawdown-Wert ist eine Schlüsselzahl!

Hatten Sie Erfolg mit einem Skript / EA, das diesen Wert berechnet und speichert?

@all

Die Frage ist nicht, ob der Handel profitabel war oder nicht.

Die Frage ist der maximale negative Betrag, der während des Trades gegen uns aufgelaufen ist. Das ist der Drawdown.

Ich bin auf der Suche nach einem solchen EA/Skript.

 

Was ist der Unterschied? zwischen

val=Hoch;

und

val=iHighest(NULL,PERIOD_H1,MODE_HIGH,20,4);

Wird sich der Wert bei jedem neuen Balken unterscheiden?

 
fercan:
Was ist der Unterschied? zwischen

val=Hoch;

und

val=iHighest(NULL,PERIOD_H1,MODE_HIGH,20,4);

Wird der Wert bei jedem neuen Balken anders sein?

iHighest - es ist die Nummer des Balkens mit dem höchsten Preis

High - der Höchstpreis dieses Balkens

 
Roger09:
iHighest - es ist die Nummer des Balkens mit dem höchsten Preis High - der höchste Preis dieses Balkens

Ausgehend von meinem Beispiel, was ist der Unterschied zwischen den 2?

 
fercan:
Ausgehend von meinem Beispiel, was ist der Unterschied zwischen den beiden?

Wie oben erläutert, gibt iHighest die Verschiebung des Balkens mit dem höchsten Wert zurück, und High gibt den tatsächlichen Höchstwert eines Balkens an.

Wenn also der aktuelle Balken die Verschiebung 0 hat und Sie den iHighest der letzten 13 Balken abfragen, kann das Ergebnis z.B. 9 sein, was bedeutet, dass der 10. zurückliegende Balken den höchsten Wert hatte. Wenn Sie nun wissen wollen, wie hoch der Wert tatsächlich war, müssen Sie die Funktion High verwenden.

Viel Glück!

Lux

 
luxinterior:
Wie oben erklärt, gibt iHighest die Verschiebung des Balkens mit dem höchsten Wert zurück und High gibt den tatsächlichen Höchstwert eines Balkens an.

Wenn also der aktuelle Balken der Shift 0 ist und Sie den iHighest der letzten 13 Balken abfragen, kann das Ergebnis z.B. 9 sein, was bedeutet, dass der 10. zurückliegende Balken den höchsten Wert hatte. Wenn Sie nun wissen wollen, wie hoch der Wert war, müssen Sie die Funktion High verwenden.

Viel Glück!

Lux

ok danke lux...

 

Long- und Short-Positionen insgesamt

Hallo zusammen,

Kann mir jemand sagen, wie ich programmatisch die Gesamtzahl der offenen Long-Positionen und die Gesamtzahl der offenen Short-Positionen im MT4 ermitteln kann? Ich möchte nicht die Gesamtzahl aller offenen Positionen zusammen. Meine Anforderung ist, dass ich die gleiche Anzahl von Short- und Long-Positionen gleichzeitig offen halte:

Angenommen, ich habe eine benutzerdefinierte Anzahl von Geschäften, die gleichzeitig offen sind, mit einer gleichen Anzahl von Long- und Short-Positionen. Einige Short- und Long-Positionen werden geschlossen. Ich muss eine gleiche Anzahl von Short- und Long-Positionen bis zum benutzerdefinierten Limit wieder öffnen.

Vielen Dank im Voraus