Вопросы по Мастеру MQL5 и стандартной библиотеке торговых классов - страница 5

 
uncleVic:

Странно... У меня всё нормально проходит.

Даваёте определимся со следующим:

1. К какому серверу подключены.

2. Значения параметров тестирования.

    1.  Alpari-Demo

Почему-то по ене в журнале ордера с Action instant и заданными лимитами, а по евре  с   Action   market без лимитов.

Файлы:
test01.set  2 kb
 
solo:

    1.  Alpari-Demo

Почему-то по ене в журнале ордера с Action instant и заданными лимитами, а по евре  с   Action   market без лимитов.

Видимо дело в настройках сервера. Тут мы бессильны. Сервер чужой.
 
uncleVic:
Видимо дело в настройках сервера. Тут мы бессильны. Сервер чужой.
Вопрос снят на MetaQuotes-Demo всё работает.
 

To

Модератор
1187

 

  Что-то давненько от вас нет обновлений по мастеру или по классам! Вроде было желание создать классы под многовалютники.

Дело движется или пока другие приоритеты? 

 

 

Скажите, каким образом в модуле сигналов или модуле трейлинга инициировать закрытие позиции.

при попытке объявления CheckCloseShort/Long:

 

 

//+------------------------------------------------------------------+
//| Класс  CBasedOnIndicatorExpertSignal                             |
//| Назначение:Класс генератора торговых сигналов на основе          |
//|            пользовательского индикатора                          |
//+------------------------------------------------------------------+
class CBasedOnIndicatorExpertSignal: public CExpertSignal{
  protected:
    CiCustom m_indicator;   // объект пользовательский индикатор
    MqlParam m_parameters[1];
  public:
  
    void CBasedOnIndicatorExpertSignal(){ 
//---  возможно используемые таймсерии
      m_used_series=USE_SERIES_OPEN+USE_SERIES_HIGH+USE_SERIES_LOW+USE_SERIES_CLOSE+USE_SERIES_TIME; 
    }
    virtual bool      InitIndicators(CIndicators* indicators);        // инициализация индикаторов
    virtual bool      InitCustomIndicator(CIndicators* indicators);   // метод, инициализирущий пользовательский индикатор
    virtual void      FillParameters(){};                             // установка значений массива параметров m_parameters
    virtual bool      CheckCloseShort( double&  price  ){ Print("CBasedOnIndicatorExpertSignal");  return(false); };
};

 их вызов не происходит

 
gdtt:

Скажите, каким образом в модуле сигналов или модуле трейлинга инициировать закрытие позиции.

при попытке объявления CheckCloseShort/Long:

 

 

 их вызов не происходит

 

Методы Check... вызываются классом CExpert только из главного (корневого) модуля сигнала. А главный модуль сигнала "дёргает" своих советчиков за "верёвочку" Direction.
 
Erm955:

To

 

  Что-то давненько от вас нет обновлений по мастеру или по классам! Вроде было желание создать классы под многовалютники.

Дело движется или пока другие приоритеты? 

 

Мастер и классы для него переведены пока в "режим сопровождения". Для создания простейших мультивалютников классы уже приспособлены (сейчас не готов, а позже положу сюда примерчик).
 
uncleVic:
... А главный модуль сигнала "дёргает" своих советчиков за "верёвочку" Direction.

 

А еще, если главному модулю сигнала сказать, что есть поставщик параметров ордера. Например так:

signal.AddFilter(filter0);
signal.General(0); 
То он будет "дергать" OpenLongParams и OpenShortParams.
 
PSmith:

 

А еще, если главному модулю сигнала сказать, что есть поставщик параметров ордера. Например так:

То он будет "дергать" OpenLongParams и OpenShortParams.
Восторг!!!
 

Может стоит обсудить еще тему стопов и тейков в визарде? Задание их в пунктах - это частный случай.

Например возможны такие варианты:

- тейк, стоп в процентах от цены открытия

- тейк, стоп в атр от цены открытия

- тейк по определенному числу баров от бара открытия

может убрать вообще параметры Stop Loss level (in points), Take Profit level (in points), а диалог "параметры трейлинга" заменить на "параметры сопровождения позиций" или, например "параметры обслуживания позиций"? в нем производить все настройки: тейков, стопов, тралов. Сделать возможность подключать разные модули. Например мне нужно поставить тейк и стоп в атр, трал - по n барам после цены открытия, дополнительное условие - закрыть позицию через y баров, если позиция не вышла в плюс.

За это будут отвечать три подключенных модуля:

- StopTakeOnAtr

- TrailOnNBars

- ClosePositionIfNoProfit

Причина обращения: