Проблема стратегии смещения кроссовера

#pine-script

#сценарий pine #pine-script-v4

Вопрос:

Как вы можете видеть, я сделал 2 MA корпуса с длиной 75. Для синего я сделал смещение до -10. Как я могу создать стратегию из кроссовера 2 MA? Моя проблема в том, что смещение изменяет только график, поэтому, если я попробую crossover (hullma, hullma1), ничего не происходит, поскольку tradingview считает, что эти строки одинаковы. Итак, есть ли какие-либо изменения для перемещения индикатора влево на 10 баров и настройки стратегии пересечения? Спасибо

введите описание изображения здесь

Ответ №1:

Использование отрицательного смещения означает, что вы смещаете текущие данные в прошлое, и вы не сможете определить пересечение на текущей свече, только с задержкой, равной значению смещения.

Это сделает невозможным создание перекрестного сигнала в тот же момент, когда произошло пересечение, но вы можете использовать этот сигнал для анализа на исторических свечах.

Обратите внимание, что вы не сможете обнаружить пересечение в течение последних 10 (равных значению смещения) свечей.

 //@version=4
study(title="HMA Cross the Offset HMA", overlay=true)

length = input(75, minval=1)
src = input(close, title="Source")
hullMa = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))

// Current Hull Moving Average
plot(hullMa, color = color.red)

// Hull Moving Average with a negative offset
plot(hullMa, color = color.blue, offset = -10)

float hullMaWithOffset = nz(hullMa[10])

bool cross = cross(hullMa, hullMaWithOffset)

// Mark Cross with Background color
// To spot the exact bar with a crossover we should use the equal offset value
bgcolor(cross? color.orange : na, offset = -10)
  

введите описание изображения здесь