#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 стало истинным. Но я боюсь, что значение продолжает обновляться по мере продвижения свечей и потери начального уровня тейк-профита.