создане массива внутри start() и проблемы с тестером стратегий

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Oleg Eliseev
543
Oleg Eliseev  

Здравствуйте!

Я хочу заполнить массив Ask (или Bid) и заполняю массив GetTickCount(); почему этой функцией а не TimeCurrent() , т.к тайм карент  дает часто одинаковые значения по времени. Вся мысль у меня идет для нахождения мгновенной скорости изменения цен онлайн (нулевая свеча) для  робота.

пишу так:

int init()
  {
   ArrayResize(arr,size);
   if(Digits==3 || Digits==5)
     {
      TakeProfit *=10;
      StopLoss   *=10;
      Slippage   *=10;
      TrailingStop *=10;
      TrailingStep *=10;
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct prices
  {
   datetime          date; // дата
   double            bid;  // цена бид
   double            ask;  // цена аск
  };
int    count=0;
int    size=2;
prices arr[2];
int start()
  {
   arr[count].date=GetTickCount();
   arr[count].bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   arr[count].ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   speed=(MathAbs(arr[1].bid-arr[0].bid))*10000000/MathAbs(arr[1].date-arr[0].date);
   count++;
   if(count==size) count=0;

и тут разговоры как отрывать buy или sell

return(0);

}

Проблема то что когда Вы используете count++ то тестер не работает . А робот работает.

Как создать массив тиков и времени тиков, чтобы потом делать скорость и ускорение?????чтобы тестер работал




Maxim Kuznetsov
12938
Maxim Kuznetsov  
Олег:

Здравствуйте!

Я хочу заполнить массив Ask (или Bid) и заполняю массив GetTickCount(); почему этой функцией а не TimeCurrent() , т.к тайм карент  дает часто одинаковые значения по времени. Вся мысль у меня идет для нахождения мгновенной скорости изменения цен онлайн (нулевая свеча) для  робота.

пишу так:

int init()
  {
   ArrayResize(arr,size);
   if(Digits==3 || Digits==5)
     {
      TakeProfit *=10;
      StopLoss   *=10;
      Slippage   *=10;
      TrailingStop *=10;
      TrailingStep *=10;
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct prices
  {
   datetime          date; // дата
   double            bid;  // цена бид
   double            ask;  // цена аск
  };
int    count=0;
int    size=2;
prices arr[2];
int start()
  {
   arr[count].date=GetTickCount();
   arr[count].bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   arr[count].ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   speed=(MathAbs(arr[1].bid-arr[0].bid))*10000000/MathAbs(arr[1].date-arr[0].date);
   count++;
   if(count==size) count=0;

и тут разговоры как отрывать buy или sell

return(0);

}

Проблема то что когда Вы используете count++ то тестер не работает . А робот работает.

Как создать массив тиков и времени тиков, чтобы потом делать скорость и ускорение?????чтобы тестер работал




максимальное приближение которого можно добиться в тестере - использовать SymbolInfoTick и брать метки времени от MqlTick. И то в режиме реальных тиков и то не гарантировано и не соответсвует действительности - просто проверить/отладить логику.

HFT придётся измерять жестко и пристраивать конкретно к вашим условиям, то есть дотягивать всё одно придётся на реальных тиках конкретного сервера
Oleg Eliseev
543
Oleg Eliseev  
Maxim Kuznetsov:
максимальное приближение которого можно добиться в тестере - использовать SymbolInfoTick и брать метки времени от MqlTick. И то в режиме реальных тиков и то не гарантировано и не соответсвует действительности - просто проверить/отладить логику.

HFT придётся измерять жестко и пристраивать конкретно к вашим условиям, то есть дотягивать всё одно придётся на реальных тиках конкретного сервера
Спасибо Вам. Так а что скорость можно тестить на демки только?
Oleg Eliseev
543
Oleg Eliseev  
Ну или на реале
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий