[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 213

 
Sergey_Rogozin:

Ich habe es bereits herausgefunden. Ich habe es mir zuerst nur unaufmerksam angesehen.

Ich kann den Fehler nicht erkennen.

Ich frage mich dann, warum die Aufträge nicht gelöscht werden? Ich kann den Code für den gesamten EA posten, aber würde das Sinn machen?
 
dzhini:
Ich frage mich dann, warum die Aufträge nicht gelöscht werden? Ich kann den Code des gesamten EA auslegen, aber würde das Sinn machen?

Versuchen Sie, Ihre Bedingungen einfach an den Anfang zu schreiben. Meiner Meinung nach brauchen Sie die obige for()-Schleife am Anfang nicht.


      if(CalculateCurrentOrders(Symbol())>0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_SELLLIMIT);} // (1) 
      if(CalculateCurrentOrders(Symbol())<0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_BUYLIMIT);} //(2) 
      if(TimeCurrent() - OrderOpenTime()>=HowManyHours*60*60) {ClosePendingOrder(OP_BUYLIMIT);ClosePendingOrder(OP_SELLLIMIT);} //(3

Es reicht aus, sie zu Beginn festzulegen.

 

Hehehe... Das ist genau das, was es nicht ist. Wie würde es also ohne einen Zyklus durch die Aufträge gehen? Da wir davon ausgehen, dass es eine große Anzahl von Aufträgen geben könnte und wir die Verwendung von magischen Symbolen als individuelle Tags vermeiden wollen, sind die wichtigsten Tags das Währungssymbol und die Auftragsart. Im Grunde genommen funktioniert es mit diesen, aber wir haben zufällig entdeckt, dass es mit der oben genannten Kombination nicht funktionieren würde. Ich kann nicht verstehen, wo der Fehler liegt. Und wenn ich es nicht herausfinden kann, gehe ich zu den richtigen Experten.

Wenn Sie wirklich interessiert sind, kann ich den Eulencode posten... Schauen wir es uns mal an... wird es nützlich sein.

 
dzhini:

Hehehe... Das ist genau das, was es nicht ist. Wie würde es also ohne einen Zyklus durch die Aufträge gehen? Da wir davon ausgehen, dass es eine große Anzahl von Aufträgen geben könnte und wir die Verwendung von magischen Symbolen als individuelle Tags vermeiden wollen, sind die wichtigsten Tags das Währungssymbol und die Auftragsart. Im Grunde genommen funktioniert es mit diesen, aber wir haben zufällig entdeckt, dass es mit der oben genannten Kombination nicht funktionieren würde. Ich kann nicht verstehen, wo der Fehler liegt. Und wenn ich es nicht herausfinden kann, gehe ich zu den richtigen Experten.

Wenn Sie wirklich interessiert sind, kann ich den Eulencode posten... Schauen wir es uns mal an... ...wird es nützlich sein.

Ich bin zu faul, um das jetzt zu überprüfen.

Sie haben in der Funktion eine Schleife mit Selektion nach Vorgangsart und Symbol eingestellt,

und im Start schreiben Sie nur die Bedingungen vor, bei deren Erfüllung die von Ihnen benötigte Aktion ausgeführt wird, d.h. ClosePendingOrder(OP).

Oder Sie können die Aufträge nach Magier durchsuchen, wobei die Ausführung des Auftrags die Bedingung erfüllt.

 

Jungs, gründen Sie ausländische Brokerage-Unternehmen...sehr viel Geld und wollen nicht Steuern zahlen....)), die auf Metatrader 4 arbeiten...))

 
Vovo4ka:

Jungs, gründen Sie ausländische Brokerage-Unternehmen...sehr viel Geld und wollen nicht Steuern zahlen....)), die auf Metatrader 4 arbeiten...))

Davon gibt es eine ganze Menge.

Google wird Sie leicht zu ihnen führen.

Zahlen Sie Ihre Steuern und schlafen Sie gut...

 

Nachmittags. Bitte, beraten Sie, wie man "zwingen" die EA zu stoppen Platzierung schwebende Aufträge, wenn ich bereits 5 Buy und 5 Sell Markt Aufträge offen und sobald mindestens eine der Aufträge schließt, die EA hält Platzierung schwebende Aufträge in die Richtung der Bestellung geschlossen, und so weiter im Zyklus. (Jetzt habe ich den Code bereits in korrekter Form gepostet)

//----------------------------------------------------------------------- проверка установленных стоп ордеров

double StopOrderUp,StopOrderDn,price,MinBuyOrder=1000000000,MaxSellOrder,OldBuyOrder,OldSellOrder,OldBuyLot,OldSellLot;

int TicketUp,TicketDn;

TimeOllOpenBuy=0;TimeOllOpenSell=0;

double OOL_BUYSTOP,OOL_SELSTOP;

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

{

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

{ price = OrderOpenPrice();

if (Magic==OrderMagicNumber() && OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUYSTOP ) {StopOrderUp = price; TicketUp=OrderTicket(); OOL_BUYSTOP=OrderLots();}

if (OrderType()==OP_SELLSTOP) {StopOrderDn = price; TicketDn=OrderTicket(); OOL_SELSTOP=OrderLots();}

if (OrderType()==OP_BUY )

{ TimeOllOpenBuy = TimeOllOpenBuy + TimeCurrent()-OrderOpenTime();

if (MinBuyOrder > price) MinBuyOrder = price;

OldBuyOrder=price;

OldBuyLot=OrderLots();

if (DrawInfo&&!IsTesting()){

NameLine="ордер Bay "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Bid);

ObjectSet(NameLine, OBJPROP_COLOR,LightSkyBlue);

ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Bid,0,0,0,0);

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль

ObjectSet(NameLine, OBJPROP_RAY, false); // Луч

ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}

}

if (OrderType()==OP_SELL)

{ TimeOllOpenSell = TimeOllOpenSell + TimeCurrent()-OrderOpenTime();

if (MaxSellOrder < price) MaxSellOrder = price;

OldSellOrder=price;

OldSellLot=OrderLots();

if (DrawInfo&&!IsTesting()){

NameLine="ордер Sell "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Ask);

ObjectSet(NameLine, OBJPROP_COLOR,Pink);

ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Ask,0,0,0,0);

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль

ObjectSet(NameLine, OBJPROP_RAY, false); // Луч

ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}

}

}

}

}

if (MinBuyOrder==1000000000 && MaxSellOrder==0 && OOL_BUYSTOP!=OOL_SELSTOP)//если серия закрылась

{

DELETEORDERS();

}
 

Leute, eine weitere Frage ist aufgetaucht. Einige Broker, darunter z.B. Alpari, bieten ihren Kunden einen Floating Spread .... in Verbindung mit diesem funktioniert mein Advisor nicht...(((

Sie haben eine schwebende Zahl, die die ganze Sache verdirbt... ((((

 
Wie lautet die Frage? Überarbeiten Sie den EA...
 
eddy:
Wie lautet die Frage? Überarbeiten Sie den EA...


Das ist die Frage, das Wiederherstellen funktioniert überall, aber nicht mit dem schwebenden((

Grund der Beschwerde: