Индикаторы - страница 2

 
Maxim Kuznetsov #:

просто посмотреть. Если стрелочкам,галочкам линиям соответствуют объекты - то скорее всего да, "графический" хотя-бы отчасти. 

удалять бесполезно -не удалится :-) нормально сделанный "графический" софт пересоздаст свои объекты заново, это защита от вандализма..

Нормально сделанный индикатор обсчитывает только один формирующийся бар, поэтому все заново

может появиться только у ненормально написанного индикатора, но и то, только с приходом нового тика. 

Вообще впечатляет глубина тем для споров.

 

Я написал несложный индикатор, который просто рисует бары (свечи) цены. Но во время интенсивной торговли (т.е. когда приходит много тиков) в Окне данных почему-то эпизодически кратковременно пропадают строчки open, high, low, close. Причём чем интенсивнее торговля, тем чаще это происходит...

Никто не подскажет от чего такое может быть? Баг MT5?

 
MQL_User #:

Я написал несложный индикатор, который просто рисует бары (свечи) цены. Но во время интенсивной торговли (т.е. когда приходит много тиков) в Окне данных почему-то эпизодически кратковременно пропадают строчки open, high, low, close. Причём чем интенсивнее торговля, тем чаще это происходит...

Никто не подскажет от чего такое может быть? Баг MT5?

В правильно сформулированном вопросе всегда просматривается ответ. 

Ваш индикатор рисует бары (свечи), т.е. по мере поступления тиков сначала происходит их обработка, а по результатам этой обработки поэтапно будут получены и затем отображены характеристики бара (свечи) в том или ином виде и окне. Пока интенсивность поступления тиков невелика, Ваши алгоритм и железо справляются с обработкой данных достаточно быстро, паузы в отображении результатов есть, но глаз их (паузы) не замечает. 

При возрастании интенсивности поступления тиков алгоритм и железо не обеспечивают эффекта кинематографа, когда глаз не замечает задержки смены кадров. 

Вывод: Ваш алгоритм обработки тиков не обеспечивает адекватную скорость обработки на Вашем железе. 

 
Алексей Тарабанов #:

В правильно сформулированном вопросе всегда просматривается ответ. 

Ваш индикатор рисует бары (свечи), т.е. по мере поступления тиков сначала происходит их обработка, а по результатам этой обработки поэтапно будут получены и затем отображены характеристики бара (свечи) в том или ином виде и окне. Пока интенсивность поступления тиков невелика, Ваши алгоритм и железо справляются с обработкой данных достаточно быстро, паузы в отображении результатов есть, но глаз их (паузы) не замечает. 

При возрастании интенсивности поступления тиков алгоритм и железо не обеспечивают эффекта кинематографа, когда глаз не замечает задержки смены кадров. 

Вывод: Ваш алгоритм обработки тиков не обеспечивает адекватную скорость обработки на Вашем железе. 

ни разу не замечал тормозов, всегда и все отображалось

по кр.мере в 4-рке

а тут всего лишь один бар нужен

проблема в коде скорее всего

 
Renat Akhtyamov #:

ни разу не замечал тормозов, всегда и все отображалось

по кр.мере в 4-рке

а тут всего лишь один бар нужен

проблема в коде скорее всего

Ренат, я бы сказал - не в коде, а в алгоритме (староват я стал, конечно, но - что поделаешь). 

Алгоритм формирования бара, отображающего что угодно, прост, как валенок. 

Сначала Open=Close=High=Low=tick1 Open больше не меняется до конца бара. 

При каждом последующем поступлении тика, значение Close меняется на значение оного тика, при этом текущие значения значения High и Low сравниваются с этим значением, один на "больше", другой на "меньше". 

Всё. Примитивный линейный алгоритм, с которым без напряга справится любое железо, самой старой из всех известных нашим юным соискателям моделей. 

 
Алексей Тарабанов #:

Ренат, я бы сказал - не в коде, а в алгоритме (староват я стал, конечно, но - что поделаешь). 

Алгоритм формирования бара, отображающего что угодно, прост, как валенок. 

Сначала Open=Close=High=Low=tick1 Open больше не меняется до конца бара. 

При каждом последующем поступлении тика, значение Close меняется на значение оного тика, при этом текущие значения значения High и Low сравниваются с этим значением, один на "больше", другой на "меньше". 

Всё. Примитивный линейный алгоритм, с которым без напряга справится любое железо, самой старой из всех известных нашим юным соискателям моделей. 

не старей ты, алгоритм, прав конечно, японский городовой !

;)
 

Почти манифест. 

Парни, считающие, что на рынке можно заработать неким "удачным" "кодом", либо более амбициозные, но ещё менее удачливые парни, страждущие победы над рынком, так и не успев понять, что есть рынок до того, как эта сволочь вмиг сожрала сэкономленные на завтраках/бизнесланчах/девушках/детях... СТО долларов: 

1. Если хотите достичь успеха в автоторговле, забудьте слово "кодинг" и все его производные. Вспомните давно забытые слова "алгоритм" и "программа". Кодируют продавцы того, что продаётся, или не очень. 

2. Я использую АЛГОРИТМИЧЕСКИЕ языки программирования, не являюсь профессиональным программистом и не призываю никого следовать мне; но - мне позволительно написать программу сразу на чём-нибудь алгоритмическом, а для разработчиков, использующих ООП - непозволительно. Потому, что я вместо ромбиков и прямоугольников сразу могу использовать их аналоги, а для вас это - либо долгий и утомительный путь поиска множества объектов и отношений ( ретроград,- функций и методов), либо что-нибудь, не справляющееся с простейшим линейным алгоритмом. 

3. Пока всё

 
Алексей Тарабанов #:

Почти манифест. 

Парни, считающие, что на рынке можно заработать неким "удачным" "кодом", либо более амбициозные, но ещё менее удачливые парни, страждущие победы над рынком, так и не успев понять, что есть рынок до того, как эта сволочь вмиг сожрала сэкономленные на завтраках/бизнесланчах/девушках/детях... СТО долларов: 

1. Если хотите достичь успеха в автоторговле, забудьте слово "кодинг" и все его производные. Вспомните давно забытые слова "алгоритм" и "программа". Кодируют продавцы того, что продаётся, или не очень. 

2. Я использую АЛГОРИТМИЧЕСКИЕ языки программирования, не являюсь профессиональным программистом и не призываю никого следовать мне; но - мне позволительно написать программу сразу на чём-нибудь алгоритмическом, а для разработчиков, использующих ООП - непозволительно. Потому, что я вместо ромбиков и прямоугольников сразу могу использовать их аналоги, а для вас это - либо долгий и утомительный путь поиска множества объектов и отношений ( ретроград,- функций и методов), либо что-нибудь, не справляющееся с простейшим линейным алгоритмом. 

3. Пока всё

Вы достигли успеха в автоторговле?
 
Могу, но и не пытася. 
 
Алексей Тарабанов #:

В правильно сформулированном вопросе всегда просматривается ответ. 

Ваш индикатор рисует бары (свечи), т.е. по мере поступления тиков сначала происходит их обработка, а по результатам этой обработки поэтапно будут получены и затем отображены характеристики бара (свечи) в том или ином виде и окне. Пока интенсивность поступления тиков невелика, Ваши алгоритм и железо справляются с обработкой данных достаточно быстро, паузы в отображении результатов есть, но глаз их (паузы) не замечает. 

При возрастании интенсивности поступления тиков алгоритм и железо не обеспечивают эффекта кинематографа, когда глаз не замечает задержки смены кадров. 

Вывод: Ваш алгоритм обработки тиков не обеспечивает адекватную скорость обработки на Вашем железе. 

Методом проб и ошибок я выяснил следующее.

В теле функции OnCalculate присутствовал такой оператор: ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0,FirstVisibleBI_Long). Я его убрал (закомментировал), и все эти пропадания данных в окне данных ушли.

Т.е. проблема решена. Но тем не менее не понятно, почему эта функция  ChartGetInteger оказывает такое влияние...

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