Thema: Trailing Stop
Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 27.06.18
MA-EA MA-EA ist offline
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Entweder stimmt die OrderModify Funktion nicht, oder die entsprechenden Bedingungen sind nicht erfüllt. Aber es kommen keine Fehlermeldungen oder Warnungen.

Aber eigentlich ist doch Alles richtig. Hab wirklich keinen Schimmer was nicht stimmt.



extern bool Trailing_Stop=true;
extern int Trailing_Stop_Step=15;


double M_CA=MarketInfo(Symbol(),MODE_ASK);
double M_CB=MarketInfo(Symbol(),MODE_BID);


if(Trailing_Stop==true){

//Bid - Stoploss = neuer Buy "SL", der bei OrderModify gesendet werden soll
double B_TS=NormalizeDouble(M_CB-Stoploss*_Point,_Digits);

//Ask + Stoploss = neuer Sell "SL", der bei OrderModify gesendet werden soll
double S_TS=NormalizeDouble(M_CA+Stoploss*_Point,_Digits) ;


//neuer Buy "SL" - Trailing Stop Step.
//Wenn alter Buy SL kleiner ist, soll neuer Buy "SL" (B_TS) gesendet werden.
double B_TS_TSS=NormalizeDouble(B_TS-Trailing_Stop_Step*_Point,_Digits);

//neuer Sell "SL" - Trailing Stop Step.
//Wenn alter Sell SL kleiner ist, soll neuer Sell "SL" (B_TS) gesendet werden.
double S_TS_TSS=NormalizeDouble(S_TS+Trailing_Stop_Step*_ Point,_Digits);

}


if(Trailing_Stop==true){

for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_TICKET)){

if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_Ma gicNumber&&OrderSymbol()==Symbol()){//modify Buy
if(NormalizeDouble(OrderStopLoss()<B_TS_TSS*_Point ,_Digits)){
OrderModify(OrderTicket(),OrderOpenPrice(),B_TS,Or derTakeProfit(),0,LawnGreen);}}

if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_ MagicNumber&&OrderSymbol()==Symbol()){//modify Sell
if(NormalizeDouble(OrderStopLoss()>S_TS_TSS*_Point ,_Digits)){
OrderModify(OrderTicket(),OrderOpenPrice(),S_TS,Or derTakeProfit(),0,Gold);}}}}}




Edit:Kam nen paar Mal die Meldung "Trade Context is busy" oder so. Aber normaler SL und TP werden ja richtig gesetzt...

Geändert von MA-EA (27.06.18 um 22:54 Uhr)