voidOnTick()
{
//----------------------------------------------------------------------------////Work variablesint ResTime,ResOpen;
datetime Time;
double Open;
//----------------------------------------------------------------------------//if (TimeCurrent()==D'2011.01.04 22:15')
{
ResTime = CopyTime("EURUSD",Period(),0,3,ArrTime);
ResOpen = CopyOpen("EURUSD",Period(),0,3,ArrOpen);
if((ResTime==3)&&(ResOpen==3))
{
for(int f=0;f<3;f++)
{
Time = ArrTime[f];
Open = ArrOpen[f];
Print("Bar ID - ",f," Time ",Time," Open ",Open);
}
}
elsePrint("Ощибка копирования данных");
}
//----------------------------------------------------------------------------//
}
А это то что тестер дает в логе
2011.05.2302:30:30 Core 12011.01.0422:15:00 Bar ID - 2 Time 2011.01.0421:45:00 Open 1.329792011.05.2302:30:30 Core 12011.01.0422:15:00 Bar ID - 1 Time 2011.01.0422:00:00 Open 1.329692011.05.2302:30:30 Core 12011.01.0422:15:00 Bar ID - 0 Time 2011.01.0422:15:00 Open 1.33023
PS
Нулевой бар тут текущий, поскольку серийность выставлена как в MT4 (кстати, ее можно один раз указать при инициализации).
Проверку делаете,что функция возврщаете? А то вдруг и правда работает, хотя -1 возвращает, кто его знает...
как-то так:
double High[1024],Low[1024];
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if(CopyHigh(_Symbol,PERIOD_CURRENT,0,1024,High)<1024)
{
Print("Не удалось получить High");
return;
}
if(CopyLow(_Symbol,PERIOD_CURRENT,0,1024,Low)<1024)
{
Print("Не удалось получить Low");
return;
}
}
Нулевой бар тут текущий, поскольку серийность выставлена как в MT4 (кстати, ее можно один раз указать при инициализации).
черт я ваще уже в шоке. Я запускаю ваш код, действительно все ок работает. Запускаю свою программу смещено и все тут как я рассказывал. Различий не увидел. Сразу после онтик вставил ваш код в свою программу переменные перенес. И О БОЖЕ и ваш код стал выдавать такой же смещенный бар на один при 15 минутах Я в шоке ваще. Что это может быть)))) Сейчас буду думать.
Вот нормально все работает нулевой бар нулевой (программа interesting)
А вот программа интерестинга четко перекопированная в мою видно ,что она выдает то же, что и моя результаты равны, НО они смещены на один бар как я и говорил Я В ШОКЕ. Что это может быть.
адская закономерность берется непонятно от куда тогда. Разлил чашку чая, поставил всю программу лишнюю, что не относится к программеинтерестинга в коммент. Т.е. осталась только она. Название осталось от моей программы и что вы думаете. И ОПЯТЬ СМЕЩЕН на 1 бар ААААААААА я сейчас взорвусь)
Ну вот НАКОНЕЦ ТО нашел момент, когда правильно сменяется на неправильное. В ините в программе после закомментирования
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В советниках только CopyBuffer совершенно полноценно работает, остальные Copy - лучше и не пытаться пока.
Можете пример привести?
А то юзаю и не подозреваю, шо оно не правильно работает.. иль я что не так делаю.
Можете пример привести?
А то юзаю и не подозреваю, шо оно не правильно работает.. иль я что не так делаю.
Очевидно каким-то одним вариантом ее применения пользуетесь, наверняка с первого бара один бар копируете, или как-то помасштабней?
Проверку делаете,что функция возврщаете? А то вдруг и правда работает, хотя -1 возвращает, кто его знает...
Насколько я понимаю все нормально работает.
Это код обработки тиков, сова в прицепе
А это то что тестер дает в логе
PS
Нулевой бар тут текущий, поскольку серийность выставлена как в MT4 (кстати, ее можно один раз указать при инициализации).
Очевидно каким-то одним вариантом ее применения пользуетесь, наверняка с первого бара один бар копируете, или как-то помасштабней?
Integer:
Проверку делаете,что функция возврщаете? А то вдруг и правда работает, хотя -1 возвращает, кто его знает...
как-то так:
в журнале ничего не принтится.В советниках только CopyBuffer совершенно полноценно работает, остальные Copy - лучше и не пытаться пока.
Вот так.
нафига?
и точно
а не
?
В случае, если запрашиваются данные за пределами TERMINAL_MAXBARS (максимальное количество баров на графике), то функция также вернет -1.
зы: start_time, stop_time похоже в любом порядке можно передавать. Ошибки добицо от тестера так и не удалось. И TERMINAL_MAXBARS ограничения нет..
Насколько я понимаю все нормально работает.
Это код обработки тиков, сова в прицепе
А это то что тестер дает в логе
PS
Нулевой бар тут текущий, поскольку серийность выставлена как в MT4 (кстати, ее можно один раз указать при инициализации).
черт я ваще уже в шоке. Я запускаю ваш код, действительно все ок работает. Запускаю свою программу смещено и все тут как я рассказывал. Различий не увидел. Сразу после онтик вставил ваш код в свою программу переменные перенес. И О БОЖЕ и ваш код стал выдавать такой же смещенный бар на один при 15 минутах Я в шоке ваще. Что это может быть)))) Сейчас буду думать.
Вот нормально все работает нулевой бар нулевой (программа interesting)
А вот программа интерестинга четко перекопированная в мою видно ,что она выдает то же, что и моя результаты равны, НО они смещены на один бар как я и говорил Я В ШОКЕ. Что это может быть.
Ну вот НАКОНЕЦ ТО нашел момент, когда правильно сменяется на неправильное. В ините в программе после закомментирования
CopyTime(Symbol(),PERIOD_CURRENT,0,1,temp);
ArraySetAsSeries(temp,true);
handle=iCustom(Symbol(),PERIOD_CURRENT,"someindicator");
handle_2=iCustom(Symbol(),PERIOD_CURRENT,"elseindicator");
Сразу 0 бар становится нулевым. С этим кодом в ините сразу смещается на 1.