Библиотеки: Virtual - страница 7

 
EgorKim #:

есть ли возможность перевести мт5 советник в виртуальное торговое окружение ?

Переписать в MT4-style ордерную систему. Тогда автоматически будет работать в Virtual.

Это индикаторный советник. Будет работать в Virtual только в MT5-Тестере и реал-тайм.

 
fxsaber #:
Переписать в MT4-style ордерную систему. Тогда автоматически будет работать в Virtual.

В этом то и проблема.

Когда пишешь на мт5 и изучать и переписывать советника в мт4 как то не очень.

Вы не планируете добавить в функционал и поддержку онли мт5 советников ?

fxsaber #:
Это индикаторный советник. Будет работать в Virtual только в MT5-Тестере и реал-тайм.

Реал-тайм с вашей библиотекой ? Т.е можно будет торговать виртуально на кастомном символе как и в тестере ?

 
EgorKim #:

Когда пишешь на мт5 и изучать и переписывать советника в мт4 как то не очень.

Не знаю причин, почему под MT5 пишут через Trade.mqh, а не изучают вопрос альтернатив.

Вы не планируете добавить в функционал и поддержку онли мт5 советников ?

Нет. Не пишу то, что не буду использовать.

Реал-тайм с вашей библиотекой ? Т.е можно будет торговать виртуально на кастомном символе как и в тестере ?

В кодобазу выкладывал Тестер, который торгует на кастомном символе, может возвращаться в прошлое и реал-тайм менять тики, как вздумается.

 
fxsaber #:
В кодобазу выкладывал Тестер, который торгует на кастомном символе, может возвращаться в прошлое и реал-тайм менять тики, как вздумается.
Подключили MT4-style советник

Опять та же проблема (

 
I hope the files in the compressed package can be updated.
 
void OnTickMulti( const string &Symb, const int &Index ) {
    _VSP(virtualEnvAry[Index]); // Choose a virtual trading environment
    MqlTick ticks[1];
    if (SymbolInfoTick(Symb, ticks[0])) break;
    VIRTUAL::NewTickMulti(ticks, hedge.MyOnTick);
}

// void Hedge::MyOnTick(const string &Symb_, const int &Index_)

May I ask the author why it cannot be compiled here?

error: pointer to this function type is not supported yet

 
void OnTickMulti( const string &Symb, const int &Index ) {
    _VSP(virtualEnvAry[Index]); // Choose a virtual trading environment
    MqlTick ticks[1];
    if (SymbolInfoTick(Symb, ticks[0])) break;
    VIRTUAL::NewTickMulti(ticks);
    hedge.MyOnTick(Symb, index);
}

Should it be used this way?

 
hini #:

Thread.

Библиотеки: Virtual
Библиотеки: Virtual
  • 2024.06.26
  • fxsaber
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: Virtual
 
fxsaber #:

Все zip-архивы содержат старые версии библиотек. Чтобы получить новую, вам нужно скачать каждый файл вручную.

Последние изменения позволили достичь производительности в 100 миллионов тиков в секунду на современных процессорах в одноядерном режиме.

 
Экспериментирую с кастомным символом BTCUSD. У него цена тика = 0.1
Virtual tester показывает профит в валюте депозита на порядок больше, чем MQ тестер.
Помогла такая модификация в Order.mqh:
  bool Create( const SYMBOL_BASE &SymbolBase, const ENUM_ORDER_TYPE inType, const double &dLots,
               double inPrice, int SlipPage,  double dSL, double dTP, const MAGIC_TYPE &iMagicNumber,
               const string &sComment, const datetime &dExpiration, const MqlTick &Tick, double &STOPS_LEVEL, int &TRADE_EXEMODE )
  {
    this = SymbolBase;
    double TICK_SIZE=SymbolInfoDouble(this.GetSymbol(),SYMBOL_TRADE_TICK_VALUE);
    this.TickValue *= (this.Lots = ::NormalizeDouble(dLots, 8)) * TICK_SIZE;
Ну у вас по умолчанью расчеты в пипсах, а не в валюте, так что наверное не актуально. В пипсах все совпадает.