Pending Orders

 

Hi Leute ,

ich bin neu im Gebiet und bei einem erstenVersuch eine PO automatisiert zu erstellen fällt mir beim Testen auf, dass der Server die Order nach wenigen Augenblicken löscht, obwhl ich nach meinem Verständnis 2 Stunden Gültigkeit eingegeben habe.

Hier der Code


if(OrdersTotal()==0&&PositionsTotal()==0)
        {
         ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
         bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
         spread=SymbolInfoDouble(_Symbol,SYMBOL_ASK)-SymbolInfoDouble(_Symbol,SYMBOL_BID);

         if(!(((int)SymbolInfoInteger(_Symbol,SYMBOL_SPREAD))>20))
           {
            uint z = GetTickCount();
            trade.OrderOpen(_Symbol,ORDER_TYPE_BUY_LIMIT,0.01,ask+0.01,ask+0.0015,0,ask+0.003,ORDER_TIME_SPECIFIED,z+1000*60*60*2,NULL);
            trade.OrderOpen(_Symbol,ORDER_TYPE_SELL_LIMIT,0.01,bid-0.01,bid-0.0015,0,bid-0.003,ORDER_TIME_SPECIFIED,z+1000*60*60*2,NULL);
          
           }



        }


Ich weiß nicht warum. Eure Ideen?

 
deepblue85m:

Ich weiß nicht warum. Eure Ideen?

SL oder TP zu dicht .


Ohne Information aus deinem LOG File ....geschätzt.

 

Mom...exp passt doch nicht.

Nutze den Debugger

Nimm datetime statt GetTickCount().

#include <trade/Trade.mqh>

CTrade trade;

void OnTick()
  {      
        double    ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
        double    bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
        datetime z = D'2020.11.11 00:00';     
        trade.OrderOpen(_Symbol,ORDER_TYPE_BUY_LIMIT,0.01,ask-0.01,ask,ask-0.3333,ask+0.3333,ORDER_TIME_SPECIFIED,z,NULL);
              
  }



https://www.mql5.com/de/docs/standardlibrary/tradeclasses/ctrade/ctradeorderopen