Ваши вопросы по языку MQL4

vladradon

Программист
Влад, вопрос не о закрытии, а о бинарных опционах.
Это я понял. Многие брокеры торгуют опционами.
В гранд капитал есть советник в котором это можно выставить.
В момент выставления ордера фиксируется время, относительно которого, можно делать отсчет времени его работы. Но если нужно просто закрыть ордер при закрытии свечи какого-то таймфрейма, то и время выставлять не нужно - просто в момент закрытия свечи запускаешь команду закрытия ордера.
 

AlexeyVik

Программист mql4 mql5
Всем привет. В гранд капитал есть советник в котором это можно выставить. Код закрыт. Если там это работает, наверное есть какие-то варианты.....
Они что, по типу американских опционов работают? Если «да» то видимо как-то можно. Но как… надо разбираться. На их сайте есть какое-то описание, я когда-то читал, но уже ничего не помню.
 

vladradon

Программист
В гранд капитал есть советник в котором это можно выставить. Код закрыт.
Нашел в инете опционного сова для Гранда и еще какого-то в открытом коде. Можете сами по названию набрать в поисковике - там от автора подробное описание и резы тестов.
 

Вложения

  • OptionsTrader.rar
    495,7 КБ · Просмотры: 35

gravity

Местный знаток
Всем привет. Подскажите пожалуйста как обрезать историю этому индикатору?
 

Вложения

  • SupportOHLC.mq4
    23,4 КБ · Просмотры: 15
  • SupportOHLC.jpg
    SupportOHLC.jpg
    136 КБ · Просмотры: 62

mobidik

-----
Всем привет. Подскажите пожалуйста как обрезать историю этому индикатору?
Так, как, самый старший используемый ТФ MN, имеет смысл ограничивать историю по количеству месяцев. В настройках задаем количество отображаемых месяцев на истории, а в самом коде, после строчки увеличения номера месяца, MN++, проверяем на условие: если значение в переменной MN больше за заданное в настройках значение количества месяцев - break, т.е., вываливаемся с цикла.
Индикатор делает пересчет на каждом тике - а смысл, если расчет нужен только раз в сутки, по приходу нового дня, и линии он рисует сразу на целый день, неделю, месяц. По этому, имеет смысл сделать обновление данных только по наступлению нового дня, при этом, быть может, и отпадет необходимость в глубине истории.
 

mobidik

-----
Индикатор делает пересчет на каждом тике - а смысл, если расчет нужен только раз в сутки, по приходу нового дня, и линии он рисует сразу на целый день, неделю, месяц. По этому, имеет смысл сделать обновление данных только по наступлению нового дня, при этом, быть может, и отпадет необходимость в глубине истории.
Ups, вот тут я не прав, т.к., при включенном параметре "День" - не будет отображения изменения значений на протяжении дня дневных уровней. Можно, конечно, заморочится и сделать обновление данных только по последнему дню, недели и месяце после того, как история уже будет построена на графике...
 

gravity

Местный знаток
Так, как, самый старший используемый ТФ MN, .
Спасибо. С месяцами вроде получилось, а с неделями и днями, что-то не очень.
Рассуждал так. В месяце=28800 мин. В неделе 7200. В дне 1440.
Для ограничения количества отображаемых недель 28800 / 7200=4.
Дни: 28800 / 1440 = 20;
Короче, не совпадает, почему? Другая формула для дней и недель должна быть? В принципе и так пойдёт) Но всё же интересно.


Screenshot_6.jpg
Screenshot_5.jpg
 

Вложения

  • SupportOHLC__.mq4
    23,7 КБ · Просмотры: 10

AlexeyVik

Программист mql4 mql5
Спасибо. С месяцами вроде получилось, а с неделями и днями, что-то не очень.
Рассуждал так. В месяце=28800 мин. В неделе 7200. В дне 1440.
Для ограничения количества отображаемых недель 28800 / 7200=4.
Дни: 28800 / 1440 = 20;
Короче, не совпадает, почему? Другая формула для дней и недель должна быть? В принципе и так пойдёт) Но всё же интересно.


Посмотреть вложение 450877
Для получения количества секунд в неделе используй такую функцию
Код:
PeriodSeconds(PERIOD_W1);
Для любого другого периода так-же.
Если нужны минуты, то просто раздели на 60
Код:
PeriodSeconds(PERIOD_W1)/60;
и получишь 10080 минут, а не 7200 по твоим расчётам.
 

mobidik

