Ошибки, баги, вопросы - страница 3234

 
mktr8591 #:
Уточните пожалуйста примере конкретных дат:

какая у вас дата/время начала истории для теста, дата  старта теста, время первого тика в истори, момент первого OnTick, какой время первого тика в нем (из  CopyTick ).

mktr8591 #:
И до какого момента времени хотите получить тики в первом OnTick или OnInit

Вы хотите предложить изменить дату старта теста на начало терминальной истории,
и тем самым специально пропускать тики до старта теста?



 
Renat Fatkhullin #:


Вот так нагляднее.
Разве так нельзя сделать?
Обычное расширяющееся окно. 
О каком заглядывании вообще речь...

ct

 
Renat Fatkhullin #:

Если вопрос только в экономном расширении буферов и дочитывании только новых данных на онтике, то проблем вообще никаких нет.

Если же вы не можете вычитать только новые тики, то это вопрос только к вашей квалификации.


Почитайте статьи в разделе тестера торговых стратегий, пожалуйста. Без этого будет хождение по граблям и непонимание базовых принципов.

Да проблем нет, если задавать дату старта теста, от начала терминальной истории и пробрасывать тики до момента старта теста.
Почему пользователь должен думать в своём коде, ещё и о пробросе тиков?
Когда это прерогатива разработчика тестера, и решение простое расширяющееся окно.

Как можно упоминать о квалификации? если нет элементарного описания в документации о такой особенности этих функций в тестере.
Догадайся сам называется, пойди на форум спроси, а в ответ тебе скажут о твоей квалификации.
Может просто документацию нужно подправить?

А лучше рассмотрите пожалуйста, изменение поведения этих функций как на скрине выше.

 
Roman #:


А лучше рассмотрите пожалуйста, изменение поведения этих функций как на скрине выше.

Не совсем ясно, что Вы имеете в виду под временем "Старт Тест".
Это реальное время, когда вы нажали в тестере кнопку Старт?
Или время начала тестового интервала (например 1 января 2020 года)?
 
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
                        // все наклонные линии "по признаку" от NN-бара будут с лучем вправо для возможности расчета
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
                        //Здравствуйте. Делюсь проблемой, которую решил. 
                        //Ошибка - в условии. 
                        //Вместо правильного 
                        if(j==123)
                        //Сделал ошибку. КОМПИЛЯТОР ПРОПУСТИЛ ОШИБКУ. 
                        if(j=123)
                        //Пошел дальше не заметив ошибку. Через какое-то время откомпилировал, и запустил. 
                        //В результате индикатор перестал работать при выполнении ветки с ошибкой в условии. 
                        //Индикатор встал. Вся графика в терминале встала. Терминал начал виснуть. 
                        //За терминалом начал виснуть комп. При срочной попытке удаления индикатора симптомы усилились.
                        //Выходом является только принудительное завершение работы терминала с последующими последствиями при следующем его запуске. 
                        //Индикатор, не выгрузившись остается на графике. 
                        //
                        if(j==123)// смысл - назначение луча линии по условию 
                          {
                           ObjectSetInteger(0,J1_J0_Max_LF,OBJPROP_RAY_RIGHT,1);//---
                           ObjectSetInteger(0,J1_J0_Max_RH,OBJPROP_RAY_RIGHT,1);//---
                           ObjectSetInteger(0,J1_J0_Min_LF,OBJPROP_RAY_RIGHT,1);//---
                           ObjectSetInteger(0,J1_J0_Min_RH,OBJPROP_RAY_RIGHT,1);//---
                          }
                        else
                          {}
                        //Многое проверил, много переписал. Ошибку нашел исключением кода.
                        //Эту ошибку необходимо запомнить и знать, или ее как-то возможно отслеживать?
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
                        //+------------------------------------------------------------------+//+------------------------------------------------------------------+
 
Nikolai Semko #:
Не совсем ясно, что Вы имеете в виду под временем "Старт Тест".
Это реальное время, когда вы нажали в тестере кнопку Старт?
Или время начала тестового интервала (например 1 января 2020 года)?

"Старт тест" начало интервала в настройках теста.

t

Сейчас, чтоб пробросить исторические тики, нужно начальную дату (Старт тест) установить на начало имеющейся истории терминала.
На скрине от балды поставил 1970 год для примера.
И в коде самому обрабатывать момент, с какого времени начинается реальный тест, ввиду проброски данных потиково. 
Чтоб потом можно было корректно использовать CopyTicksRange.
Когда ожидалось, что CopyTicksRange не такой глупый, и пробросит сам историю от даты начала тестового интервала.
Например от 2022.08.22 и до начала тиковой истории терминала.
А дальше с приходом OnTick увеличивать окно рейнджа, и перекидывать туда прошедший тик тестера.


 
Вроде, CopyTicks в Тестере не может отдать больше 128К тиков (где-то читал).
 
DDFedor #:

Это не ошибка

if(j=123)

Компилятор понимает как к j присвоить 123 и если успешно присвоено, продолжить

Аналог 

if((j=123)==123)

 
Vladimir Pastushak #:

Аналог 

if((j=123)==123)

if((j=123)!=0)
 
fxsaber #:
Вроде, CopyTicks в Тестере не может отдать больше 128К тиков (где-то читал, вроде).

В доках написано CopyTicks отдаёт все доступные последние тики, но не более 2000
А  CopyTicksRange может отдавать все доступные из всей истории.
Пока не упрешься в ограничение памяти при копировании.

Причина обращения: