Wie programmiert man? - Seite 162

 

Brauche Hilfe bei Codierungsfehler

Hallo

Ich bin ziemlich neu im Forex-Handel und auch in der Programmierung in MQL4. Ich brauche Hilfe bei der Einrichtung von Ordersend für SellLimit Orders und BuyLimit Orders. Dies ist mein Code, aber ich bekomme immer einen Ordersend Fehler 130 oder 3. Ich weiß nicht, was mit dem Code falsch ist.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Kann mir bitte jemand helfen? Vielen Dank!

 

Dies ist ein fantastischer Ort zum Lernen

Ich möchte die Gelegenheit nutzen, um mich bei all den Leuten zu bedanken, die dieses Forum möglich machen, und bei all den anderen Händlern, die bereit sind, ihr Wissen kostenlos mit allen anderen zu teilen. Danke, ich habe eine ganze Menge gelernt und fühle mich immer noch, als wüsste ich nichts.

 
simonkoen:
Hallo

Ich bin ziemlich neu im Forex-Handel und auch in der Programmierung in MQL4. Ich brauche Hilfe bei der Einrichtung von Ordersend für SellLimit Aufträge und BuyLimit Aufträge. Dies ist mein Code, aber ich bekomme immer einen Ordersend Fehler 130 oder 3. Ich weiß nicht, was mit dem Code falsch ist.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Kann mir bitte jemand helfen? Vielen Dank

Der Preis für SellLimit Order sollte höher als der tatsächliche Preis sein, nicht niedriger.

 

Danke

Danke, Roger9. Ich benutze jetzt stattdessen seelstop und buystopp und es funktioniert gut.

 

get CurrentTime Frame() ?

Einfache Anfrage - kann mir jemand sagen, wie ich den aktuellen Zeitrahmen / Zeitraum, der gerade angezeigt wird, ermitteln kann? D.h. 1 Stunde, 4 Stunden, 1 Tag usw.

Ich habe die Dokumente durchsucht und kann es nicht finden.

Danke!

 
djl:
Eine einfache Frage: Kann mir jemand sagen, wie ich den aktuellen Zeitrahmen / Zeitraum, der gerade angezeigt wird, ermitteln kann? D.h. 1 Stunde, 4 Stunden, 1 Tag usw.

Ich habe die Dokumente durchsucht und kann sie nicht finden.

Vielen Dank!

Diese Funktion kann Ihnen helfen.

int Zeitraum( )

Gibt die Anzahl der Minuten zurück, die den verwendeten Zeitraum(Chart-Zeitrahmen) bestimmen.

Beispiel:

Print("Zeitraum ist ", Zeitraum());

 

Zwei weitere Fragen

Hallo zusammen.

Entschuldigung für meine schlechte Rechtschreibung gestern.

Ich würde gerne wissen, wie ich es anstellen kann, wenn ich eine Kauf- oder Verkaufsposition eröffne und gleichzeitig einen Stoppsell oder Stoppbuy, wie kann ich den Aufträgen die gleiche Nummer zuweisen, so dass, wenn der eine Auftrag ausgelöst wird, der andere automatisch geschlossen wird. Ich weiß, dass man das mit der Magic Number machen kann, aber auch etwas über die Zeit in der Magic Number? Die zweite Frage. Wenn ich einen Code in meine Order-Sektion einfüge, zwinge ich das Programm, nur eine Order auf diesem Balken zu öffnen, aber wenn ich dies tue, löst die Ea keine Orders aus, wenn die Bedingungen erfüllt sind, um Orders zu öffnen, wenn ich den Code entferne, öffnet sie Orders, wenn die Bedingungen erfüllt sind. Haben Sie eine Idee, warum das so ist? Hier ist der Code.

if(CurrBar != iTime(NULL,0,0))

{

double HighEnvelope = iEnvelopes(Symbol(),0,EnvelopePeriods,MODE_EMA,0,PRICE_MEDIAN,EnvelopeDev,MODE_UPPER,0);

if (Bid >= HighEnvelope && OrdersTotal() <=MaxAllowable_Trades)

{

OrderSend(Symbol(),OP_SELL,lotMM,(Bid),Slippage,(0),0," Sell Order ",MagicNumber,0,White);

OrderSend(Symbol(),OP_BUYSTOP,lotMM,Bid+EmergencyProfit*Point,0,0,0," Pending Buy Order ",MagicNumber,0,DodgerBlue);

CurrBar = iTime(NULL,0,0);

}

}

zurück;

}

Vielen Dank im Voraus für Ihre Geduld und Unterstützung.

 

Ich danke Ihnen.

 

Nehmen wir an, Periode() =5. Wie kann ich die Ticks der aktuellen Handelsminuten und -sekunden innerhalb dieser Periode lesen? Beispiel: Minute =3, Sekunden=42.

Was ich tun möchte, ist eine Bedingung in meinem Ea alle 4 Minuten und 50 Sekunden in der 5-Minuten-Periode zu überprüfen - Können Sie helfen!

Dave

 
1Dave7:
Sagen wir Period() =5. Wie kann ich die Ticks der aktuellen Handelsminuten und Sekunden innerhalb dieser Periode auslesen? Beispiel: Minute =3, Sekunden=42.

Was ich tun möchte, ist eine Bedingung innerhalb meiner ea alle 4 Minuten 50 Sekunden in den 5-Minuten-Zeitraum zu überprüfen - Können Sie helfen!

Dave

In einem 5min Zeitrahmen, ich denke, dass nur Sie einige Situation zu einem bestimmten Zeitpunkt überprüfen können ist, wenn ein neuer Tick entstehen. Sie können sehen, ob die Zeit, die seit dem geöffneten Balken verstrichen ist, die Zeit ist, die Sie wollen.

Bei jedem neuen Tick wird die Startfunktion des MQL-Codes ausgeführt, dann müssen Sie überwachen, ob die Zeit, die seit dem letzten geöffneten Balken verstrichen ist, die Zeit ist, die Sie mit den Datum- und Zeitfunktionen von MQL wünschen.

Wenn kein neues Tick zwischen Ihrer Zeit (4min50sec) und einer neuen Bar geöffnet Zeitraum (5min) Ich weiß nicht, wie zu überprüfen, weil ich nie brauchen, um das zu tun.