Hilfe bei der Codierung - Seite 410

 

danke mladen. es funktioniert perfekt. ich bin jetzt coder!!!

 
sunshineh:
Wie ich sehe, gibt es eigentlich keine Möglichkeit, ein Rechteck hinter einem Button zu zeichnen und zu definieren, dass der Klick auf den Button das Ereignis ist und nicht das Rechteck...

Aber ich habe eine andere Frage:

Wie kann ich eine horizontale Linie mit einer bestimmten Länge zeichnen? Ich habe es mit OBJ_TREND versucht, aber eine Seite der Linie ist unendlich oder Null. Ich kann also keine horizontale Linie von Bid-10 bis Bid+10 zeichnen.

Haben Sie jetzt eine Lösung?

sunshineh

Setzen Sie die RAY-Eigenschaft (OBJPROP_RAY) der Trendlinie auf false, dann wird sie nicht unendlich lang.

 

Hallo zusammen, wenn ich für jeden Auftrag, der von einem EA eröffnet wird, eine andere magische Zahl zuweisen möchte, kann ich folgendes verwenden:

extern int MagicNumber = 1000000;

if(Bedingungen)

{

SendOrder(OP_BUY,MagicNumber);

MagischeZahl = MagischeZahl+1;

}

Ich würde die magische Zahl lieber als Bezeichner verwenden, als einen Kommentar. Zahlen sind einfacher zu manipulieren als Strings...

Danke!

 
airquest:
Hallo zusammen, wenn ich für jeden Auftrag, der von einem EA eröffnet wird, eine andere magische Zahl zuweisen möchte, kann ich folgendes verwenden:

extern int MagicNumber = 1000000;

if(Bedingungen)

{

SendOrder(OP_BUY,MagicNumber);

MagischeZahl = MagischeZahl+1;

}

Ich würde die magische Zahl lieber als Bezeichner verwenden, als einen Kommentar. Zahlen sind einfacher zu manipulieren als Strings...

Danke.

Ich habe es ausprobiert. Es funktioniert gut

 
airquest:
Hallo zusammen, wenn ich für jeden Auftrag, der von einem EA geöffnet wird, eine andere magische Zahl zuweisen möchte, kann ich folgendes verwenden:

extern int MagicNumber = 1000000;

if(Bedingungen)

{

SendOrder(OP_BUY,MagicNumber);

MagischeZahl = MagischeZahl+1;

}

Ich würde die magische Zahl lieber als Bezeichner verwenden, als einen Kommentar. Zahlen sind leichter zu manipulieren als Zeichenketten...

Danke.

Das ist OK, aber wie identifizierst du die genaue magische Zahl, die du einmal verarbeiten möchtest, wenn die Bestellung geöffnet wird?

 
mladen:
Das ist in Ordnung, aber wie ermitteln Sie die genaue magische Zahl, die Sie einmal bei der Eröffnung des Auftrags verarbeiten möchten?

Nun, etwas knifflig. Im OnInit habe ich die ursprüngliche magische Zahl (1000000) in einer int-Variablen (OriginalMagic) gespeichert, und dann, wenn ich OrderSelect aufrufe, filtere ich nach der eindeutigen MagicNumber und speichere die Variablen (OrderOpenPrice, OrderLots, etc.) in einem Array, so dass für jede Bestellung der Index sein wird: MagicNumber - OriginalMagic (die erste ist also 0, dann 1 usw.). Der Punkt ist, zwei Dinge zu tun: 1) nur eine begrenzte Anzahl von Aufträgen zu öffnen (ArrayRange ist eine konstante Zahl (extern int MaxOpenTradesToManage) und die Schleife für das Öffnen von Aufträgen wird nicht ausgeführt, wenn MagicNumber < OriginalMagic + MaxOpenTradesToManage - 1 ist); 2) spezifische (und unterschiedliche) Regeln für die Verwaltung von Aufträgen für jeden geöffneten Auftrag zu definieren (was der Grund ist, eine einzigartige MagicNr zu haben).

Mladen, ich habe noch eine andere Frage an Dich, ich habe in einem Deiner EA (Ichimoku 5.3.5, vielleicht ist es der von Mr. Tools, bin mir nicht sicher) gesehen, dass Du Orders mit dem Folgenden öffnest:

int buyTicket = OrderSend(symbol,OP_BUY,lots,price,slippage,0,0,comment,magic,0,color);

if (buyTicket >= 0)

bool buyOrderMod = OrderModify(buyTicket,OrderOpenPrice(),STOPLOSS,TAKEPROFIT,0,color);

[/CODE]

Does it change something from just putting the OrderSend function with already defines SL and TP ? Is it better to open with 0,0 and then use OrderModify to set SL and TP ? :

[CODE]

OrderSend(symbol,OP_BUY,lots,price,slippage,STOPLOSS,TAKEPROFIT,comment,magic,0,color);

Vielen Dank für Ihre Antwort. Herzliche Grüße und ein frohes Weihnachtsfest.

 
airquest:
Nun, das ist etwas knifflig. Im OnInit habe ich die ursprüngliche magische Zahl (1000000) in einer int-Variablen (OriginalMagic) gespeichert, und dann, wenn ich OrderSelect aufrufe, filtere ich nach der eindeutigen MagicNumber und speichere die Variablen (OrderOpenPrice, OrderLots, etc.) in einem Array, so dass für jede Bestellung der Index sein wird: MagicNumber - OriginalMagic (die erste ist also 0, dann 1 usw.). Der Punkt ist, zwei Dinge zu tun: 1) nur eine begrenzte Anzahl von Aufträgen zu öffnen (ArrayRange ist eine konstante Zahl (extern int MaxOpenTradesToManage) und die Schleife für das Öffnen von Aufträgen wird nicht ausgeführt, wenn MagicNumber < OriginalMagic + MaxOpenTradesToManage - 1 ist); 2) spezifische (und unterschiedliche) Regeln für die Verwaltung von Aufträgen für jeden offenen Auftrag zu definieren (das ist der Grund, eine eindeutige MagicNr zu haben).

Mladen, ich habe eine andere Frage für Sie, ich sah in einem Ihrer EA (Ichimoku 5.3.5, vielleicht ist es Mr. Tools "ein, nicht sicher), dass Sie Aufträge mit den folgenden öffnen :

int buyTicket = OrderSend(symbol,OP_BUY,lots,price,slippage,0,0,comment,magic,0,color);

if (buyTicket >= 0)

bool buyOrderMod = OrderModify(buyTicket,OrderOpenPrice(),STOPLOSS,TAKEPROFIT,0,color);

[/CODE]

Does it change something from just putting the OrderSend function with already defines SL and TP ? Is it better to open with 0,0 and then use OrderModify to set SL and TP ? :

[CODE]

OrderSend(symbol,OP_BUY,lots,price,slippage,STOPLOSS,TAKEPROFIT,comment,magic,0,color);

Vielen Dank für Ihre Antwort. Beste Grüße und ein frohes Weihnachtsfest.

airquest

Es ändert sich nicht. Aber ...

Bei ECN/STP-Brokern muss das so gemacht werden. Sie erlauben es nicht, Stop-Loss und/oder Take-Profit zu setzen, wenn man eine Order eröffnet, und dann muss man das in zwei Schritten tun

 
mladen:
airquest Es ändert sich nicht. Aber ... Bei ECN/STP-Brokern muss es so gemacht werden. Sie erlauben es nicht, Stop-Loss und/oder Take-Profit zu setzen, wenn die Order eröffnet wird, und dann muss es in zwei Schritten gemacht werden

Ok, vielen Dank für den Tipp. Auch für schwebende Aufträge?

 
airquest:
Ok, vielen Dank für den Hinweis. Auch für schwebende Aufträge?

Ja, auch für diese

 

Hilfe bei der Codierung

Hallo Mladen

Dieser Indikator funktioniert am Montag nicht

"Google Translate"

Danke

Dateien: