воскресенье, 10 апреля 2016 г.

Как самому создать простой советник для форекса ?

Самый простой советник можно написать на 10-15 минут .
Хотите попробовать ?

Давайте создадим простой торговый робот , который на одной валютной паре , открывает BUY или SELL ордера .
Сначала обратимся к учебнику MQL4 и посмотрим что нам нужно что бы открыть ордер .
Что бы открыть сделку нам нужен вот такой код :

 OrderSend(Symbol(),OP_BUY,LOT,Ask,Slip,StopLoss,TakeProfit,Magic,0,Yellow);

  OrderSend - это команда на открытие , то что в скобках , параметры открываемого
ордера . Как только мы их укажем , торговый терминал МТ4 сможет выполнить команду .

Symbol() - валютная пара , здесь мы ничего менять не будем .
Программа сама определит на каком валютном графике будет торговать советник .

OP_BUY - открываем ордер BUY .

 LOT - объём торговли .

 Ask - цена по которой откроется ордер .

 Slip - нам не нужно , обычно ставят значение 2 - 3 .

 StopLoss - значение стоп лосс , ограничение возможных убытков .
По этому значению ордер автоматически закроется .

  TakeProfit - тейк профит , ограничение прибыли .
 По этому значению ордер автоматически закроется .

Magic - идентификатор советника , если на терминале торгуют другие .

0 и Yellow - эти значения нам пока не нужны .

Как только мы укажем все эти параметры , команда OrderSend откроет ордер с указанными параметрами .

Давайте пропишем все значения которые нам нужны .

 #property copyright "Copyright 2013"
#property link  "http://forextrendriver2.blogspot.com.by/"

 extern   double   Lot = 0.01;           // -- указываем лот       
 extern   int StopLoss = 50;             //  -- указываем стоп лосс
 extern   int TakeProfit =50;             // --- указываем тейк профит
 extern  int        Magic = 23234 ;     //--- идентификатор советника

extern - означает , что эти значения можно менять в меню настроек


 double - дробные цифры , у нас лот  0.01
 int  - целые числа

Прописав эти значения  , создаём команду на BUY ( покупка ) ордер .
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,Magic,0,Yellow);

Новичку могут быть не понятны установки стоп лосса и тейк профита :
 Bid-StopLoss*Point 
Ask+TakeProfit*Point 

Ask и Bid  - это цена покупки валюты и продажи , они имеют разные значения . Можете навести справки , через поиск , что такое Ask и Bid . 

В нашем случае стоп лосс должен быть ниже цены Bid  , Bid-StopLoss*Point  
  StopLoss мы уже прописали = 50 .                Bid - 50 . ,
 но что бы не было  ошибки 50 нужно умножить на  размер пункта текущего графика  в валюте котировки. Для этого в MQL4 есть переменная Point . Точно также прописывается и тейк профит .

Ордер на продажу , SELL , очень похож , но имеет небольшие отличия : 
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,Magic,0,Yellow)

Внимательно сравните с командой на открытие Buy ордера , вы должны заметить отличия :

OP_SELL - продаём и по другому прописаны значения стоп лосса и тейк профита . Не будем разбирать все это очень подробно , вы сами можете в этом разобраться с помощью учебника MQL4 . 

Теперь можно всё собрать в кучу , не забыв перед командами  OrderSend поставить команду  start . 
Вот что у вас получится : 


// ----------  начало  кода --------------------

#property copyright "Copyright 2013"

#property link  "http://forextrendriver2.blogspot.com.by/"

 extern double   Lot = 0.01;  // -- указываем лот    

 extern  int StopLoss = 50; //  -- указываем стоп лосс

 extern  int TakeProfit =50;  // --- указываем тейк профит

 extern int        Magic = 23234 ; //--- идентификатор советника

 int start()
{
if (OrdersTotal()<2){

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,Magic,0,Yellow);

OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,Magic,0,Yellow);
}
}

// ----------  конец кода --------------------


 (OrdersTotal()<2)   -  что бы советник не открывал больше двух ордеров .

Перенесите эти коды в редактор Meta Editor  ( есть в МТ4 терминале , нажмите F4 )  и потом скомпилируйте . Теперь этот простейший советник можно поставить на какой нибудь график . Если вы разрешите авто торговлю , начнут открываться сделки на покупку и продажу .

Конечно таким советником не стоит торговать , ему ещё нужно прописать хотя бы условия входа в рынок , что бы ордера открывались по какой нибудь стратегии . Но это уже другой уровень . Вам нужно найти в интернете учебник MQL4 и попробовать понять как это делается .

Комментариев нет:

Отправить комментарий