Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 02.09.19
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Angry der Code war/ist korrekt, trotzdem 130 Error

Ich versteh die Broker nicht mehr, an dem Code wurde nix geändert, der lief. Und nun plötzlich:
1. hin und wieder wird eine Order gesendet
2. dann andauernd ein 130 Error (ERR_INVALID_STOPS)

Code (Beispiel Long Order, nur der relevante Teil):
Code:
// wir machen einen Loop über alle Objekte
// öffnet Long, wenn Entry Linie getroffen wird, SL aus StopLoss Linie
         rq_esname=obj_name;                                        //FullNameESline
         rq_esprice=ObjectGetDouble(0,obj_name,OBJPROP_PRICE);      //PriceOfESline
         rq_slname=EStoSLname(obj_name);                            //FullNameSLline 
         rq_slprice=ObjectGetDouble(0,rq_slname,OBJPROP_PRICE);     //PriceSLline
         StopLoss=NormalizeDouble(rq_slprice,_Digits);              //StopLoss

         // ========== Buy Orders =============================================
         if(rq_dirletter=="B")                                     //AllBuyOrders
         {
            rq_dirprice=MarketInfo(_Symbol,MODE_ASK);              //RequiredBuyPrice
            // ======= Buy 4. sending a buy order if ES is hit
            if(rq_dirprice>=rq_esprice)                                           //AskHitsEntryLine
            {
				
 _Debug(__FUNCTION__,__LINE__,
 " rq_dirprice="+DoubleToStr(rq_dirprice,_Digits)
 +" StopLoss="+DoubleToStr(StopLoss,_Digits) );
 
                  rq_tktno=OrderSend(_Symbol,OP_BUY,LotSize,                      //GetTicketSendingOrder
                                     rq_dirprice,Slippage,StopLoss,TakeProfit,
                                     rq_comment,MagicNumber,ColorArrowLong);
                  if(rq_tktno>0)                                                  //OrderSendSuccess
                  {                                                               //GetStatistics
                  }
                  else                                                            //OrderSendError
                  {
 _Debug(__FUNCTION__,__LINE__,IntegerToString(_LastError) );
                  }
            }
	}
// Debug sagt:
// rq_dirprice=11959.95 StopLoss=11942.52 ( das sind 17,43 oder 1743p unter Kaufpreis) 
// _LastError=130 (ERR_INVALID_STOPS)
// MarketInfo(_Symbol,MODE_STOPLEVEL) liefert: 0
Die Order wird zum aktuellen ASK geöffnet, der SL-Wert entspricht exakt dem der SL Linie, deren Preis wurde mit NormalizeDouble angepaßt und er liegt verdammt weit unter dem Entry. SL Begrenzung liegt bei 0, wenn es floating wäre, dann hätte es einen Wert.
So, und nun - hat jemand eine Idee? Danke. AVT