А чему равна так называемая "периодичность появления тиков"? alexfx, ты представляешь, насколько аскетичным по вычислениям должен быть полный цикл обсчета, чтобы успевать до следующего тика - даже на очень быстром двухъядернике типа Intel Core 2 Duo Е8600?
Гуд! а тиковых историй не будет. Будет простейшая эмуляция тиков на участке истории из минуток. После запуска советника эта имуляция просто будет сращиваться с реальным потоком тиков. Другими словами, на истории в каждой минутке будет от 1 до 4 тиков. Хотя, можно наверное на истории ограничиться HL/2 минуток, как один тик.
Ещё один способ, связанный с тиками, это так называемые эквиобъемные графики. Но могут быть и эквиобъемные тактики или стратегии. Понятно, что бывают пропуски в потоке тиков, но на проверку оказалось, что эти пропуски не так уж и существенны. Пример, в обычных стратегиях частенько момент окончания формирования бара, или начала формирования следующего бара, используются как момент принятия торгового решения. Известное эмпирическое правило, не торгуйте внутри бара (правило конечно спорное, в некоторых случаях). Но можно за момент принятия торгового решения взять приход, например, каждого двадцатого тика. Ну и т.д.
Для меня это пока, как в анекдоте про капитанов подводных лодок ("ты не умничай - пальцем покажи") :)))
Пока тыкать не в чего. Но как только будет чего интересное - обязательно покажу.
Вот, например, я добавил в него возможность считать количество тиков по каждому инструменту за определенный промежуток времени (в данном случае 10 сек).
Я думаю, если на всех инструментах количество тиков растет, то время торговать :)
Может быть кто знает, на каком интервале лучше делать замеры, и какое колич.тиков обычно бывает в момент активности (конечно значения примерные от и до) и во время пассивности
//===== регистрация появления нового тика на любом инструменте ===========================================================voidSymbolТic(){bool TT =false;//=== флаг необходимости замера времени последующей обработкиbool NewТicS =false;//=== флаг появления тикаint TC1 =TimeCurrent();//=== время начала обработки for(int i=0; i<countSymbol; i++){//=== перебор инструментовif(isNewТic(i)){//=== появился новый тик по текущему инструменту
TT =true;
NewТicS =true;
ТicSymbol(i);//=== процедура, которую целесообразно запускать при появлении каждого тика}//=== на любом из инструментов}if(NewТicS==true){
ТicSymbolS();//=== процедура, которую целесообразно запускать после окончания сканирования всех инструментов}//=== при условии, что за время сканирования появился хотя-бы один тик int TC2 =TimeCurrent();int analiz = TC2-TC1;//=== замер времени обработкиif((TT==true)&&(analiz>TimeCycle2)){Print(" Время обработки ",analiz,"сек.");}}//===== регистрация появления нового тика на любом инструменте ===========================================================////===== возвращает true если появлися новый тик, иначе false ============================================================= bool isNewТic(int i){//=== i-индекс инструментаbool res=false;RefreshRates();datetime TT =MarketInfo(Symbol_array[i],MODE_TIME);if( ТicTime[i]!= TT ){ ТicTime[i]= TT ; res=true;}return(res);}//===== возвращает true если появлися новый тик, иначе false ============================================================= //void ТicSymbol(int i){double ask =MarketInfo(Symbol_array[i],MODE_ASK);Print(" ",Symbol_array[i]," ТicTime=",ТicTime[i]," ask=",ask);
countТic[i]++;}//void ТicSymbolS(){int countPeriod2 =TimeCurrent();if((countPeriod2 - countPeriod1)>ТicPeriod){
countPeriod1 = countPeriod2;for(int i=0; i<countSymbol; i++){Print(" ",Symbol_array[i]," countТic=",countТic[i]);
countТic[i]=0;}}}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
спасибо, буду разбиратьс
получите работающий вариант 'Код платформы многовалютного многотаймфреймового советника'
остается начинить вашими идеями :)
А чему равна так называемая "периодичность появления тиков"? alexfx, ты представляешь, насколько аскетичным по вычислениям должен быть полный цикл обсчета, чтобы успевать до следующего тика - даже на очень быстром двухъядернике типа Intel Core 2 Duo Е8600?
задачка с "периодичностью" отпадает.
регистрирую тики на массиве инструментов 'Код платформы многовалютного многотаймфреймового советника' Правда дискрета - секунда. Хорошо это с тиками или нет не знаю.
Т.к. я с тиками не работал, подскажите, в каком диапазне частот они появляются (спокойный рынок, активный рынок)
Гуд! а тиковых историй не будет. Будет простейшая эмуляция тиков на участке истории из минуток. После запуска советника эта имуляция просто будет сращиваться с реальным потоком тиков. Другими словами, на истории в каждой минутке будет от 1 до 4 тиков. Хотя, можно наверное на истории ограничиться HL/2 минуток, как один тик.
Ещё один способ, связанный с тиками, это так называемые эквиобъемные графики. Но могут быть и эквиобъемные тактики или стратегии. Понятно, что бывают пропуски в потоке тиков, но на проверку оказалось, что эти пропуски не так уж и существенны. Пример, в обычных стратегиях частенько момент окончания формирования бара, или начала формирования следующего бара, используются как момент принятия торгового решения. Известное эмпирическое правило, не торгуйте внутри бара (правило конечно спорное, в некоторых случаях). Но можно за момент принятия торгового решения взять приход, например, каждого двадцатого тика. Ну и т.д.
Для меня это пока, как в анекдоте про капитанов подводных лодок ("ты не умничай - пальцем покажи") :)))
Интересный вопрос оказался. Как наиболее грамотно организовать советник или советники, что бы была мультивалютная торговля.
Пример мультивалютки
эксперт висит на нескольких парах
это полуавтомат
главная его задача это вход вывод в безубыток и расчет целей
вход на пробое и после пробоя
цели считаю по фибо
выход порой делаю руками
обычно в районе америки некоторым ордерам даю идти в профит во второй день
---
Вариант 2.
как вариант удобен
Вариант 3.
тики можно отслеживать
MarketInfo ( StringSymbol, MODE_ASK );
MarketInfo ( StringSymbol, MODE_BID );
я бы выбрал под мультивалютку 2-й или 3-й вариант
1-й это просто независимые советники и только разрулить проблему с потоком
т е поток бывает занят и если два или более эксперта вдруг начнут двать команды одновремнно будут проблемы
с обработкой
Для меня это пока, как в анекдоте про капитанов подводных лодок ("ты не умничай - пальцем покажи") :)))
Пока тыкать не в чего. Но как только будет чего интересное - обязательно покажу.
Пока тыкать не в чего. Но как только будет чего интересное - обязательно покажу.
Вот, например, я добавил в него возможность считать количество тиков по каждому инструменту за определенный промежуток времени (в данном случае 10 сек).
Я думаю, если на всех инструментах количество тиков растет, то время торговать :)
Может быть кто знает, на каком интервале лучше делать замеры, и какое колич.тиков обычно бывает в момент активности (конечно значения примерные от и до) и во время пассивности