Кручу, верчу, iMA обмануть хочу - страница 8

 

Vladimir Karputov:

Ваш вопрос непонятен.


Цель-уйти от самого значения цены в советнике, заменив ее iMA

  

Artyom Trishkin:

Чтобы получить данные Moving Average с отклонением, нужно к возвращаемому значению прибавить/отнять нужное отклонение в пунктах*Point()

 

Благодарю 

 

Советник сгенерированный Мастером MQL5 на база ДВУХ модулей сигналов "SignalMAAboveBelow.mqh" - один сигнал с периодом усреднения 100, а второй - 200.

Внёс небольшие правки в OnInit():

//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
   if((Signal_0_MA_Weight+Signal_1_MA_Weight)*100/2<Signal_ThresholdOpen ||
      (Signal_0_MA_Weight+Signal_1_MA_Weight)*100/2<Signal_ThresholdClose)
      return(INIT_PARAMETERS_INCORRECT);

//--- Initializing expert
   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
     {
...
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   string text="MA ("+Signal_0_MA_PeriodMA+"), Reverse ("+Signal_0_MA_Reverse+")"+"\n"+
               "MA ("+Signal_1_MA_PeriodMA+"), Reverse ("+Signal_1_MA_Reverse+")";
   Comment(text);

//--- ok
   return(INIT_SUCCEEDED);
  }

Первая правка: проверяем условие - сумма весов сигналов делённая надвое не должна быть меньше порогового значения на открытие или закрытие позиции. Данная правка позволяет при оптимизации выбросить проходы, в которых не будет ни одной сделки.

Вторая правка: выводит на график визуальную информацию о периодах усреднения и о параметре "Reverse".

 

Модернизированный трейлинг (на базе стандартного \MQL5\Include\Expert\Trailing\TrailingParabolicSAR.mqh)) - стандартный модуль трейлинга переставлял StopLoss по значению iSAR на баре с индексом "1" - но такое поведение давало сильное отставание от цены и, как результат, - потеря потенциальной прибыли.

А так как основной эксперт "SignalMAAboveBelow_x2_iSAR_trailing.mq5" работает только в момент появления нового бара, то я решил внести изменение в стандартный модуль трейлинга - теперь StopLoss выставляется по значению iSAR на баре с индексом "0". Модернизированный модуль трейлинга сохранён под именем "SignalMAAboveBelow_x2_iSAR_trailing.mq5" сохранён по пути: C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\Researches iMA\SignalMAAboveBelow_x2_iSAR_trailing.mq5.

В основной эксперт "SignalMAAboveBelow_x2_iSAR_trailing.mq5" внесены, соответственно, изменения: 

#property link      "http://wmua.ru/slesar/"
#property version   "1.002"
//+------------------------------------------------------------------+
//| 1.002:                                                           |
//|  trailing -> TrailingParabolicSAR(aggressive).mqh                |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalMAAboveBelow.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingParabolicSAR(aggressive).mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>

Теперь трейлинг работает так: 

перед трейлингом

Перед трейлингом


Трейлинг по значению iSAR на баре "0"

Трейлинг по значению iSAR на баре "0"

Файл модернизированного модуля трейлинга и файл эксперта прикладываю...

 

 

Владимир, при установки в папку  "Каталог данных"\MQL5\Include\Expert\Signal\ MetaEditor выдает те же ошибки. Может быть просто версия MT обновилась? у меня 1545.  Советники в ветке переписанные или просто измененные? С чего лучше начать если писать подобный советник и поменять условия открытия ордеров?

 
imtochukwu:

Владимир, при установки в папку  "Каталог данных"\MQL5\Include\Expert\Signal\ MetaEditor выдает те же ошибки. Может быть просто версия MT обновилась? у меня 1545.  Советники в ветке переписанные или просто измененные? С чего лучше начать если писать подобный советник и поменять условия открытия ордеров?


Какой именно файл Вы помещаете в папку "Каталог данных"\MQL5\Include\Expert\Signal\"? 
 
Vladimir Karputov:

Какой именно файл Вы помещаете в папку "Каталог данных"\MQL5\Include\Expert\Signal\"? 

SignalMAAboveBelow_x2_iSAR_trailing.mq5  этот файл, например. Выдает 25 ошибок. 
Файлы:
pprtgh.JPG  221 kb
 
imtochukwu:

SignalMAAboveBelow_x2_iSAR_trailing.mq5  этот файл, например. Выдает 25 ошибок. 

"SignalMAAboveBelow_x2_iSAR_trailing.mq5" - это советник, а не модуль сигналов. Кликаете на файл - он скачивается. Кликаете на скаченный файл - он откроется в редакторе MetaEditor.
 
Vladimir Karputov:

"SignalMAAboveBelow_x2_iSAR_trailing.mq5" - это советник, а не модуль сигналов. Кликаете на файл - он скачивается. Кликаете на скаченный файл - он откроется в редакторе MetaEditor.

Владимир, это все как день ясно. Но вы ведь говорите надо в папку  "Каталог данных"\MQL5\Include\Expert\Signal\ загружать? Как скомпилировать файл без ошибок?
 
imtochukwu:

Владимир, это все как день ясно. Но вы ведь говорите надо в папку  "Каталог данных"\MQL5\Include\Expert\Signal\ загружать? Как скомпилировать файл без ошибок?


Вы неверно поняли.

  • В папку "Каталог данных"\MQL5\Include\Expert\Signal\" нужно загрузить МОДУЛЬ СИГНАЛОВ SignalMAAboveBelow.mqh.
  • СОВЕТНИК "SignalMAAboveBelow_x2_iSAR_trailing.mq5" нужно просто скачать и кликнуть на нём - запуститься редактор и уже в редакторе скомпилировать СОВЕТНИК "SignalMAAboveBelow_x2_iSAR_trailing.mq5".

 
Vladimir Karputov:


Вы неверно поняли.

  • В папку "Каталог данных"\MQL5\Include\Expert\Signal\" нужно загрузить МОДУЛЬ СИГНАЛОВ SignalMAAboveBelow.mqh.
  • СОВЕТНИК "SignalMAAboveBelow_x2_iSAR_trailing.mq5" нужно просто скачать и кликнуть на нём - запуститься редактор и уже в редакторе скомпилировать СОВЕТНИК "SignalMAAboveBelow_x2_iSAR_trailing.mq5".


Владимир, разобрался, запустил. А где здесь можно поменять ордера на продажу ордерами на покупку?