Wie programmiert man? - Seite 19

 

Vielen Dank für Ihre Bemühungen Nicholishen. Leider hat es nicht funktioniert. Es ändert die Aufträge, aber in beide Richtungen. Was ich meine, nur für clairification ist in einer Kauf-Situation wird es den Stop nach oben durch die Trail-Punkte bewegen, aber es wird auch nach unten bewegen.

 

Ich verstehe, was Sie meinen, aber der Code ist korrekt. Es gibt entweder einen anderen EA, der diese Aufträge ändert, oder es gibt einen anderen Code im EA, der dies tut, denn es ist sicherlich nicht dieser Code. Sie müssen alle anderen EAs stoppen und den primären EA-Code auf andere Aufrufe von OrderModify() überprüfen.

Viel Glück =)

Dateien:
 

Vielen Dank für Ihre Zeit mit meinem noobish selbst

die einzige andere Orderänderung im Code ist ein Break Even und Lock Pips. ich füge sie bei.

BEx=Anzahl der Pips zu sperren in

Ich habe es so oft durchgemacht, dass ich sicher bin, dass es mich direkt anschaut, aber ich bin kein Profi, bestenfalls ein Hacker.

Nochmals vielen Dank Nicholishen!

void DoBE(int byPips)

{

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

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...

{

if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}

Oh vergessen hinzuzufügen, dies ist der einzige EA. Nur derzeit Backtesting.

 
C.E.O.:
Vielen Dank, dass Sie sich die Zeit genommen haben, sich mit meinem Unfug zu beschäftigen

die einzige andere ordermodify im Code ist ein Break Even und Lock Pips. ich werde es anhängen.

BEx=Anzahl der Pips zu sperren in

Ich habe es so oft durchgemacht, dass ich sicher bin, dass es mich direkt anschaut, aber ich bin kein Profi, bestenfalls ein Hacker.

Nochmals vielen Dank Nicholishen!

void DoBE(int byPips)

{

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

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...

{

if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}[/PHP]

Oh forgot to add, this is the only EA. Just currently backtesting.

Wahrscheinlich ist es so, dass eine Funktion die andere aufhebt. Sie müssen Ihre Logik überprüfen, so dass nur eine Funktion zur gleichen Zeit ausgeführt wird.

[PHP]void DoBE(int byPips)

{

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // nur schauen, ob mygrid und Symbol...

{

if (OrderType() == OP_BUY)

{

wenn (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT))

{

if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)))

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}

if (OrderType() == OP_SELL)

{

if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT))

{

if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)))

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);

}

}

}

}

}

zurück;

}
 

MQL4-Befehle/Code-Überprüfung

Nachricht gelöscht. Entschuldigung für die Unannehmlichkeiten.

 

Code für 'Live-Handel zulassen'

Hallo, damit EAs funktionieren, müssen wir die Option "Live-Trading zulassen" aktivieren. Anstatt also beim Laden des EAs immer ein Häkchen setzen zu müssen, welche Codezeile muss ich hinzufügen, damit diese Option im EA automatisch aktiviert wird?

Vielen Dank

 

Sie brauchen dafür keinen Code...

matrixebiz:
Hallo, damit EAs funktionieren, müssen wir die Option "Live-Trading zulassen" aktivieren. Welche Codezeile muss ich also hinzufügen, damit diese Option im EA automatisch aktiviert wird, anstatt sie beim Laden des EAs immer ankreuzen zu müssen? Vielen Dank

Hallo Matrixebiz,

Sie können das ganz einfach über das Menü von MetaTrader machen. Gehen Sie auf "Extras" und dann auf "Optionen" (oder geben Sie einfach CRTL-O ein). Aktivieren Sie dann auf der Registerkarte "Expert Advisor" die Option "Live-Trading zulassen". Alle EA, die Sie danach anhängen, können nun live gehandelt werden.

-RJ1-

 

Oh, ok, das war einfach Danke

 

EA-Zeitcode

Ich möchte einen EA-Zeitcode. Beispiel, dass es nur den Handel 18:00-1:00 ermöglichen würde. Ist das möglich?

 

Dies wurde gefunden

if (UseHourTrade){

if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){

Comment("Non-Trading Hours!");

return(0);

Eine Frage:

Es wird die Zeit meines Forex-Brokers verwendet: Ja oder Nein?

Ich denke ja, aber ich möchte sicher sein.

Und wie kann ich dort die Minuten eingeben, z.B. 15:30? Es gibt nur Stunden?