Работа завершена
Техническое задание
Нужно написать советника на языке MQL5. Советник должен работать в тестере стратегий и на реале, с инструментом, на график которого он установлен. Советник на основе индикатора МА быстрая и медленная и Stochastic, нужен трэйлингстоп.
Их входные параметры должны вводиться через input .
Советник нужно написать отдельными функциями, индикаторы отдельной функцией init_Indikators выходные данные индикаторов: Глобальные переменные double MA_B, MA_M, Stox;
функция которая при инициализации советника загружает в массив размерностью double Arrey_Svecha[400,8] данные четырехсот последних сформировавшихся часовых баров дата в формате ггггммдд 20170325 без разделителей время ччмм 1435 без разделителей, open, high, Low, close, volume. В конце каждого часа подгружается новый бар. Массив доступен для обработки в других функциях!
Функция int Day_of_Wek(void); выдает день недели в момент запроса 1 – понедельник 6- суббота.
Функция int Time(void); выдает время в момент запроса ччмм 1435 ноль часов соответствует концу торгового дня.
Функция void Draw_Line(double HL, double LL) Функция рисует на графике две горизонтальные линии HL верхний уровень(синим) LL нижний уровень(красным), при повторном обращении к функции она удоляет линии нарисованные ранее.
Функция int Buy_Market(double количество лотов) Возможность добавлять лоты к существующей позиции. возвращает 1 в случае успеха 0 –при провале. Ошибку функция выводит на печать.
Функция int sell_Market(double количество лотов) так же.
Функция int Buy_Stop(double TP, double цена покупки, double SL) TP и SL задается в пунктах от цены покупки, если TP или SL равны нолю значит мы их не выставляем. Возвращает 1 в случае успеха 0 –при провале. Ошибку функция выводит на печать.
Так же Int Sell_Stop( ), int Buy_Limit( ), int Sell_Limit( )
Функция int Trailing_Stop(double в пунктах цены) подтягивает стоп-лосс с дискретностью 3 пункта.
Функция int Close_Position(double количество лотов) закрывает указанную долю лотов в существующей позиции, если количество лотов равно 0, то закрывает позицию полностью.
Все торговые функции пишутся опираясь на условие, что позиции открываются только в одном направлении и что бы открыть позицию в другом направлении нужно закрыть все предыдущие!