Олег:
максимальное приближение которого можно добиться в тестере - использовать SymbolInfoTick и брать метки времени от MqlTick. И то в режиме реальных тиков и то не гарантировано и не соответсвует действительности - просто проверить/отладить логику.Здравствуйте!
Я хочу заполнить массив 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
{
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++ то тестер не работает . А робот работает.
Как создать массив тиков и времени тиков, чтобы потом делать скорость и ускорение?????чтобы тестер работал
HFT придётся измерять жестко и пристраивать конкретно к вашим условиям, то есть дотягивать всё одно придётся на реальных тиках конкретного сервера
Maxim Kuznetsov:
максимальное приближение которого можно добиться в тестере - использовать SymbolInfoTick и брать метки времени от MqlTick. И то в режиме реальных тиков и то не гарантировано и не соответсвует действительности - просто проверить/отладить логику.
HFT придётся измерять жестко и пристраивать конкретно к вашим условиям, то есть дотягивать всё одно придётся на реальных тиках конкретного сервера
Спасибо Вам. Так а что скорость можно тестить на демки только?
максимальное приближение которого можно добиться в тестере - использовать SymbolInfoTick и брать метки времени от MqlTick. И то в режиме реальных тиков и то не гарантировано и не соответсвует действительности - просто проверить/отладить логику.
HFT придётся измерять жестко и пристраивать конкретно к вашим условиям, то есть дотягивать всё одно придётся на реальных тиках конкретного сервера
Ну или на реале
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Я хочу заполнить массив Ask (или Bid) и заполняю массив GetTickCount(); почему этой функцией а не TimeCurrent() , т.к тайм карент дает часто одинаковые значения по времени. Вся мысль у меня идет для нахождения мгновенной скорости изменения цен онлайн (нулевая свеча) для робота.
пишу так:
{
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++ то тестер не работает . А робот работает.
Как создать массив тиков и времени тиков, чтобы потом делать скорость и ускорение?????чтобы тестер работал