
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть код, написан не мной, почему то читает только ласт тики а на бид и аск тики реагировать не хочет.
Кто увидит в чем проблема подскажите.
enum ENUM_TYPE_TICK
{
ask_tick,
bid_tick,
last_tick
};
затем
input int tick_analys=10;
input int ticks=10; // количество запрашиваемых тиков
MqlTick tick_array[];
double tick[];
string comments=NULL;
string modes;
string signal;
ENUM_ORDER_TYPE Signal=WRONG_VALUE;
int total_buy=0;
int total_sell=0;
double Volume;
и
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
ArrayResize(tick,tick_analys+1);
trade.SetExpertMagicNumber(Magic);
//---
return(INIT_SUCCEEDED);
}
еще
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
comments=NULL;
//--- запросим тики
int copied=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask
if(copied>0)
{
ArraySetAsSeries(tick_array,true);
//--- сформируем содержимое комментария
int n=0;
//string tick_string;
for(int i=0;i<copied && n<tick_analys+1;i++)
{
if(type_tick==ask_tick)
{
if(tick_array[i].flags>6)continue;
tick[n]=tick_array[i].ask;
n++;
//modes="MODE: ASK\r\n";
//StringConcatenate(tick_string,IntegerToString(n,2,'0')," ",
// StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000)," ",
// DoubleToString(tick_array[i].ask,Digits())," ",
// "\r\n"
// );
//comments+=tick_string;
}
if(type_tick==bid_tick)
{
if(tick_array[i].flags>6)continue;
tick[n]=tick_array[i].bid;
n++;
//modes="MODE: BID\r\n";
//StringConcatenate(tick_string,IntegerToString(n,2,'0')," ",
// StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000)," ",
// DoubleToString(tick_array[i].bid,Digits())," ",
// "\r\n"
// );
//comments+=tick_string;
}
if(type_tick==last_tick)
{
if(tick_array[i].flags<8)continue;
tick[n]=tick_array[i].last;
n++;
//modes="MODE: LAST\r\n";
//StringConcatenate(tick_string,IntegerToString(n,2,'0')," ",
// StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000)," ",
// DoubleToString(tick_array[i].last,Digits())," ",
// "\r\n"
// );
//comments+=tick_string;
}
}
работает только по ласт тику.....