Einzelnen Beitrag anzeigen
  #7 (permalink)  
Alt 03.11.21
blackjack01 blackjack01 ist offline
Mitglied
 
Registriert seit: Nov 2020
Beiträge: 40
blackjack01 befindet sich auf einem aufstrebenden Ast
Standard EA

Danke für die Top Hilfe

Ist das so Richtig ???

Danke

Code:
////+------------------------------------------------------------------+
//|  03.11.2021
//|  V4.0                                                            |
//+------------------------------------------------------------------+




#property strict


input ENUM_TIMEFRAMES  Timeframe = PERIOD_CURRENT;
input ENUM_TIMEFRAMES  TimeframeLimit = PERIOD_CURRENT;

input int PeriodMA = 50;
input int PeriodLimit = 10;

input ENUM_MA_METHOD Methode;
input ENUM_MA_METHOD MethodeLimit;

input ENUM_MA_METHOD MagicNumber;

input int Magic = 12345;

int OnInit() {

  return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason){

}

void OnTick() {

   
   double ma = NormalizeDouble(iMA (_Symbol, Timeframe, PeriodMA, 0, Methode, PRICE_CLOSE, 0), _Digits);

   for (int i = OrdersTotal()-1; i >= 0; i--){
      if (OrderSelect(i, SELECT_BY_POS)){
         if (OrderSymbol()  == _Symbol && OrderMagicNumber() == MagicNumber) {

            if (OrderType() == OP_BUY) {
               if (ma > OrderStopLoss()) {
                  if (OrderModify(OrderTicket(), OrderOpenPrice(), ma, OrderTakeProfit(), OrderExpiration())) {
                     Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
                  }
               }
            }
            
            if (OrderType() == OP_SELL) {
               if (ma < OrderStopLoss() || OrderStopLoss () == 0) {
                  if (OrderModify(OrderTicket(), OrderOpenPrice(), ma, OrderTakeProfit(), OrderExpiration())) {
                     Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
                  }
               }
            }

  double maLimit = NormalizeDouble(iMA (_Symbol,TimeframeLimit, PeriodLimit, 0, MethodeLimit, PRICE_CLOSE, 0), _Digits);


            if (OrderType() == OP_BUYLIMIT) {
               if (maLimit > OrderOpenPrice()) {
                  if (OrderModify(OrderTicket(), maLimit, OrderStopLoss(), OrderTakeProfit(), OrderExpiration())) {
                     Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
                  }
               }
            } 

            if (OrderType() == OP_SELLLIMIT) {
               if (maLimit < OrderOpenPrice()) {
                  if (OrderModify(OrderTicket(), maLimit, OrderStopLoss(), OrderTakeProfit(), OrderExpiration())) {
                     Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
                  }
               }
            }  
         }
      }
   }
}