Скачать MetaTrader 5

Помогите новичку!!!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Есть вопросы к автору программы - задай их в разделе Обсуждение
anton
191
anton 2012.07.02 07:49 

Здравстуйте! По примеру в учебнике не могу разобраться...

Подскажите пожалуйста, если у кто-то знает, как прописать кодом такое условие:

(уровнем считается скольщее среднее)

1) открывается советник 2) Проверка на наличие " работающего " ордера:

А) есть такой, и когда цена дойдет до определенного уровня, необходимо закрыть его и открыть 1 обратный.

Б) нету такового, и когда цена дойдет до определенного уровня открыть 1 ордер.

Заранее спасибо за ваше затраченое время!.

Leonid Borsky
2384
Leonid Borsky 2012.07.02 08:43  

В двух словах тут не ответить.

Если хотите разобраться "конкретно" - можно глянуть в адрес с аналог. примером: https://www.mql5.com/ru/forum/113963

Константин
66
Константин 2012.07.02 09:02  

Примерно так.

if(Ask/Bid=PriceLevel)
{
   if(OrderSelect(_OrderTicket,MODE_TRADES))
   {
      if((OrderType()==OP_BUY/OP_SELL) && (OrderCloseTime()==0))
      {
         if(!OrderClose(OrderTicket(),OrderLots(),Ask/Bid,0))
            Print("Ошибка закрытия№ ",GetLastError());
      }else{
         // ордер отложенный удаляем
         OrderDelete(OrderTicket());
      }
   }
   _OrderTicket   =  OrderSend(Symbol(),OP_BUY/OP_SELL,........);         
}
Alekseu Fedotov
822
Alekseu Fedotov 2012.07.02 10:32  
okvseok:

Здравстуйте! По примеру в учебнике не могу разобраться...

Подскажите пожалуйста, если у кто-то знает, как прописать кодом такое условие:

(уровнем считается скольщее среднее)

1) открывается советник 2) Проверка на наличие " работающего " ордера:

А) есть такой, и когда цена дойдет до определенного уровня, необходимо закрыть его и открыть 1 обратный.

Б) нету такового, и когда цена дойдет до определенного уровня открыть 1 ордер.

Заранее спасибо за ваше затраченое время!.

Ну а, Moving Average.mq4. что, вроде так все.
anton
191
anton 2012.07.02 13:30  
всем спасибо! буду пытаться все переварить, чтоб понять)))
anton
191
anton 2012.07.02 13:35  
dualbit:

Примерно так.


в "if(Ask/Bid=PriceLevel)" знак "/" означает "или"?
Dmitriy Buberman
109
Dmitriy Buberman 2012.07.02 15:21  

Здравстуйте! Помогите пожалуйста изменить мани-менеджмент в коде советника. В советнике прописаны 2-а условия

1- минимальный лот + работа с постоянным лотом или

2- увеличение лота в % от свободных средств

а мне нужно чтобы после 1-й неудачной сделки к лот увеличился на 0.01 лота, после 2-й неудачной на 0.02 лота,

а после 3-го убытка лот снова стал минимальным.

Мне нужны функции которые я бы мог вставить в мой советник (лучше как можно проще)

Пробывал всавить в код через include (lot_lib) выдает кучу ошибок и ничего не получается.

Заранее спасибо за ваше затраченое время!.



Александр
7
Александр 2012.07.02 19:53  

Доброго времени суток!

Пожалуйста, помогите новичку решить проблему:

советник открывает ордер в определённое время, скажем 18.23

if (Hour()==18 && Minute()==23)
OrderSend(Symbol(),OP_BUY,0.1,Ask,0,Ask-21*Point,Ask+24*Point,"",001,Red); //18.23

не могу понять почему он открывает 4-10 ордеров, а мне один нужен?

Заранее благадарю!

o_o
Модератор
23694
o_o 2012.07.02 20:11  
Smilk:

не могу понять почему он открывает 4-10 ордеров, а мне один нужен?

4-10 - это столько тиков в данную минуту моделируется

а вы просто добавьте проверку, что в данную минуту уже открывали, и будем вам счастье.

Александр
7
Александр 2012.07.02 20:18  

Да я знаю, что надо сделать проверку, только не знаю как проверить, что в 18.23 уже есть открытый ордер. Почему-то справочник не помогает. Пробовал в if-е поставить second ()==00, только он вообще ордер не открывает - тика в эту секунду не было, вот он и пролетает.

Александр
7
Александр 2012.07.02 20:24  
Точнее в 18.23 уже открылся ордер
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий