Короче говоря, когда в длинной позиции, Strategy.exit () уменьшает цену позиции, как если бы произошла другая покупка, а не продажа. Ожидается, что когда вы продаете ниже своей позиции, количество, которое вы имеете, уменьшается, а цена позиции увеличивается.
Код:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mgibson91
//@version=3
strategy("My Strategy", overlay=true, pyramiding=100)
longCondition = crossover(close, sma(close, 20))
if (longCondition)
strategy.entry("long", strategy.long)
strategy.exit("long", qty=1, profit=2000)
plot(strategy.position_avg_price)
Симптом:
Обоснование:
- Вы вводите длинную позицию в 10 монет на 10 $ (Портфолио = 100 $, position_avg_price - 10 долл. США *
- Цена снижается до 5 долл. США (портфель - 50 долл. США, но position_avg_price - все еще 10 долл. США)
- Вы продаете 5 из 10 монет, но все еще теряете 50 долл. США
- Обмен позволяет это, но эффективно обновляет вашу позицию до 5 монет, купленных по 20 долларов (position_avg_price должно быть 20 долларов), так как 10coin при 10 $ = 5coin при 20 $.
- Однако, как я вижу, position_avg_price понизит обновление до 7.5 как если покупка, а не продажа только что произошла
Любой обходной путь был бы очень ценным!