-----
Спасибо. С месяцами вроде получилось, а с неделями и днями, что-то не очень.
Рассуждал так. В месяце=28800 мин. В неделе 7200. В дне 1440.
Для ограничения количества отображаемых недель 28800 / 7200=4.
Дни: 28800 / 1440 = 20;
Короче, не совпадает, почему? Другая формула для дней и недель должна быть? В принципе и так пойдёт) Но всё же интересно.
Вот зачем спрашивать совета, если делаешь по своему...
после строчки увеличения номера месяца, MN++, проверяем на условие: если значение в переменной MN больше за заданное в настройках значение количества месяцев - break, т.е., вываливаемся с цикла.
Ведь гораздо проще посчитать нужное количество дней, недель или месяцев, нежели высчитывать, а сколько там будет минут в них, тем более, что касательно месяцев, так в них разное количество минут будет, т.к., где 30 дней, где 31, а где и 28. Т.е., в твоем варианте добавляется обязательная проверка на наступления нового дня, недели, месяца. Вообщем, как писал ранее, считаем количество дней, недель, месяцев, в зависимости от выбранных настроек. Единственное, что я ранее упустил, не написал, так это обязательное обнуление всех переменный участвующих в подсчете перед входом в цикл.
 

Вложения

  • SupportOHLC_history.mq4
    25,8 КБ · Просмотры: 18

gravity

Местный знаток
Вот зачем спрашивать совета, если делаешь по своему...

Ведь гораздо проще посчитать нужное количество дней, недель или месяцев, нежели высчитывать, а сколько там будет минут в них, тем более, что касательно месяцев, так в них разное количество минут будет, т.к., где 30 дней, где 31, а где и 28. Т.е., в твоем варианте добавляется обязательная проверка на наступления нового дня, недели, месяца. Вообщем, как писал ранее, считаем количество дней, недель, месяцев, в зависимости от выбранных настроек. Единственное, что я ранее упустил, не написал, так это обязательное обнуление всех переменный участвующих в подсчете перед входом в цикл.
Спасибо, я сделал как понял, додумался) по совету. А так бы вообще не сообразил) 🤝


Я пытался писать после MN++ )) но так не получилось cовсем)
 
Последнее редактирование:

Crik1978

Интересующийся
Нашел в инете опционного сова для Гранда и еще какого-то в открытом коде. Можете сами по названию набрать в поисковике - там от автора подробное описание и резы тестов.
Спасибо за ответ. нашел решение
 

Alhimikman

Прохожий
Привет,дорогие форумчане,подскажите,почему в советнике вылетает ошибка,он не тестится вообще.Невозможно открыть файл индикатора.Компилятор все норм,уже полдня копаюсь в интернете,ничего не нашел дельного
 

Вложения

  • Strategy 4.18.104.mq4
    226,6 КБ · Просмотры: 25

Ugar

Гуру форума
Привет,дорогие форумчане,подскажите,почему в советнике вылетает ошибка,он не тестится вообще.Невозможно открыть файл индикатора.Компилятор все норм,уже полдня копаюсь в интернете,ничего не нашел дельного
Потому что в советнике используется куча пользовательских индикаторов. Если любого из них нет в папке индикаторов, будет ошибка.
 

vaas04

$$$$$$$$$
Всем привет. Подскажите если это возможно.
Код имеет такой вид-
ObjectSet("FiboUp",OBJPROP_FIRSTLEVEL+0, 0.000); ObjectSetFiboDescription("FiboUp",0, "(0.0%)");
возможно ли как то передвинуть цифры под линию. Там две фибы в разные стороны и цифры накладываются друг на друга.Спасибо.
 

Вложения

  • GBPUSD.mmH1.png
    GBPUSD.mmH1.png
    26,9 КБ · Просмотры: 25

mobidik

-----
Всем привет. Подскажите если это возможно.
Код имеет такой вид-
ObjectSet("FiboUp",OBJPROP_FIRSTLEVEL+0, 0.000); ObjectSetFiboDescription("FiboUp",0, "(0.0%)");
возможно ли как то передвинуть цифры под линию. Там две фибы в разные стороны и цифры накладываются друг на друга.Спасибо.
Выбор положения текста кодом не предусмотрено. Как вариант, можно по пробовать продлить текст пробелами и закончить точкой, тем самым получим отступ от края, имхо.
 

vaas04

$$$$$$$$$
Выбор положения текста кодом не предусмотрено. Как вариант, можно по пробовать продлить текст пробелами и закончить точкой, тем самым получим отступ от края, имхо.
Пробовал не фурычит ват и спросил может кто знает. Спасибки в любом случае.
 

vaas04

$$$$$$$$$
С терминальной фибкой работает, и там должно работать:
Смысл в том что в каждом направлении свои цифры и они накладываются друг на друга, хотелось как то их разнести. Думаю это не выйдет. Смысл всего этого - в пятницу натягиваем фибо и следующая неделя в шоколаде.
 

Вложения

  • GBPUSD.mmH1.png
    GBPUSD.mmH1.png
    48 КБ · Просмотры: 29
Верх