Вопрос знатокам MQL - страница 11

 

Господа кодеры, прошу помощи с куском кода.

Есть советник, рабочий, торует. Нужно вставить в него условие на запрет открытия сделок.

Условие: Если гистограмма АО>0, то запретить советнику вообще открывать сделки, до тех пор, пока гистограмма АО не будет больше или равно 0. Спасибо.

 
Voice:

Господа кодеры, прошу помощи с куском кода.

Есть советник, рабочий, торует. Нужно вставить в него условие на запрет открытия сделок.

Условие: Если гистограмма АО>0, то запретить советнику вообще открывать сделки, до тех пор, пока гистограмма АО не будет больше или равно 0. Спасибо.


Пусть переменная double Gist хранит значение АО, а переменная bool Torg - флаг, разрешающий торговать.

Условие размазанное. "Если гистограмма АО>0, то запретить советнику вообще открывать сделки " - в коде это будет так if(Gist>0){Torg=false;}. Теперь вторая часть условия " до тех пор, пока гистограмма АО не будет больше или равно 0 " в коде можно оформить в Вашем случае это так if(Gist>=0){Torg=true;}

Это значит, что (при условии что сейчас АО >= 0) в первой строке кода разрешение на торг будет снято if(Gist>0){Torg=false;} а во второй строке кода оно будет тут же возвращено на место if( Gist>=0){Torg=true;}. У Вас при АО > 0 переменная Torg будет сначала ложна а потом сразу же истинна. Так нельзя - это нарушение закона логики "Если а, то а".

 

Извините, это моя ошибка. Если больше 0, то не открывает, если меньше, то открывает. Подскажите, я это должен в начале кода прописать? Попробую соорудить.

Подскажите, пожалуйста, еще как присвоить Gist значения AO?

 
Voice:

Извините, это моя ошибка. Если больше 0, то не открывает, если меньше, то открывает. Подскажите, я это должен в начале кода прописать? Попробую соорудить.

Подскажите, пожалуйста, еще как присвоить Gist значения AO?

double iAO( string symbol, int timeframe, int shift)
Расчет Awesome oscillator.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:
  double val=iAO(NULL, 0, 2);
 
Доброго времени суток! Подскажите куда обратиться,(киньте ссылку, ответ типа, "Поищи на форуме" не катит, и так ищу), чтоб написали небольшой алгоритм советник или скрипт, главное чтоб работал.Коротко суть: чтоб открывался, Buy,Sell с take-profit, по выбору во время активации а дальше чтоб можно было задавать отложенники в разных комбинациях, шагом и лотом, как именно думаю кому будет интересно тот и узнает.Прошу еще раз подскажите кто может помочь? zetveis@mail.ru
 
Skif_7:
Доброго времени суток! Подскажите куда обратиться,(киньте ссылку, ответ типа, "Поищи на форуме" не катит, и так ищу), чтоб написали небольшой алгоритм советник или скрипт, главное чтоб работал.Коротко суть: чтоб открывался, Buy,Sell с take-profit, по выбору во время активации а дальше чтоб можно было задавать отложенники в разных комбинациях, шагом и лотом, как именно думаю кому будет интересно тот и узнает.Прошу еще раз подскажите кто может помочь? zetveis@mail.ru

вот ссылка https://www.mql5.com/ru/job
 
sergeev:

вот ссылка https://www.mql5.com/ru/job
Гениально!Ни че не скажешь конечно.Ну да ладно... Открою секрет, посмотреть наверх и чуть вправо я и сам мог.Что и сделал уже давно.
 
Skif_7:
Открою секрет, посмотреть наверх и чуть вправо я и сам мог. Что и сделал уже давно.
Я про ваш секрет никому не скажу. честное пионерское.
 

Здравствуйте профессионалы! Подскажите пожалуйста, как сделать так, чтобы при установке советником нового отложенного ордера BUY_STOP удалялся предыдущий BUY_STOP а при установке советником нового SELL_STOP удалялся предыдущий SELL_STOP ?

Спасибо.

 

При выставлении BUY_STOP : (1) найти активный предыдущий BUY_STOP (2) удалить его.

Для SELL_STOP аналогично-зеркально.

Если ответ раздражает - то сюда : https://www.mql5.com/ru/job

Пожалуйста.

Причина обращения: