Ich wollte nur fragen ob mein Loop zum order durchschalten und auswählen so richtig ist :)

 

Hier der Loop und Wahl abschnitt


   for(int A = 0; A < PositionsTotal(); A++)

   {
  
   ulong ticket = PositionGetTicket(A);
   PositionSelectByTicket(ticket);
 

 
TupfenTrading:

Hier der Loop und Wahl abschnitt


   for(int A = 0; A < PositionsTotal(); A++)

   {
  
   ulong ticket = PositionGetTicket(A);
   PositionSelectByTicket(ticket);
 

Hedge oder netting konto?

 
TupfenTrading:

Hier der Loop und Wahl abschnitt


   for(int A = 0; A < PositionsTotal(); A++)

   {
  
   ulong ticket = PositionGetTicket(A);
   PositionSelectByTicket(ticket);
 

Ich habe mir angewöhnt immer herunter zu zählen.

Wen  man bei MT4 (ob das bei MT5 anders ist hab ich nicht ausprobiert) bei mehreren Positionen die auf [0] schließt, geht der Zähler weiter mit [1], aber die auf [1] ist jetzt auf [0] gerutscht und wird so ausgelassen:

int p = PositionsTotal();
while(p-->0) { 
   ...
}
 
amando:

Hedge oder netting konto?

Hedge :) ich habe das loopen jzt rausbekommen

nur meine Ordern wollen noch nicht wie ich möchte


  for(int A = 0; A < PositionsTotal(); A++)
   {
   Print(A);
   ulong T = PositionGetTicket(A);
   Print(T);
   if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
   {
   Print("yeah");
   PositionSelectByTicket(T);
   requestOverlord.position = T;
   requestOverlord.action = TRADE_ACTION_DEAL;
   requestOverlord.symbol = _Symbol;
   requestOverlord.type = ORDER_TYPE_SELL;
   requestOverlord.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);
   requestOverlord.volume = PositionGetDouble(POSITION_VOLUME);
   requestOverlord.deviation = 0;
   bool send = OrderSend(requestOverlord,resultOverlord);
   }
   if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
   {
   Print("Loop2 Works");
   PositionSelectByTicket(T);
   requestOverlord.action = TRADE_ACTION_DEAL;
   requestOverlord.symbol = _Symbol;
   requestOverlord.type = ORDER_TYPE_BUY;
   requestOverlord.price = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   requestOverlord.volume = PositionGetDouble(POSITION_VOLUME);
   requestOverlord.deviation = 10;
   bool send = OrderSend(requestOverlord,resultOverlord);
   }
   }

Das habe ich im loop um die Positionen zu schließen wenn die bedingung erfüllt ist (Ja die bedingung ist gerade nicht richtig) aber

ich möchte ersteinmal nur erreichen das es jede position die ich öffne wieder schließt ^^

T = Ticketnummer (Habe ich mir ausgeben lassen scheint zu stimmen)

Irgendeine Idee was ich machen müsste damit es offene Positionen schließt ? :D

Danke Tup


Carl Schreiber:

Ich habe mir angewöhnt immer herunter zu zählen.

Wen  man bei MT4 (ob das bei MT5 anders ist hab ich nicht ausprobiert) bei mehreren Positionen die auf [0] schließt, geht der Zähler weiter mit [1], aber die auf [1] ist jetzt auf [0] gerutscht und wird so ausgelassen:

Ich werde mal schauen :D erstmal muss ich die Positionen schließen ^^
 
TupfenTrading:
   for(int A = 0; A < PositionsTotal(); A++)


Funktionsaufrufe im Schleifenkopf sind schlechte Angewohnheiten.Macht das debuggen schwieriger.

 
Christian:

Funktionsaufrufe im Schleifenkopf sind schlechte Angewohnheiten.Macht das debuggen schwieriger.

Und verwende den code button um code zu posten

Grund der Beschwerde: