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 ...");
}
}
}
}
}
}
}