Ich habe das erste Problem behoben (ich habe einen Fehler gemacht , danke diostar)
// i shoud put if(OrdersTotal()>0){ if ( ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID)) ) { SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1, "if ( ( (lastOpenedOpenPriceBuy()-0.0030>MarketInfo(EURUSD,MODE_BID) ) )" ) ;} }
für die zweite:
if ( ((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell() )>=0.0060) &&( lastClosedClosePrice()<beforelastClosedClosePrice()) ) { CLOSESHORT("EURUSD") ;} Ich weiß nicht, was ich tun soll: zu Ihrer Information die CLOSESHORT Funktion ist:
int CLOSESHORT(string symbol_c) { CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort); CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort); return(0); }
RaptorUK: Du bist nicht der Einzige ... hör auf, deine Zeit zu verschwenden.
Weißt du, dieser Thread ist wahrscheinlich einer der längsten. Und nach 6 Seiten, verwirrt. Nein, ich sage immer noch, dass das keine "Verschwendung" ist.
(Es bedeutet einfach, dass es Zeit für eine neue Richtung, ein neues Leben, einen neuen Anfang ist. Für jeden.)
Ich habe auch Zeit auf diesen Thread verwendet, ich habe Code hinzugefügt und Vorschläge gemacht. ... wenn man das Pferd zum Wasser schleppt, es mit Heu aromatisiert und ein paar Äpfel hinzufügt und das Pferd trotzdem nicht trinken will, ist es an der Zeit zu erkennen, dass das Pferd nicht trinken will ... es will einen intravenösen Tropf für seine Wasseraufnahme ... an diesem Punkt ist das Pferd, soweit es mich betrifft, auf sich allein gestellt.
RaptorUK: Ich habe auch Zeit auf diesen Thread verwendet, ich habe Code hinzugefügt und Vorschläge gemacht . . wenn man das Pferd zum Wasser schleppt, es mit Heu würzt und ein paar Äpfel hinzufügt und das Pferd immer noch nicht trinken will, ist es an der Zeit zu erkennen, dass das Pferd nicht trinken will ... es will einen intravenösen Tropf für seine Wasseraufnahme ... an diesem Punkt ist das Pferd, soweit es mich betrifft, auf sich allein gestellt.
Ich verstehe. Die endgültige Belohnung mag nicht so "bestimmt" sein, wie das Pferd zu ernähren, aber die Belohnung für diejenigen, die es versucht haben, muss etwas anderes sein.
das einzige Problem kommt mit &&(lastClosedClosePrice()< beforelastClosedClosePrice())
Nehmen wir ein Beispiel:
Wenn Auftrag Nr. 5 geöffnet und verkauft wurde, dann Auftrag Nr. 6 geöffnet und geschlossen wurde, dass der Auftrag zum Kauf bestimmt war, dann wurde Auftrag Nr. 7 geöffnet und zum Kauf bestimmt.
Der Fall wird sein (lastClosedClosePrice()< beforelastClosedClosePrice())
( Order Nummer 6 < Order Nummer 4 ) // da Order Nummer 5 noch nicht geschlossen wurde.
Was soll ich tun? Ich weiß es nicht. Ich habe versucht, if(OrdersHistoryTotal()>0){dannalle Bedingungen einzufügen, aber es geht nicht }
double lastOpenedOpenPriceBuy()
{
double ret = 0;
datetime time=0;
for(int i=0; i<OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderOpenTime()>time) {
time = OrderOpenTime();
ret = OrderOpenPrice();
}
}
return(ret);
}
double lastOpenedOpenPriceSell()
{
double ret = 0;
datetime time=0;
for(int i=0; i<OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderOpenTime()>time) {
time = OrderOpenTime();
ret = OrderOpenPrice();
}
}
return(ret);
}
double lastClosedClosePrice()
{
double ret = 0;
datetime time = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()<2 && OrderCloseTime()>time) {
time = OrderCloseTime();
ret = OrderClosePrice();
}
}
return(ret);
}
double beforelastClosedClosePrice()
{
double ret = 0;
double ret2 = 0;
datetime time = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()<2 && OrderCloseTime()>time) {
time = OrderCloseTime();
ret = ret2;
ret2 = OrderClosePrice();
}
}
if(ret==0) {
ret = ret2;
}
return(ret);
}
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ich habe das erste Problem behoben (ich habe einen Fehler gemacht , danke diostar)
// i shoud put if(OrdersTotal()>0){
if ( ((lastOpenedOpenPriceBuy()-0.0030)>MarketInfo("EURUSD",MODE_BID)) )
{ SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1, "if ( ( (lastOpenedOpenPriceBuy()-0.0030>MarketInfo(EURUSD,MODE_BID) ) )" ) ;}
}
für die zweite:
if ( ((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell() )>=0.0060) &&( lastClosedClosePrice()<beforelastClosedClosePrice()) )
{ CLOSESHORT("EURUSD") ;}
Ich weiß nicht, was ich tun soll:
zu Ihrer Information die CLOSESHORT Funktion ist:
int CLOSESHORT(string symbol_c) {
CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
return(0);
}
Dank
Ich bin jetzt verwirrt.
Beziehen Sie sich auf die erste Funktion lastOpenedOpenPriceBuy()
Ich kann mich im Moment nur damit beschäftigen. Also, welche Korrekturen hast du genau vorgenommen. Wie sieht der Code jetzt aus?
Ich bin jetzt verwirrt.
Du bist nicht der Einzige ... hör auf, deine Zeit zu verschwenden.
Weißt du, dieser Thread ist wahrscheinlich einer der längsten. Und nach 6 Seiten, verwirrt. Nein, ich sage immer noch, dass das keine "Verschwendung" ist.
(Es bedeutet einfach, dass es Zeit für eine neue Richtung, ein neues Leben, einen neuen Anfang ist. Für jeden.)
Ich habe auch Zeit auf diesen Thread verwendet, ich habe Code hinzugefügt und Vorschläge gemacht . . wenn man das Pferd zum Wasser schleppt, es mit Heu würzt und ein paar Äpfel hinzufügt und das Pferd immer noch nicht trinken will, ist es an der Zeit zu erkennen, dass das Pferd nicht trinken will ... es will einen intravenösen Tropf für seine Wasseraufnahme ... an diesem Punkt ist das Pferd, soweit es mich betrifft, auf sich allein gestellt.
Ich verstehe. Die endgültige Belohnung mag nicht so "bestimmt" sein, wie das Pferd zu ernähren, aber die Belohnung für diejenigen, die es versucht haben, muss etwas anderes sein.
Danken Sie dem Pferd dafür.
Danke diostar für deine Hilfe.
jetzt habe ich 85% der Fehler behoben. mal sehen:
1- wir haben 4 Funktionen erstellt (siehe am Ende dieser Seite)
*lastOpenedOpenPriceBuy()
* lastOpenedOpenPriceSell()
*lastClosedClosePrice()
*beforelastClosedClosePrice()
2- Das erste Problem trat auf, als wir verwendet haben:
Wir korrigieren es durch Hinzufügen von :
3- Das zweite Problem ist:
Wenn ich &&(lastClosedClosePrice()< beforelastClosedClosePrice()) entferne , wird alles gut.
kein Problem mit :
*((lastOpenedOpenPriceBuy()-lastOpenedOpenPriceSell())>=0.0060)
*(((lastOpenedOpenPriceBuy()+lastOpenedOpenPriceSell())/2)<MarketInfo("EURUSD",MODE_BID))
das einzige Problem kommt mit &&(lastClosedClosePrice()< beforelastClosedClosePrice())
Nehmen wir ein Beispiel:
Wenn Auftrag Nr. 5 geöffnet und verkauft wurde, dann Auftrag Nr. 6 geöffnet und geschlossen wurde, dass der Auftrag zum Kauf bestimmt war, dann wurde Auftrag Nr. 7 geöffnet und zum Kauf bestimmt.
Der Fall wird sein (lastClosedClosePrice()< beforelastClosedClosePrice())
( Order Nummer 6 < Order Nummer 4 ) // da Order Nummer 5 noch nicht geschlossen wurde.
Was soll ich tun? Ich weiß es nicht. Ich habe versucht, if(OrdersHistoryTotal()>0){dannalle Bedingungen einzufügen, aber es geht nicht }
Dies wurde NICHT von mir vorgeschlagen, und "wir" haben dies nicht geschaffen. Das ist zu 100 % Ihr Werk.