Как в Pine скрипт получить доступ к бару при котором открыта сделка
Немного опыта в Pine. До этого в другой среде занимался. Суть вопроса: есть индикатор фибоначчи fib, и ему нужно получить доступ к бару этой fib[entry_bar], при котором была открыта сделка, чтобы сравнить с текущим параметром этой функции.
Гуглил документацию и у чатжпт спрашивал - strategy.opentrades.entry_bar опция не работает в данной ситуации или что-то делаю не так.
if strategy.position_size > 0
entry_bar = strategy.opentrades.entry_bar(strategy.position_size > 0)
if fib*2>fib[entry_bar]
strategy.close_all("Volatility Close")
Ответы (1 шт):
В pine script нет функции strategy.opentrades.entry_bar, а есть функция strategy.opentrades.entry_bar_index(). Так как вы в коде написали она вам не поможет, так как бары индексируются с 0 по текущий, а индекс серии [ ] ведет нумерацию наоборот - [0] это текущий бар а предыдущий будет [1]. В вашей ситуации проще при выполнении условия на открытие сделки записать значение fib в переменную и потом уже сравнивать текущее условие с ней.
Например:
var position_fib = 0.
if (ваше условие)
strategy.entry('long', strategy.long)
position_fib := fib
if fib * 2 > position_fib
strategy.close('long')
position_fib := 0. // ну и можно ее обнулить при закрытии позиции в зависимости от ваших задач введите сюда код