Программирование советников по индикаторам

Программирование советников, для проверки своей стратегии по каким либо индикаторам — достаточно простое дело.
И особых познаний в области программирования не нужны.

Данный шаблон подходит только для стратегий , которые явно показывают работу индикатора. 

Для заказа более сложных систем — обращайтесь к программистам(Программист MQL, Программист форекс, Советники на заказ ищите в гугле).
Такой вид программирования будет платный, но он даст Вам надежность, что Ваша система будет работать именно так, как Вы этого хотите. Выделил я не для того чтобы Вы мне присылали на почту свои идеи, а для того чтобы Вы понимали суть написанного

Итак, для написания советника по Вашим индикаторам необходимо скачать шаблон 

Код полностью открытый и комментированный, поэтому Вам не составит особого труда разобраться в его содержимом.
Остановимся на главном:

Настройки

Цитата:

extern string Indicators_=» Настройки индикатора»;
/* Здесь прописываем настройки Вашего индикатора\индикаторов */
/* Стандартные переменные для шаблона НЕ ИЗМЕНЯТЬ!!! */
extern string In_=» Настройки входа»;
extern bool ReverseSignal=false; // true — Переворачивать сигнал стратегии.
extern string trade_=»Настройки торговли»;
extern int Magic=777; // Магический номер
extern int StopLoss=0; // Стоплосс, 0 — не используется
extern int TakeProfit=0; // Тейкпрофит, 0 — не используется
extern int Slippage=0; // Проскальзывание
extern bool MarketWatch=false; // Режим торговли по MarketWatch true = сначала выставляются позиции/ордера без стопов, потом происходит модификация — для некоторых брокеров
extern bool ClosePosifChange=true; // Закрывать позиции при обратном сигнале
extern bool ONlyOnePosbySignal=true; // Играть только или бай и / или селл 1 позицией
extern string autolot_=»Настройки автолота»;
extern double Lots=0.1; // Фиксированный лот
extern bool DynamicLot=false; // Динамический лот
extern double LotBalancePcnt=20; // % от депозита
extern double MinLot = 0.1; // Минимальный лот при расчете
xtern double MaxLot = 5; // Максимальный лот при расчете
extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой
extern string timetrade_=»Настройки времени торговли»;
extern int OpenHour=0; // Час открытия торгов
extern int OpenMinute=0; // Минута открытия торгов
extern int CloseHour=23; // Час закрытия торгов
extern int CloseMinute=59; // Минута закрытия торгов
extern string Trailing_=»Настройки трейлингстопа»;
extern bool TrailingStopUSE=false; // Использовать трейлингстоп
extern bool IfProfTrail=false; // Использовать только дял профитных позиций — режим безубытка
extern int TrailingStop=0; // Дистанция трейлинга = 0 — минимально допустимый
extern int TrailingStep=1; // Шаг дистанции

Как видите в настройках существует блок, в который нужно перенести все внешние параметры индикатора.

Далее, для запуска Вашей стратегии, необходимо прописать сигналы от Вашего индикатора в блок:

Цитата:

/* Блок управления сигналом от Вашего индикатора
Создаем переменные для сигналов индикатора
*/
int IndicatorSignal()
{
int Sig=0;
double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE ,1); // Пример Вызова МА
double ExampleADX=iADX(Symbol(),0,34,PRICE_CLOSE,MODE_MAI N,1);// Пример Вызова АДХ
double ExampleCustom=iCustom(Symbol(),0,»Moving Averages»,20,0,MODE_SMA,1); // Пример вызова пользовательского индикатора
//Указываем Сигналы:
if( ExampleMA<Bid)Sig=1; // Если МА ниже цены БИД — открываемся в бай
if( ExampleMA>Bid)Sig=2; // Если МА выше цены БИД — открываемся в селл
// 1 — бай 2 — селл
return(Sig);
}

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

Вы можете посмотреть реализацию алгоритма на примере Советника по Стратегии (Форекс ПУРИА)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания Google.