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

 
Ой, чую, что-то весьма полезное Вы сбацали. Надо поизучать. 
 
fxsaber:
Почти статья, только без модерации.

МКЛ всех запутали своими ордерами позициями сделками, нетто и хедж счетами. До сих пор не понимаю зачем так извращаться, когда у одного и того же дилера несколько разных понятий по одному и тому же инструменту.

С вашими кодами разбираться тоже непросто, ваш стиль программирования не читаемый, уверен вы сами через некоторое время не можете понять что к чему в вашем коде. В таком стиле пишут когда хотят чтобы никто не разобрался, если вдруг уволят с работы, чтобы ваш код ушел вместе с вами ))

У меня есть своя подобная библиотека, хотел сравнить с вашей, но не знаю с какой стороны к ней подойти.

Можете привести рабочий ,пример с использования вашей библиотеки, для МТ5-неттинг, с множественными независимыми трейдами, чтобы у каждого трейда был свой стоп и тейк, и аналогичное на МТ4?

Например: на каждом новом баре, при пересечении RSI уровня 50 снизу вверх открываем трейд лонг со своим тейком и стопом, симметрично для шорт, не зависимо от того есть открытые трейды (ордера, позиции) или нет. Или что то своё, с множеством одновременных независимых трейдов.

А вообще мне кажется надо уходить от стиля МТ4 и МТ5, чтобы не путаться, и делать свой единый (непохожий на МТ4 и МТ5) стиль.


 
Sergey Chalyshev:

У меня есть своя подобная библиотека, хотел сравнить с вашей, но не знаю с какой стороны к ней подойти.

Можете привести рабочий ,пример с использования вашей библиотеки, для МТ5-неттинг, с множественными независимыми трейдами, чтобы у каждого трейда был свой стоп и тейк, и аналогичное на МТ4?

Например: на каждом новом баре, при пересечении RSI уровня 50 снизу вверх открываем трейд лонг со своим тейком и стопом, симметрично для шорт, не зависимо от того есть открытые трейды (ордера, позиции) или нет. Или что то своё, с множеством одновременных независимых трейдов.

К сожалению, не умею пользоваться индикаторами в MT. Приведите интересный для Вас код - покажу результат.

Sergey Chalyshev:

А вообще мне кажется надо уходить от стиля МТ4 и МТ5, чтобы не путаться, и делать свой единый (непохожий на МТ4 и МТ5) стиль.

Лучше MT4-style не встречал, поэтому использую его.

 
fxsaber:

К сожалению, не умею пользоваться индикаторами в MT. Приведите интересный для Вас код - покажу результат.

Лучше MT4-style не встречал, поэтому использую его.

1. На чистом МТ5-неттинг такое не получится, это мне надо вспоминать понятный вам МТ4. Можно без индикаторов: на открытии нового бара, предидущий бар вниз - покупаем и ставим стоп и тейк (можно виртуальные), аналогично для продаж. Не зависимо от количества открытых до этого трейдов. Можете своё что нибудь написать, главное чтобы одновременно были открытые несколько ордеров BUY и SELL.

2. MT4-style ввёл всех в заблуждение, даже самих себя, поэтому чтобы не конфликтовали понятия нужны абсолютно другие названия функций. Объясните тогда, если можете, что значит в вашем стиле ордер, сделка, позиция.


Вот пример МТ4 (понятный вам), руки помнят ))

#property strict

input double   Lot = 0.1;
input int      TP  = 1100;
input int      SL  = 400;
input ENUM_TIMEFRAMES TF = PERIOD_H4;

datetime prevtime;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(prevtime==iTime(_Symbol,TF,0)) return;
      prevtime=iTime(_Symbol,TF,0);
   
   int res=-1;
   if(Close[1]<Open[1]) res=OrderSend(_Symbol,OP_BUY,Lot,Ask,20,Ask-SL*_Point,Ask+TP*_Point);
   if(Close[1]>Open[1]) res=OrderSend(_Symbol,OP_SELL,Lot,Bid,20,Bid+SL*_Point,Bid-TP*_Point);
  }
//+------------------------------------------------------------------+
 
Sergey Chalyshev:

1. На чистом МТ5-неттинг такое не получится, это мне надо вспоминать понятный вам МТ4. Можно без индикаторов: на открытии нового бара, предидущий бар вниз - покупаем и ставим стоп и тейк (можно виртуальные), аналогично для продаж. Не зависимо от количества открытых до этого трейдов. Можете своё что нибудь написать, главное чтобы одновременно были открытые несколько ордеров BUY и SELL.

На чистом (или СБ) MQL5 напишите любую торговую логику.

2. MT4-style ввёл всех в заблуждение, даже самих себя, поэтому чтобы не конфликтовали понятия нужны абсолютно другие названия функций. Объясните тогда, если можете, что значит в вашем стиле ордер, сделка, позиция.

Мне ничего не мешает в MT4-style писать под MT5, включая Неттинг.

 
fxsaber:

На чистом (или СБ) MQL5 напишите любую торговую логику.

Мне ничего не мешает в MT4-style писать под MT5, включая Неттинг.

Добавил пример в предидущем посте.

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

 
Sergey Chalyshev:

Вот пример МТ4 (понятный вам), руки помнят ))

Добавьте в свой пример сверху этот код

#include <MT4Orders.mqh>
// #include <fxsaber\Virtual\Virtual.mqh>

// Позволяет, как в MT4, работать с таймсериями: Open[Pos], High[Pos], Low[Pos], Close[Pos], Time[Pos], Volume[Pos].
#define DEFINE_TIMESERIE(NAME,FUNC,T)                                                                         \
  class CLASS##NAME                                                                                           \
  {                                                                                                           \
  public:                                                                                                     \
    static T Get( const string Symb, const int TimeFrame, const int iShift )                                  \
    {                                                                                                         \
      T tValue[];                                                                                             \
                                                                                                              \
      return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \
    }                                                                                                         \
                                                                                                              \
    T operator []( const int iPos ) const                                                                     \
    {                                                                                                         \
      return(CLASS##NAME::Get(_Symbol, _Period, iPos));                                                       \
    }                                                                                                         \
  };                                                                                                          \
                                                                                                              \
  static const CLASS##NAME NAME;                                                                                           

DEFINE_TIMESERIE(Volume, TickVolume, long)
DEFINE_TIMESERIE(Time, Time, datetime)
DEFINE_TIMESERIE(Open, Open, double)
DEFINE_TIMESERIE(High, High, double)
DEFINE_TIMESERIE(Low, Low, double)
DEFINE_TIMESERIE(Close, Close, double)

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

будет работать и в MT5.


Sergey Chalyshev:

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

Конечно, показывайте. Сравним.

 
fxsaber:

Добавьте в свой пример сверху этот код

будет работать и в MT5.


Конечно, показывайте. Сравним.

Работает, но неправильно

пока что несчем сравнивать

МТ4


МТ5


 
Sergey Chalyshev:

Работает, но неправильно

пока что несчем сравнивать

Наводящие вопросы задавать не буду. Напишите рабочий MT5-код.

 
fxsaber:

Наводящие вопросы задавать не буду. Напишите рабочий MT5-код.

Не понял

Я вас просил:

Можете привести рабочий ,пример с использования вашей библиотеки, для МТ5-неттинг, с множественными независимыми трейдами, чтобы у каждого трейда был свой стоп и тейк, и аналогичное на МТ4?

чтобы понять для чего нужна и как работает ваша Virtual библиотека.
Причина обращения: