Я установил конкретную ценовую цель для своей стратегии.выход, но когда этот уровень достигнут, ничего не происходит

#pine-script

Вопрос:

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

Этот тестер включает в себя два индикатора подтверждения, которые должны сходиться для правильного входа.

Но есть некоторые несоответствия, которые я не могу объяснить.

Я установил уровень тейк-профита и стоп-лосса для каждого потенциального входа в свечу, и вы можете видеть это в виде нанесенных зеленой и красной линий(представляющих tp и sl соответственно).

Я использую valuewhen() для таргетинга на конкретную свечу, которая соответствовала моим условиям входа.

Я прикрепил два изображения моего кода, правильно работающего и не работающего соответственно.

Я также включил свой текущий код.

Любая помощь или идеи будут высоко оценены, спасибо!

//====================// ДЛИННЫЙ ВХОД ====================

 //long conditions

longCondition1 = bBullTrend and c1LongSignal

longCondition2 = bLongSignal and c1BullTrend


//long entry

longEntry = longCondition1 or longCondition2


//open long position

if dateRange

if closeDistanceFromBaseline < atr

strategy.entry("Long", strategy.long, qty = totalPosition, when = longEntry)


//exit long conditions

exitLongTP = valuewhen(longEntry, longProfit, 0)

exitLongSL = valuewhen(longEntry, longLoss, 0)


longTPTarget = high >= exitLongTP


//exit long position


if longTPTarget

strategy.exit("Long TP", "Long", limit = exitLongTP, stop = exitLongTP)
 

Надлежащая функциональность

Неправильная функциональность

Ответ №1:

Убедитесь, что ваши exitLongTP exitLongTP значения и не = na при вызове strategy.exit()

Комментарии:

1. Спасибо за ответ! Хотя я совершенно уверен, что он не возвращает «na», так как он явно работает на других свечах. Idk, если это ошибка или если мне где-то не хватает определенного кода. Любая проницательность была бы признательна.

2. Пожалуйста, предоставьте какой-нибудь компилируемый код, в котором проблема с воспроизведением

3. Вам нужен весь мой стратегический код? или фрагмент, который возвращает эти несоответствия?

4. Вам нужен весь мой код стратегии? или фрагмент, который возвращает эти несоответствия? эта часть:( longEntry = longCondition1 или longCondition2) запускается, когда цена и индикатор, который я использую, пересекаются, чтобы обозначить длинный вход. Эта часть :(exitLongTP = valuewhen(longEntry, longProfit, 0)) сохраняет значение уровня тейк-профита, когда выражение longEntry стало истинным. Но я боюсь, что значение продолжает обновляться по мере продвижения свечей и потери начального уровня тейк-профита.