Программирование советников, для проверки своей стратегии по каким либо индикаторам — достаточно простое дело.
И особых познаний в области программирования не нужны.
Данный шаблон подходит только для стратегий , которые явно показывают работу индикатора.
Для заказа более сложных систем — обращайтесь к программистам(Программист 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);
}
В данном примере показан лишь пример работы советника по индикатору МА.
Вы можете посмотреть реализацию алгоритма на примере Советника по Стратегии (Форекс ПУРИА)