Группа "Стол заказов MQL"

Рейтинг 2081



РЕКОМЕНДУЮ



СтонЛимит

Добрый вечер, Андрей! Прошу написать советник по следующей логике:
1. Один раз в день в 18-00 выставлять на графике D1 два стоповых и два лимитных ордера.
2. Стововые по мах и мин M1
3. Лимитные по мах и мин Н4
4. Если какойто ордер сработал и тралится то до закрытия по тралу одера не должно открыватся больше не одного ордера, а остальные анулироваться сразу после начала трала.
  • 0
  • Просмотров: 3382
  • 18 мая 2020, 16:58
  • Alkmena
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Индикатор “Утренний флэт” доработка
18 мая 2020
19 мая 2020

Комментарии (11)

+
0
на 28-е
avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 18 мая 2020, 19:54
+
0
2. Стововые по мах и мин M1
3. Лимитные по мах и мин Н4


??? скрины
avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 22 мая 2020, 21:06
+
0
стоповые с графика М1 лимитные с графика Н4 ВЫСТАВЛЯЮТСЯ Один раз в день в 18-00 получив на этот момент мин и мах с графиков М1 и Н4 выставлять на графике D1 четыри ставки КАКИЕ ЕЩЕ СКРИНЫ?
Редактирован: 30 мая 2020, 06:33
avatar

  10  Alkmena Автор Сообщений: 139

  • 30 мая 2020, 06:30
+
0
получив на этот момент мин и мах с графиков М1 и Н4 выставлять на графике D1


мин макс за какой период? предыдущей свечи, за несколько свечей или что то другое?
avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 30 мая 2020, 13:22
+
0
пусть будет последних трех свечей
avatar

  10  Alkmena Автор Сообщений: 139

  • 30 мая 2020, 17:05
+
0
avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 1 июня 2020, 20:48
+
0
Спасибо и ее можно сделать как в тз
4. Если какойто ордер сработал и тралится то до закрытия по тралу одера не должно открыватся больше не одного ордера, а остальные анулироваться сразу после начала трала.
avatar

  10  Alkmena Автор Сообщений: 139

  • 7 июня 2020, 17:05
+
0
4. Если какойто ордер сработал и тралится то до закрытия по тралу одера не должно открыватся больше не одного ордера, а остальные анулироваться сразу после начала трала.


там так и есть сейчас
avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 8 июня 2020, 19:56
+
0
void OnTick()
{
double lo1=iLow(NULL,TF1,iLowest(NULL,TF1,MODE_LOW,Count,0));
double hi1=iHigh(NULL,TF1,iHighest(NULL,TF1,MODE_HIGH,Count,0));

double lo2=iLow(NULL,TF2,iLowest(NULL,TF2,MODE_LOW,Count,0));
double hi2=iHigh(NULL,TF2,iHighest(NULL,TF2,MODE_HIGH,Count,0));

if(TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()))
{
if(CountOrders()<1)
{
if(Bid<hi1)
PutOrder(4,hi1+Delta*_Point);
if(Bid>lo1)
PutOrder(5,lo1-Delta*_Point);

if(Bid>lo2)
PutOrder(2,lo2-Delta*_Point);
if(Bid<hi2)
PutOrder(3,hi2+Delta*_Point);
}
}

if(TrailingStop>0)
Trailing();

}

я не програмист подскажите какая из скопированных строчек отвечает за:
4. Если какойто ордер сработал и тралится то до закрытия по тралу одера не должно открыватся больше не одного ордера, а остальные анулироваться сразу после начала трала.
avatar

  10  Alkmena Автор Сообщений: 139

  • 9 июня 2020, 19:28
+
0
если есть ордер другие не откроются:


      if(CountOrders()<1)
        {
          ...
        }


удаление после начала трала: DelOrder();


                  if(OrderStopLoss()>sl || (OrderStopLoss()==0))
                    {
                     Print("SL: ",sl, " TP: ",OrderTakeProfit());
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                     DelOrder();
                     return;
                    }



//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   double sl=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(Bid-OrderOpenPrice()>TrailingStop*_Point)
                 {
                  sl=NormalizeDouble(Bid-TrailingStop*_Point,_Digits);
                  if(OrderStopLoss()<sl)
                    {
                     Print("SL: ",sl, " TP: ",OrderTakeProfit());
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                     DelOrder();
                     return;
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()-Ask>TrailingStop*_Point)
                 {
                  sl=NormalizeDouble(Ask+TrailingStop*_Point,_Digits);
                  if(OrderStopLoss()>sl || (OrderStopLoss()==0))
                    {
                     Print("SL: ",sl, " TP: ",OrderTakeProfit());
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                     <DelOrder();
                     return;
                    }
                 }
              }
           }
        }
     }
  }


avatar

  34  AM2 Сообщений: 15866 - Андрей

  • 9 июня 2020, 21:29
+
0
спасибо попробую на реале
avatar

  10  Alkmena Автор Сообщений: 139

  • 10 июня 2020, 17:54

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари