Скачать MetaTrader 5

как удалить последний бар из анализа индикатора

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Trader
387
Trader  

подскажите как удалить последний бар из анализа индикатора

что нужно удалить из кода или что дописать (как для МТ4 так и для МТ5)

Vladimir Karputov
Модератор
72054
Vladimir Karputov  
tt455:

подскажите как удалить последний бар из анализа индикатора?

что нужно удалить из кода или что дописать (как для МТ4 так и для МТ5)

А подробнее? Какой анализ? Что Вы пытаетесь проделать и что хотите получить? Можете даже вставить картинку.
Trader
387
Trader  

анализ баров (свечей). авторский подход к видению анализа (к сожалению не всеми разделяется). 

если есть желание помочь в правке кода то напишите на внутренную почту. я предоставлю код.

Vladimir Karputov
Модератор
72054
Vladimir Karputov  
tt455:

анализ баров (свечей). авторский подход к видению анализа (к сожалению не всеми разделяется). 

если есть желание помочь в правке кода то напишите на внутренную почту. я предоставлю код.

Так как Вы не ответили, как именно Вы проводите анализ, тогда предложу такой вариант: закройте на экране полоской бумаги лишний бар.
Trader
387
Trader  

Мне просто надо знать как в коде удалить последний бар из анализа проводимого индикатором при построении индикаторной линии. 

Я сам удалю если что. 

Alexey Viktorov
16806
Alexey Viktorov  

Достаточно изменить границу цикла с for(i = limit; i >= 0; i --) на for(i = limit; i > 0; i --)

Vladimir Karputov
Модератор
72054
Vladimir Karputov  
AlexeyVik:

Достаточно изменить границу цикла с for(i = limit; i >= 0; i --) на for(i = limit; i > 0; i --)

Только нужно учесть, что в MQ4 и в MQL5 таймсерия имеет разную индексацию (противоположную).

//+------------------------------------------------------------------+
//| Внимание! По-умолчанию                                           |
//|           В MQL4 ArrayGetAsSeries(time)=true!                    |
//|           В MQL5 ArrayGetAsSeries(time)=false!                   |  
//+------------------------------------------------------------------+
Trader
387
Trader  

for(i = limit; i >= 0; i --) на for(i = limit; i > 0; i --) 

в коде индикатора удалить знак = и оставить знак > 0  и в МТ4 и в МТ5

Alexey Viktorov
16806
Alexey Viktorov  
tt455:

for(i = limit; i >= 0; i --) на for(i = limit; i > 0; i --)          -    эта строка одинакова для МТ4 и МТ5? или тоже есть отличия?

я так понимаю надо просто в коде индикатора удалить знак = и оставить знак > 0  и в МТ4 и в МТ5 

Эта строка читается так

Для переменной "и" начиная от значения "лимит", пока переменная "и" больше или равна нулю. Так вот это надо исправить на .... пока "и" больше нуля. Соответственно нулевой бар считаться не будет.

Что касается разницы mql4 и mql5 в этой строке никакой разницы.

Отличия могут быть только у программиста. Некоторые пишут цикл в направлении увеличения индекса массива. Тогда строка начинается for(i = 0; ... и далее, то здесь надо 0 поменять на 1

Trader
387
Trader  
Спасибо. Всё сделаю.
Alexander Bereznyak
24284
Alexander Bereznyak  
Можно поступить ещё проще, не использовать нулевое значение индекса в функции CopyBuffer.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий