Pinescript-为什么触发strategy.exit()时strategy.position_avg_price无法正确调整?

时间:2020-04-12 02:34:16

标签: pine-script

简而言之,当处于多头头寸时,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)

症状: SO answer

理论价格:

  • 您以10美元的价格输入10个硬币的多头头寸(投资组合= 100美元,position_avg_price为10美元)
  • 价格降至$ 5(投资组合为$ 50,但position_avg_price仍为$ 10)
  • 您售出10个硬币中的5个,但您仍然损失了50美元
  • 交易所允许这样做,但有效地将您的头寸更新为5个硬币,价格为20美元(position_avg_price应该为20美元),即10硬币(10美元)= 5硬币(20美元)。
  • 但是,据我所见,position_avg_price会将更新降低到7.5,就好像刚发生了买入或卖出

任何解决方法将不胜感激!

0 个答案:

没有答案