cmillion 111 Author Share Posted March 15, 2018 Владимир, здравствуйте. По сути мне нужен скрипт, устанавливающий отложенные ордера, с возможностью задания размера лота, цены открытия, магик номера и примечания. Задание уровня стоплосса/тейкпрофита и автоматическое определение типа отложки (лимит/стоп), зависящее от внешней переменной PriceOpen и фактической ценой рынка на момент выставления отложки - это уже из разряда "удобных наворотов". В принципе, меня вполне устраивает стандартная панель терминала МТ, за исключением того, что в ней НЕВОЗМОЖНО задать магик номер. (Т. е. в стандартной панели установки отложенного ордера я могу руками задать цену отложки, её тип, пересчитать и задать цену стоплосса/тейкпрофита, написать необходимое примечание, но НЕ могу задать магик номер). Во всех же существующих скриптах, дающих дополнительные удобства и возможность устанавливать магик номер, НАПРОЧЬ отсутствует возможность задать необходимые текстовые комментарии. А комментарий мне нужен. И важен. Надеюсь объяснил не очень запутанно. Любое решение, учитывающее все вышеописанные потребности меня устроит, но оптимальным конечно был бы скрипт, который при бросании на график инструмента, выдавал панель с такими внешними переменными: extern double Lot = 0.01; //объем ордера extern double PriceOpen = 1.06000; //цена открытия ордера (может быть как в 4-х, так и в 5-знаке) extern bool SELL = true; //выставить отложенный ордер SELL extern bool BUY = true; //выставить отложенный ордер BUY extern int Stoploss = 50; //уровень выставления SL в пунктах, если 0, то SL не выставляется extern int Takeprofit = 50; //уровень выставления TP в пунктах, если 0, то TP не выставляется extern int Magic = 777; //уникальный номер ордера extern string Text = "Сменить!"; //текст комментария 15-20 символов После задания всех переменных и нажатия "ОК", скрипт выставляет отложку и выгружается. Если что-то упустил или непонятно объяснил - скажите. Объясню, уточню, дополню. Заранее благодарен. Вы указали BUY и SELL это значит, что советник сам должен определять ставить ему buystop или buylimit в зависимости от указанной цены? Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
Rodeo-Wilshire 66 Share Posted March 15, 2018 (edited) Вы указали BUY и SELL это значит, что советник сам должен определять ставить ему buystop или buylimit в зависимости от указанной цены? Да. Правильно. Для примера: Цена рынка 1,23500. Мы задаем цену для открытия отложенного ордера PriceOpen = 1,24000. При BUY = true; скрипт определяет что при таком условии необходимо выставить buy stop. При SELL = true; скрипт определяет, что при таком условии необходимо выставить ордер sell limit. При BUY = true; и SELL = true; выставляется два противоположно направленных ордера. Один buy stop, второй sell limit. Если это сложнореализуемо - можно применить решение с ручным указанием типа ордера. Это не проблема. Это лишь дополнительное удобство эксплуатации. Edited March 15, 2018 by Rodeo-Wilshire Quote Link to post Share on other sites
cmillion 111 Author Share Posted March 16, 2018 Да. Правильно. Для примера: Цена рынка 1,23500. Мы задаем цену для открытия отложенного ордера PriceOpen = 1,24000. При BUY = true; скрипт определяет что при таком условии необходимо выставить buy stop. При SELL = true; скрипт определяет, что при таком условии необходимо выставить ордер sell limit. При BUY = true; и SELL = true; выставляется два противоположно направленных ордера. Один buy stop, второй sell limit. Если это сложнореализуемо - можно применить решение с ручным указанием типа ордера. Это не проблема. Это лишь дополнительное удобство эксплуатации. Да. Правильно. Для примера: Цена рынка 1,23500. Мы задаем цену для открытия отложенного ордера PriceOpen = 1,24000. При BUY = true; скрипт определяет что при таком условии необходимо выставить buy stop. При SELL = true; скрипт определяет, что при таком условии необходимо выставить ордер sell limit. При BUY = true; и SELL = true; выставляется два противоположно направленных ордера. Один buy stop, второй sell limit. Если это сложнореализуемо - можно применить решение с ручным указанием типа ордера. Это не проблема. Это лишь дополнительное удобство эксплуатации. Держите удачной торговли! _PendingOrders.mq4 1 Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
Rodeo-Wilshire 66 Share Posted March 16, 2018 Держите удачной торговли! Владимир, благодарю. То что требовалось. Проверил - все работает замечательно. Удобно и функционально. Еще раз спасибо. Благополучия Вам и процветания. Quote Link to post Share on other sites
cmillion 111 Author Share Posted March 19, 2018 В 16.03.2018 в 19:43, Rodeo-Wilshire сказал: Владимир, благодарю. То что требовалось. Проверил - все работает замечательно. Удобно и функционально. Еще раз спасибо. Благополучия Вам и процветания. Рад был помочь, обращайтесь. Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
cmillion 111 Author Share Posted March 28, 2018 Скрипт cm tral stop orders del orders При старте удаляет все отложенные ордера. Вычисляет разницу между суммой лотов направлений и выставляет в недостающем направлении стоп ордер лотом равным разности лотов. Далее тралит этот ордер за ценой по экстремумам свечей до срабатывания. Если кинуть скрипт выше текущей цены, то он выставит buystop, если ниже цены то sellimit cm tral stop orders del orders.mq4 Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 1, 2018 Владимир, добрый день! Очень нужен скрипт, реализующий следующий алгоритм: - скрипт при запуске строит на графике две линии: зеленую (назовем ее линией заявки) и красную (назовем ее стоп-линией). После построения линии можно перемещать мышью в любое место. При этом если зеленая линия выше красной, то в дальнейшем планируем выставить бай-стоп ордер, если зеленая ниже красной, то соответственно селл-стоп. - рассмотрим на примере заявки на покупку: линии выставлены и цена перебивает линию заявки. Срабатывает стоп-ордер на покупку, а на уровне стоп-линии выставляется стоп-лосс (в идеале на n пунктов ниже самой линии, n задаем в настройках). Если же цена не идет в нашу сторону и пересекает красную стоп-линию, то заявка снимается, линии убираются и отправляется push- уведомление. - Для входа в селе все аналогично, но линии соответственно располагается наоборот. В готовых решениях такого не встречал. Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 3, 2018 В 01.04.2018 в 15:17, mike23 сказал: Владимир, добрый день! Очень нужен скрипт, реализующий следующий алгоритм: - скрипт при запуске строит на графике две линии: зеленую (назовем ее линией заявки) и красную (назовем ее стоп-линией). После построения линии можно перемещать мышью в любое место. При этом если зеленая линия выше красной, то в дальнейшем планируем выставить бай-стоп ордер, если зеленая ниже красной, то соответственно селл-стоп. - рассмотрим на примере заявки на покупку: линии выставлены и цена перебивает линию заявки. Срабатывает стоп-ордер на покупку, а на уровне стоп-линии выставляется стоп-лосс (в идеале на n пунктов ниже самой линии, n задаем в настройках). Если же цена не идет в нашу сторону и пересекает красную стоп-линию, то заявка снимается, линии убираются и отправляется push- уведомление. - Для входа в селе все аналогично, но линии соответственно располагается наоборот. В готовых решениях такого не встречал. Вы пишите "(в идеале на n пунктов ниже самой линии, n задаем в настройках)" А для чего? Вы хотите чтобы buystop ордер отменялся по цене линии, а если он сработает, то его стоплосс был ниже? Или тут другой скрытый смысл? Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 3, 2018 41 минуту назад, cmillion сказал: Вы пишите "(в идеале на n пунктов ниже самой линии, n задаем в настройках)" А для чего? Вы хотите чтобы buystop ордер отменялся по цене линии, а если он сработает, то его стоплосс был ниже? Или тут другой скрытый смысл? Добрый вечер! Совершенно верно, стоп-лосс нужен чуть ниже начальной линии. Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 3, 2018 4 часа назад, mike23 сказал: Добрый вечер! Совершенно верно, стоп-лосс нужен чуть ниже начальной линии. Вы пишите, что нужен скрипт. Это принципиально или советник подойдет? Нужно ли заканчивать работу скрипта после удаления ордера? Или он и дальше анализирует цену и по новой должен открывать отложку при достижении ценой стартовой линии? Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 (edited) 9 часов назад, cmillion сказал: Вы пишите, что нужен скрипт. Это принципиально или советник подойдет? Нужно ли заканчивать работу скрипта после удаления ордера? Или он и дальше анализирует цену и по новой должен открывать отложку при достижении ценой стартовой линии? В принципе эти линии при пробитии стоп-линии больше уже не нужны. Но если советник будет отправлять пуш-уведомления, то несложно и вручную все перестроить. Edited April 4, 2018 by mike23 исправил ошибку Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 4, 2018 4 часа назад, mike23 сказал: В принципе эти линии при пробитии стоп-линии больше уже не нужны. Но если советник будет отправлять пуш-уведомления, то несложно и вручную все перестроить. Проверьте Советник при запуске строит на графике две линии: зеленую (старт) и красную (стоп). Линии можно перемещать мышью в любое место. При этом если зеленая линия выше красной, то в дальнейшем планируем выставить бай-стоп ордер, если зеленая ниже красной, то соответственно селл-стоп. Если цена пересекла линию старта то на расстоянии указанном в параметрах от этой линии выставляется стоп ордер. Если цена достигла стоп ордера, то советник прекращает свою работу. Если же цена не достигла стоп ордера, а развернулась и пересекла линию стоп, то ордер удаляется и советник заканчивает работу. установка стоп ордера при пересечении ценой линии.mq4 Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 Спасибо, буду дома чуть позже и сразу постараюсь проверить. Quote Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 (edited) Поставил, все встало, рожица улыбается и в журнале все ОК, но я сижу и туплю - как линии нарисовать? Самому? Или советник должен их рисовать? При запуске Автоторговли линии не появляются. Советнику торговать разрешил. Edited April 4, 2018 by mike23 Дополнил Quote Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 Владимир, все работает. Не знаю, почему не получалось первый раз. Может просто терминал перегружен и долго думал, а я просто не дожидался. Сегодня протестирую внимательней. Quote Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 Попытка открыть сделку в шорт - сделка открылась, СЛ встал, советник самоудалился, уведомление пришло. Сделка в лонг - все штатно, (неприятно удивился среду, обычно этого не видишь). Нашел особенность - если на графике есть открытая позиция, советник загружается и удаляется не построив свои линии. Имитация пересечения стоп-линии вниз - не происходит ничего. Изначально было задумано, что при этом все линии убираются и никаких заявок не будет. При пересечении стоп-линии вверх - аналогично, ничего не происходит, линии на месте, советник работает. Скрины прикладываю. Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 4, 2018 36 минут назад, mike23 сказал: Попытка открыть сделку в шорт - сделка открылась, СЛ встал, советник самоудалился, уведомление пришло. Сделка в лонг - все штатно, (неприятно удивился среду, обычно этого не видишь). Нашел особенность - если на графике есть открытая позиция, советник загружается и удаляется не построив свои линии. Имитация пересечения стоп-линии вниз - не происходит ничего. Изначально было задумано, что при этом все линии убираются и никаких заявок не будет. При пересечении стоп-линии вверх - аналогично, ничего не происходит, линии на месте, советник работает. Скрины прикладываю. На первом скрине не увидел "наших" линий и не понял причем тут Ask? На втором скрине что должно было произойти? Там цена зацепила линию стоп. Если бы она зацепила линию старт, то тогда открылся бы стоп ордер. Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 4, 2018 На первом скрине наша линия красная верхняя. Это один и тот же график с разницей в пару минут. Вывел фид и аск, так как не был уверен, по какой цене сработает линия. В 01.04.2018 в 15:17, mike23 сказал: Если же цена не идет в нашу сторону и пересекает красную стоп-линию, то заявка снимается, линии убираются и отправляется push- уведомление. Вот это должно было произойти по задумке. То есть, если цена пошла против прогноза и пересекла стоп-линию. то модель на вход сломана и нужно обе линии убрать и советнику закончить работу и отправить уведомление. Может путано формулирую? Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 4, 2018 49 минут назад, mike23 сказал: На первом скрине наша линия красная верхняя. Это один и тот же график с разницей в пару минут. Вывел фид и аск, так как не был уверен, по какой цене сработает линия. Вот это должно было произойти по задумке. То есть, если цена пошла против прогноза и пересекла стоп-линию. то модель на вход сломана и нужно обе линии убрать и советнику закончить работу и отправить уведомление. Может путано формулирую? Я понял так, что заявка это открытый отложенный ордер, а он на скрине еще не открыт. Вот и нечего снимать. Если нужно просто линии удалять, так тоже можно сделать, но уже не сегодня. Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 5, 2018 Да, именно так - просто удалить линии, если модель для входа сломана. Спасибо! Quote Link to post Share on other sites
mike23 0 Share Posted April 5, 2018 Еще момент - при изменении ТФ советник перерисовывает линии по новой. Есть ли возможность этого избежать? То есть переставил их руками на место и до выставления заявки или отмены модели сами они уже не перемещаются советником. Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 5, 2018 9 часов назад, mike23 сказал: Еще момент - при изменении ТФ советник перерисовывает линии по новой. Есть ли возможность этого избежать? То есть переставил их руками на место и до выставления заявки или отмены модели сами они уже не перемещаются советником. Сделал чтобы при перезапуске ТФ линии не удалялись. Сделал отключение советника даже если нет отложенных ордеров Добавил функцию: Если бросить советник мышью выше текущей цены, то линии сразу встанут старт выше стопа (buystop) а если ниже то наоборот. Иначе просто не сможете их переставить на высоколиквидном рынке (будут удаляться в момент перетаскивания). установка стоп ордера при пересечении ценой линии 1.mq4 Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
mike23 0 Share Posted April 6, 2018 22 часа назад, cmillion сказал: Сделал чтобы при перезапуске ТФ линии не удалялись. Сделал отключение советника даже если нет отложенных ордеров Добавил функцию: Если бросить советник мышью выше текущей цены, то линии сразу встанут старт выше стопа (buystop) а если ниже то наоборот. Иначе просто не сможете их переставить на высоколиквидном рынке (будут удаляться в момент перетаскивания). установка стоп ордера при пересечении ценой линии 1.mq4 Владимир, спасибо за отклик на хотелки. До понедельника протестировать толком не смогу - на выходные уезжаем с семьей. Quote Link to post Share on other sites
mike23 0 Share Posted April 6, 2018 23 часа назад, cmillion сказал: Сделал чтобы при перезапуске ТФ линии не удалялись. Сделал отключение советника даже если нет отложенных ордеров Добавил функцию: Если бросить советник мышью выше текущей цены, то линии сразу встанут старт выше стопа (buystop) а если ниже то наоборот. Иначе просто не сможете их переставить на высоколиквидном рынке (будут удаляться в момент перетаскивания). установка стоп ордера при пересечении ценой линии 1.mq4 Владимир, быстрый тест показал, что при пересечении стоп-линии все отрабатывает штатно, а вот при пересечении старт-линии заявка не выставляется, если уменьшаю в настройках параметр "расстояние от линии старт до отложенного ордера". Какое у него минимальное значение? Или нужно спред смотреть? Quote Link to post Share on other sites
cmillion 111 Author Share Posted April 6, 2018 1 час назад, mike23 сказал: Владимир, быстрый тест показал, что при пересечении стоп-линии все отрабатывает штатно, а вот при пересечении старт-линии заявка не выставляется, если уменьшаю в настройках параметр "расстояние от линии старт до отложенного ордера". Какое у него минимальное значение? Или нужно спред смотреть? Минимальное значение должно быть не меньше стоплевел. А какой стоплевел на той паре, что Вы ставите, Вам нужно узнать у Вашего брокера. 1 Quote Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5 Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.