TP nach 90% erreichen erhöhen und & Trailing Stop stop setzen?

 

Hey,

würde im MT4 gerne das 95%ige erreichen meines TakeProfits als Signal nehmen für...

1.das automatische setzen eines Trailing Stops bei 90% des vorherigen Take profits und...

2. die Erhöhung des TP Faktors auf den Faktor X


Habt ihr Ideen wie ich das anstellen kann? Mein aktueller TP sieht so aus



bool NeuePeriodeBegonnen,LongSignal,ShortSignal,OrderAngepasst;
int LongOrder,ShortOrder;
double StopLoss, TakeProfit;


//TP Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET) == true)
   {
   if (OrderCloseTime()==0 && OrderTakeProfit()==0)
      {
    TakeProfit=NormalizeDouble(OrderOpenPrice()*(1+(TP_prozent/100)),Digits);
     OrderAngepasst=OrderModify(OrderTicket(), OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Orange);
      }
   }
   
//TP Short Deals setzen
if (OrderSelect(ShortOrder,SELECT_BY_TICKET) == true)
   {
   if (OrderCloseTime()==0 && OrderTakeProfit()==0)
      {
     TakeProfit=NormalizeDouble(OrderOpenPrice()/(1+(TP_prozent/100)),Digits);
     OrderAngepasst=OrderModify(OrderTicket(), OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Orange);
      }
   }
 

add für Kaufpositionen (siehe https://docs.mql4.com/trading):

  1. bool sig = OrderClosePrice() >= OrderOpenPrice() + (OrderTakePorfit()-OrderOpenPrice())*0.9;
  2. double newTP = OrderTakePorfit() * (1.0 +x[%]); // oder  OrderTakePorfit() + X [POINTS!!]
  3. if (sig ) OrderModify(..,newSL,newTP,..);

Es passiert manchmal (Wann genau weiß ich nicht) dass 1 + 0.3 = 1 (weil die 1 oder eine int-Variabke nicht 'umgecastet' wird)!

Also wenn zB. TP_prozent eine int-Variable wäre, dann:

TakeProfit=NormalizeDouble(OrderTakePorfit()*(1.0 + ((double)TP_prozent/100)),Digits);


Trade Functions - MQL4 Reference
Trade Functions - MQL4 Reference
  • docs.mql4.com
Trading functions can be used in Expert Advisors and scripts. OrderSend(), OrderClose(), OrderCloseBy(), OrderModify(), OrderDelete() trading functions changing the state of a...
Grund der Beschwerde: