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

Einloggen oder registrieren, um einen Kommentar zu schreiben
TupfenTrading
12
TupfenTrading  

Hier der Loop und Wahl abschnitt


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

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

amando
1515
amando  
TupfenTrading:

Hier der Loop und Wahl abschnitt


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

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

Hedge oder netting konto?

Carl Schreiber
Moderator
7840
Carl Schreiber  
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) { 
   ...
}
TupfenTrading
12
TupfenTrading  
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 ^^
Christian
2637
Christian  
TupfenTrading:
   for(int A = 0; A < PositionsTotal(); A++)


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

amando
1515
amando  
Christian:

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

Und verwende den code button um code zu posten

Einloggen oder registrieren, um einen Kommentar zu schreiben