Fragen Sie! - Seite 90

 

Hilfe bei Ordersend-Kommentaren bitte

Brauchen Sie etwas Hilfe bitte Ich habe einen EA, der 4 verschiedene Eintragskriterien hat und möchte in der Lage sein, einen Kommentar in ordersend zu haben, um mir mitzuteilen, welche Eintragskriterien für eine bestimmte Position erfüllt wurden. Ich habe versucht, dies zum Funktionieren zu bringen, aber alles, was ich zu können scheine, ist eine Liste dh long1, long2, long3 usw. Ich weiß, dass ich etwas anderes tun muss als das, was ich derzeit tue, aber ich kann mir nicht vorstellen, was das sein könnte. Ich habe eine Version des EA, die ich verwende, um mit zu experimentieren. so jede Hilfe bei der Lösung dieses wäre großartig. Unten ist, was ich derzeit sehe.

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Fehler beim Eröffnen einer BUY-Order: ungültiger Funktionsparameterwert

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4 Signal genommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2-Signal erkannt

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long1-Signal erkannt

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short4-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short3-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short2-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short1-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Ungültige Losgröße für OrderSend-Funktion

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4-Signal übernommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2-Signal erkannt

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long1-Signal erkannt

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short4-Signal angenommen

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short3 Signal angenommen

Zum Wohl

Beno

Dateien:
 
stevex33:
Hallo Leute,

Ich habe eine Frage.

Ich würde gerne lernen, meine eigenen Indikatoren zu schreiben, aber ich habe keine Ahnung, wo ich anfangen soll.

Ich habe eine Idee in meinem Kopf und die Grundlagen, wie es funktionieren sollte, aber ich brauche ein wenig Hilfe.

Ich möchte einen Indikator erstellen, der den durchschnittlichen Höchststand anzeigt, den eine Währung jeden Tag vom Eröffnungskurs entfernt ist, das Gleiche gilt für den Tiefststand und das Gleiche für den Schlusskurs.

Es handelt sich also um den Abstand vom Eröffnungskurs des jeweiligen Tages in Form von Pips.

Ich möchte, dass der Benutzer angeben kann, über wie viele Tage er diesen Durchschnitt berechnen möchte.

Es wäre also so etwas wie Linien, die in der Leiste des aktuellen Tages gezeichnet werden, um den durchschnittlichen Höchst-, Tiefst- und Schlusskurs der Währung über x Tage darzustellen, und es sollte die gezeichneten Linien auf dem Diagramm behalten.

Ich habe versucht, den gleitenden Durchschnittsindikator als Ausgangsbasis zu verwenden, aber das sieht alles ziemlich verwirrend aus. Kann mir jemand das Ganze vereinfachen, indem er aufschlüsselt, was ich wo hinzufügen/löschen sollte?

Mit freundlichen Grüßen

steve

Beginnen Sie am Anfang, d.h.: lernen Sie MQL4. Laden Sie die E-Books von CodersGuru herunter, drucken Sie sie aus, wenn Sie wie ich nicht gut darin sind, etwas vom Bildschirm abzulesen, und lesen Sie sie dann.

Lesen Sie sie erneut, wenn Sie sie beim ersten Mal nicht verstanden haben.

Machen Sie die Übung.

Wenn du es immer noch nicht verstehst, sieh dir so viele EA wie möglich an, um zu sehen, ob es irgendwelche Ähnlichkeiten mit deinem gibt. Suchen Sie nach Erklärungen zu jeder Zeile im CodersGuru-Buch und versuchen Sie dann, Ihre eigene zu schreiben.

Es kann einige Zeit dauern, bis Sie Ihren grundlegenden EA geschrieben haben, aber sobald Sie das getan haben, ist das Verfeinern eine Frage des Ausprobierens und des ständigen Versuchens.

Viel Glück!

 

Was ist mit denen los?

Hallo, Leute

Mein EA basiert seine Gewinnmitnahme zunächst auf dem Trailing-Stopp. Dann füge ich einige Fibo-Punkte hinzu und starte das Trailing, nachdem der letzte Fibo-Punkt erreicht ist. Aber strategy-tester wird nicht mit der neuesten Entwicklung zu arbeiten. Bitte helfen Sie mir, meinen eigenen Fehler in dem folgenden Programm zu finden.

Vielen Dank!

void CheckForTrailing()

{

double highest = Hoch;

double niedrigster = niedrig;

double p1u = NormalizeDouble((OrderOpenPrice()-niedrigster)*0.618,4);

double tpb1 = p1u*10000;

double p1d = NormalizeDouble((höchsterOrderOpenPrice())*0,618,4);

double tps1 = p1d*10000;

double p2u = NormalizeDouble((höchsterOrderOpenPrice()-niedrigster)*1,4);

double tpb2 = p2u*10000;

double p2d = NormalizeDouble((höchsterOrderOpenPrice())*1,4);

double tps2 = p2d*10000;

double p3u = NormalizeDouble((OrderOpenPrice()-niedrigster)*1,618,4);

double tpb3 = p3u*10000;

double p3d = NormalizeDouble((höchsterOrderOpenPrice())*1,618,4);

double tps3 = p3d*10000;

double p4u = NormalizeDouble((höchsterOrderOpenPrice()-niedrigster)*2,382,4);

double tpb4 = p4u*10000;

double p4d = NormalizeDouble((höchsterOrderOpenPrice())*2.382,4);

double tps4 = p4d*10000;

double p5u = NormalizeDouble((höchsterOrderOpenPrice()-niedrigster)*3.236,4);

double tpb5 = p5u*10000;

double p5d = NormalizeDouble((höchsterOrderOpenPrice())*3.236,4);

double tps5 = p5d*10000;

for(int i=0; i<OrdersTotal(); i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)

brechen;

if(OrderMagicNumber()!=magisch || OrderSymbol()!=Symbol())

weiter;

if(OrderType()<=OP_SELL)

{

if(OrderType()==OP_BUY && Bid>OrderOpenPrice())

{

if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice()))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);

return(0);

}

}

else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())

{

if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice()))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1)))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps2))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps4))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE);

return(0);

}

if((AskAsk))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE);

return(0);

}

}

}

}

}
 

Wie kann man verhindern, dass dies passiert????

Der MACDI im 4-Stunden-Diagramm ist positiv, aber wenn ich ihn als Indikator verwende, erhalte ich einen Verkaufswert, weil der MACDI im 1-Minuten-Diagramm für eine kurze Zeit negativ werden kann, aber im 4-Stunden-Diagramm nicht angezeigt wird. Wie kann ich dies kodieren, damit mein Programm den stündlichen Durchschnitt und nicht die 1-Min-Ergebnisse erhält?

Dave

 
 

welches Low?

Ich glaube, Sie haben vergessen, welches Tief Sie als currentlow verwenden. Ich kann mir nicht vorstellen, ob Sie den Tiefpunkt des aktuellen Balkens meinen. Wenn Sie meinen, was ich glaube, dass Sie meinen, versuchen Sie iLowest[] zu verwenden. Siehe dazu im Wörterbuch von Metaeditor.

 

Punkt übersehen

Entschuldigung, ich habe nicht gesehen, dass Sie currentlow = 1000; geschrieben haben. Aber der Vorschlag bleibt. Siehe, currentlow = 1000; 1000 was? 1,0000 wie in GBP/USD? 1000 Punkt, woher? Also, immer noch das gleiche, verwenden Sie iLowest[] für currentlow. Ich denke, es würde gut funktionieren.

 

iLowest

Hallo Sendra,

vielen Dank für Ihre prompte Antwort.

Was ich zu erreichen versuche, basiert nicht auf einem Hoch oder Tief eines beliebigen Zeitrahmens, sondern auf dem niedrigsten Punkt vor einem Ret1 (75 Pip) Retracement. Ich konzentriere mich zunächst auf den EUR/USD.

CurrentLow soll den tiefsten Punkt vor dem Retracement verfolgen.

Im Folgenden finden Sie ein Beispiel für das, was ich zu erreichen versuche.

a) Nehmen wir an, wir öffnen den EA und der Preis liegt bei 1,4000 und bewegt sich zwischen 1,4030 und 1,3970, bevor er auf 1,4045 steigt. Ich möchte, dass CurrentLow 1,3970 (Tiefstwert) ist und der erste Verkaufsauftrag bei 1,4045 (Entry1) mit einem SL von 1,4195 (SL1 =150 Pips) und einem Take Profit (TPA = 75 Pips) von 1,3970 platziert wird.

b) Wenn der Kurs weiter auf 1,4120 (Entry2) steigt, würde ich einen zweiten Verkaufsauftrag mit einem Take Profit (TPB =76 Pips) von 1,4044 und einem SL von 1,4195 (wie beim ersten Auftrag) platzieren wollen.

Mein EA scheint für den ersten Auftrag zu funktionieren, aber er scheint nicht zum zweiten Auftrag zu gelangen. Ich konnte ihn dazu bringen, die zweite Order zu platzieren, aber der Preis war derselbe wie bei der ersten Order und der SL war vermasselt.

Mein langfristiges Ziel ist es, dass das Programm auf der Grundlage langfristiger Trendindikatoren entscheidet, ob es sich um einen Kauf oder einen Verkauf handelt, und natürlich, dass es einen Kaufauftrag wie den hier gezeigten Verkaufsauftrag einrichtet. Ich habe keine Ahnung, ob es profitabel sein wird, aber ich versuche zu lernen und werde sicherlich eine Million Änderungen vornehmen, bevor es fertig ist. Ich bin zu dem Schluss gekommen, dass man, um herauszufinden, ob eine Strategie funktioniert, sie automatisieren und den menschlichen Fehler aus der Entscheidungsfindung herausnehmen muss. Natürlich müssen auch die Fundamentaldaten geprüft werden, aber das kommt später... vielleicht.

Jede Hilfe von Sendra oder jemand anderem wird sehr geschätzt.

Vielen Dank

Putz

 

i Niedrigste und CurrentLow

Hallo Sendra,

um Ihre Frage zu CurrentLow zu beantworten, habe ich ihm einen Wert von 1000 gegeben, da dieser immer größer sein wird als jeder E/U-Kurs. Damit soll sichergestellt werden, dass bei der Eröffnung der erste EU-Kurs genommen wird. Wenn ich den Wert auf 0 setzen würde, wäre der Preis nie niedriger und es würde daher nie ein Handel stattfinden.

Ich habe iLowest noch nie gesehen, aber ich werde es ausprobieren, um zu sehen, ob es für mich funktionieren würde.

Vielen Dank

Putz

 

Code - Einmal am Tag handeln

Kann mir jemand mit einem Skript oder Ea helfen, das nur 1 Handel pro Tag erzwingt?

Vielen Dank