Советник открывающий ордера каждый час, по времени и в нужный момент
Добрый день уважаемые читатели и гости блога webmastermaksim.ru. Сегодня мы поговорим о том, как существуют вспомогательные советники, которые выставляют ордера по времени по рынку и отложенные, а также как выполняется закрытие сделок.
Советник, открывающий приказы каждый час или по времени – это инструмент, который помогает в разных трейдерских ситуациях. Вообще, насколько я могу судить, интерес к таким советникам, которые совершают подобные действия, существует давно. И в 2006 были такие роботы и в 2008 году по запросам можно отследить интерес к ним, и сейчас просьбы изготовить таких экспертов продолжают появляться. При этом часто бывалые трейдеры, да не просто трейдеры, а те, кто занимается алготрейдингом, то есть, программируют и торгуют, помогают новичкам. Это в целом, хорошая традиция. Обычно она основывается на взаимном обмене. Новичок поставляет идеи, а бывалый получает право пользоваться этой идеей и создает код эксперта, которым делится со своим партнером.
Когда появляются условия для использования этих экспертов
Однако ближе к делу! Мой сегодняшний рассказ – это история об эксперте для размещения приказов в нужный момент. Используют его для самых разных целей. Например, существуют торговые системы, которые жестко привязываются к моменту начала свечи или сессии. К примеру, существует теория, так называемых, длинных волн известного ученого Н.Д. Кондратьева и, по моим скромным исследованиям, некое подобие таких волн существует в реальности, однако они проявляются на разных таймфреймах, и существуют разный по продолжительности период. Можно, например, найти их на USDCAD на Mn.
Там есть свечи, которые очень похожи друг на друга каждый месяц. В январе, к примеру, на протяжении, например, шести лет наблюдается восходящий тренд или нисходящий не в этом суть. Для того, чтобы получить доход от использования этого подхода, нужно разместить приказ в определенном методом исследования направлении в начале месяца и удалить в конце и так делать только в определенные месяцы в году. Вот как раз для этого эксперт и размещает приказы по дате часам и минутам.
Эксперт, отдающий приказы в нужное время также реализует другие задачи, например, известно, что завтра на рынке будет тренд и торговая идея предусматривает, что нужно занимать позиции на каждой часовой свече в направлении тренда. А снять приказы нужно в конце торгового дня.
Таким образом, появляться приказы будут в виде такой сетки. Как это делают по-другому, можно посмотреть на странице, где форекс штурмует стратегия сетка. К концу рабочего дня происходит удаление, тоже в нужный момент, buy-, sellstop приказов или по рынку.
Почему именно так? Потому что такой подход я встречал в такой модификации: размещение приказов на каждой свече рыночным приказом или также на каждой свече, но buy-, sellstop-ами в противоположные стороны. Во втором случае, даже можно не знать в какую сторону двинется рынок, а просто ловить движение, как будто бабочку сачком. Также при размещении buy-, sellstop-ов приказов в обе стороны, может быть, до конца дня один из них не откроется и так и останется висеть.
Скачать
Итак, становится понятно, что на сегодня существуют три типа вспомогательных экспертов в данном контексте.
- Первый тип – это эксперт размещения приказов по рынку с учетом определенных часов и минут,
- Второй тип – это эксперт отложенных приказов по часам и минутам.
- Третий тип может реализовываться внутри первых двух или быть отдельной программой. В нашем примере именно так.
Эксперт приказов по рынку
Когда вы знаете, что восходящий тренд начнется в 23:50, так что цена обязательно пройдет 60 пунктов, при стоплоссе 30 пунктов, и у вас есть эксперт, который будет тралить стоплосс, так что вам понадобится Магический номер приказа. При этом вы будете не далеко от терминала, так что звук оповещающий открытие будет кстати. При таких условиях вам понадобится первый тип эксперта. В данном случае – это эксперт e-OpenByTime. У этого эксперта, которого можно скачать с помощью социальных кнопок есть следующие параметры:
- TimeTrade – тут задается точный момент, когда приказ должен быть открыт. Формат данных чч:мм.
- Duration – период в секундах в течение которого эксперт будет проводить попытки разместить приказ.
- Sell – тут нужно указать тип приказа true – значит, что откроется приказ по рынку на продажу актива. Значение false соответствует приказу на покупку.
- Lots – этот параметры ограничит ваш торговый лот заданным значением.
- SopLoss – стоплосс рассчитан на четырехзнаковых брокеров, поэтому для того, чтобы определить его размер в 30 пунктов нужно установить значение 300
- TakeProfit – с тейк профитом такая же история.
- MagicNumber – думаю, тут все понятно.
- UseSound – дальше идут настройки звука.
- NameFileSound – тут выбираем звуковой файл.
- Из оставшихся настроек может вызвать вопросы только MaketWatch. Оказывается, эта настройка нужно для того, чтобы торговые запросы отправлялись по правилам Market Watch, которые требуют некоторые брокеры.
Эксперт отложенных приказов
Второй вид экспертов, которые работаю на открытии отложенных приказов – это эксперты, для различных коробочных торговых систем. Подобные эксперты коробки уже были описаны мной ранее. Речь идет о таких роботах, как BlueBox или 4H Box Breakout, или GMTBreakout.
На этот раз, я опишу эксперта, так скажем, вспомогательного, который будет без оглядки на тренды и прочие признаки графика открывать две buy-, sellstop сделки в оба направления.
Речь идет о эксперте 37_Exp-TimeOpenBuy. Настройка достаточно проста.
- BuyStopOpen и SellStopOpen – оба в этом случае определяются в значении – true.
- Distance – определяет на каком расстоянии от текущей цены будут размещены эти приказы. Обратите внимание, что значение тут и в следующей строке рассчитано для четырехзначного брокера, поэтому для установки расстояния нужно использовать число, например, 30 пунктов и добавлять ещё один 0 в конце.
- TPBuyStop, SLBuyStop, TPSellStop, SLSellStop – позволяют определить каково расстояние до тейкпрофита и стоплосса по каждому из приказов. (тут тоже к числу добавляем ноль в конце.)
- CloseAfterOpen – позволяет удалить сделку, которая осталась после того, как сработал один из buy-, sellstop-ов ордеров.
- Slippage – настройка, которая по моему опыту должна быть определена на любую величину кроме нуля, чтобы ордера смогли разместиться. Это величина максимального проскальзывания.
- CloseIfNotOpen – задумывалась, как функция, которая удаляет все несработавшие buy-, sellstop-ы на новом времени. Однако, как я ни старался задействовать эту операцию, ничего из этого не вышло.
- Остальные опции нужны для того, чтобы определить момент входа в рынок выхода из него.
Эксперт удаляющий отложники
Наконец третий советник, который выполняет с помощью мною составленного кода mql4 удаление buy-, sellstop ордера по времени, точнее всех из них. В общем, теперь у вас будет полный фарш советники для размещения buy-, sellstop ордеров и по рынку и эксперта, который выполнит закрытие ордеров по времени. Для этого перед циклом, который просто по факту закрывает buy-, sellstop ордера или правильнее будет сказать: удаляет их, нужно выполнить проверку if (TimeCurrent()>=BlackTime). При этом переменной присваивается время, после которого ордера удаляются.
Те, кто не знает, как установить эксперта или скачать метатрейдер, переходите по ссылке.
Обращаю внимание, что и платные и бесплатные эксперты протестированы мной, а отзывы я даю в VIP группе, где провожу бесплатное обучение.
Выводы
Сегодня мы познакомились с очень полезным набором вспомогательных советников, которых можно применять в разных рыночных условиях. Для их использования понадобится быстрая настройка и какой-нибудь прогноз по рынку. В результате их использования вы сможете организовать вполне себе самостоятельную и почти полностью автоматические входы и выходы. Я бы даже сказал, что все будет происходить автоматически, но только в рамках парочки действий, затем настройку экспертов придется менять. Тем не менее, это уже хорошее подспорье тем, у кого нет времени без ограничения сидеть перед монитором. На этом все, дорогие друзья. Надеюсь вам была интересна эта страница.
Советник не открывает ордера
//—— Объявление переменных ——————————————
extern int bb_period=20; //Период индикатора ББ
extern int bb_shift=1; //Сдвиг голубого индикатора, белого расчитывается автоматически
extern int Magic=55555; //Магик ордера
extern double Min_Lot_opn=0.1; //Значение минимального лота открытия
extern bool MM=false; //Использовать фиксированный лот или динамический
extern double Proc=10; //Процент для рассчета ордера открытия
//———————————————————————
int bb_shift_white; //Сдвиг белого индикатора, зависит от голубого
bool New_Bar=false; //Флаг нового бара
double Lot_opn; //Значение лота открытия
double TP_White; //Тейк для открытых по белой линии
double TP_Blue_Buy; //Тейк для BUY(открытие по голубой линии)
double TP_Blue_Sell; //Тейк для SELL(открытие по голубой линии)
double SL_Blue; //Стоп для BUY
double SL_S; //Стоп для SELL
//int Tic_1,Tic_2,Tic_3,Tic_4;
//———————————————————————
//——————Получаем данные с индикаторов———————-
bb_shift_white=bb_shift+1;
double bb_white_line_up_0=iBands(NULL,0,bb_period,bb_shift_white,0,PRICE_CLOSE,MODE_UPPER,0);
double bb_white_line_down_0=iBands(NULL,0,bb_period,bb_shift_white,0,PRICE_CLOSE,MODE_LOWER,0);
double bb_blue_line_up_0=iBands(NULL,0,bb_period,bb_shift,0,PRICE_CLOSE,MODE_UPPER,0);
double bb_blue_line_down_0=iBands(NULL,0,bb_period,bb_shift,0,PRICE_CLOSE,MODE_LOWER,0);
double bb_line_centre_0=iMA(NULL,0,bb_period,0,MODE_SMA,PRICE_CLOSE,0);
double bb_white_line_up_1=iBands(NULL,0,bb_period,bb_shift_white,0,PRICE_CLOSE,MODE_UPPER,1);
double bb_white_line_down_1=iBands(NULL,0,bb_period,bb_shift_white,0,PRICE_CLOSE,MODE_LOWER,1);
double bb_blue_line_up_1=iBands(NULL,0,bb_period,bb_shift,0,PRICE_CLOSE,MODE_UPPER,1);
double bb_blue_line_down_1=iBands(NULL,0,bb_period,bb_shift,0,PRICE_CLOSE,MODE_LOWER,1);
double bb_line_centre_1=iMA(NULL,0,bb_period,0,MODE_SMA,PRICE_CLOSE,1);
//————-Определяем критерии открытия позиций———————
TP_White=bb_line_centre_0;
TP_Blue_Buy=bb_white_line_up_0;
TP_Blue_Sell=bb_white_line_down_0;
SL_Blue=bb_line_centre_0;
Fun_New_Bar(); //Обращение к ф-ии
if (New_Bar==true&&OrdersTotal() <=0)
>
return(0);
>
//—————Функция определения нового бара————————
void Fun_New_Bar() // Ф-ия обнаружения ..
< // .. нового бара
static datetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет
if(New_Time!=Time[0]) // Сравниваем время
New_Time=Time[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
>
>
//———————————————————————
Так вот советник не открывает ордера и не возвращает Тикет, хотя в тестере показывает открытие. В логах так же нет никаких ошибок. Вообще ничего не пишет, как буд-то советник и не пытается в действительности их открывать.
Советник не открывает ордера форекс всем
Некоторые наиболее часто возникающие проблемы- ошибки в работе форекс — советников и возможные способы их решения. Коды ошибок можно узнать, посмотрев папки «Эксперты» и «Журнал» панели «Терминал», или папку «Журнал» панели «Тестер», если ошибки происходят в процессе тестирования.
Если проблема остаётся или кода вашей ошибки нет в этом перечне, необходимо обращаться к разработчику советника.
ошибка 4, 146
Торговый сервер занят
1. Советник подал слишком много приказов одновременно
2. Не дождавшись ответа от сервера, при выполнении операции — советник пытается отправить новый приказ, Сервер перегружен
Способы решения:
1. Перезагрузка терминала
2. Оптимизация кода советника с помощью функций обработки ошибок.
ошибка 8, 141
Слишком частые запросы
1. Предыдущие причины ошибки, в сильно частом запросе.
ошибка129
Неправильная цена
1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная
Способы решения:
1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID, SELL нужно открывать по BID а закрывать по ASK
ошибка 130,145
Неправильные стопы
1. Стопы= Стоплосс, тейкпрофит или уровень открытия отложенника или лимитника.
2. Стопы расположены слишком близко к цене
3. Ваш счет открыт в группе ECN или NDD
4. Ваш брокер использует Рыночное исполнение позиций
Способы решения:
1. Проверьте значения Ваших стоплосс, тейпрофитов
2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов — соблюдайте уровень минимальной дистанции
3. В хорошо написанном советнике должны быть функции работы на счетах ECN и NDD
ошибка 131
Неправильный объем
1. Неправильный лот при открытии сделки
2. Лот, который вы пытаетесь открыть, меньше минимального
3. Лот, который вы пытаетесь открыть больше максимального
4. Разрядность лота отличается от разрядности брокера.
Способы решения:
1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ
2. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие.
3. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов=1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов.
ошибка 132
Рынок закрыт
1. Рынок закрыт в Выходные дни
Способы решения:
1. Пробуйте связаться с рынком после выходных
ошибка 133
Торговля запрещена
1. В данный момент торговля запрещена
2. По данной валютной паре запрещено торговать
Способы решения:
1. Попробуйте торговать после выходных
ошибка134
Недостаточно денег для совершения операции
1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи
Способы решения:
1. Проверьте уровень свободных средств, и рассчитайте средства, которые Вам нужны, для открытия лота
2. Следите за уровнем Ваших свободных средств
ошибка135..138
Цена изменилась
1. Реквот
2. Слишком быстрый рынок
3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене
Способы решения:
1. Не торгуйте в такие моменты
2. Увеличьте уровень проскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене.
3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций
ошибка 147
Использование даты истечения ордера запрещено брокером
1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера
Способы решения:
1. В советнике, в функции OrderSend в параметре срок истечения поставьте=0
2. Не устанавливайте срок истечения ордера.
ошибка 148
Количество открытых и отложенных ордеров достигло предела, установленного брокером.
1. Максимальное количествоотк рытых ордеров и позиций достигнут предела, установленного брокером.
Способы решения:
1. Удалите или закройте часть позиций
2. Остановите процесс открытия новых позиций
3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда.
ошибка 4012, 4013
zero devide
Остаток от деления на ноль
1. Вы пытаетесь поделить число на 0.
Способы решения:
1. Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом)
ошибка 4017
Вызовы DLL не разрешены
1. В Вашем терминале запрещен вызов DLL
Способы решения:
1. Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса.
ошибка 4018 , 4019
Невозможно загрузить библиотеку
1. Библиотека повреждена
2. Вызов библиотеки осуществляется с ошибкой
Способы решения:
1. Проверьте библиотеку DLL
2. Обратитесь к разработчику данной библиотеки
ошибка 4020
Вызовы внешних библиотечных функций не разрешены
1. В Вашем терминале запрещен вызов функций из внешних экспертов
Способы решения:
1. Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов,
ошибка 4103
Невозможно открыть файл
1. Данный файл не существует
2. Данный файл заблокирован
Способы решения:
1. Проверьте наличие указанного файла в папке experts – files Тester – files
2. Проверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записичтения файла
ошибка 4106
Неизвестный символ
1. Символа нет в обзоре рынка
Способы решения:
1. В обзоре рынка – правой кнопкой мыши – показать все символы
2. Проверить названия символа в советнике и наличие его в обзоре рынка
3. Некоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс.
ошибка 4108
Неверный номер тикета
1. Тикет ордера, который выбирает эксперт – не существует
2. Эксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.
3. При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером.
Способы решения:
1. Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советника
2. Отключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию
ошибка 4109
Торговля не разрешена
1. Советнику запрещено торговать, на графике грустный смайл или крестик
Способы решения:
1. Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники.
ошибка 4110, 4111
1. Длинные позиции не разрешены
2. Короткие позиции не разрешены
Способы решения:
1. В настройках советника, в вкладке Общие не разрешен тип позиций
2. В Вкладке Общие, при установке советника есть выбор позиций:
Long Short – Разрешены BUY SELL
Only Long– Разрешен BUY
Only Short – Разрешен SELL
Источник https://webmastermaksim.ru/sovetniki-foreks/sovetneyk-otkryvaiushchii-ordera-kazhdyi-chas.html
Источник https://www.mql5.com/ru/forum/146004
Источник http://wellforex.ru/publ/forvard_testy/stati_forex/ustranenie_tipovykh_oshibok_v_rabote_sovetnikov_foreks/7-1-0-320