在开仓盈利的情况下,计算当前开仓新的一根K线的最新总盈利,在回撤当前开仓总盈利20%时,平仓,用通达信公式生成代码
时间: 2024-02-16 20:00:42 浏览: 163
根据您的问题,我理解您需要编写一个通达信公式,以计算开仓盈利并进行止损平仓。以下是一个简单的通达信公式,用于计算开仓总盈利并进行止损平仓:
```
C1:REF(CLOSE,1); //前一根K线的收盘价
C2:CLOSE; //当前K线的收盘价
P:POSITION; //当前持仓量(+表示多头,-表示空头)
COST:BUYPRICE; //开仓成本价
PROFIT:0; //当前总盈利
STOPLOSS:COST*0.8; //止损价格,为开仓成本价的80%
IF(P>0, //当前为多头持仓
BEGIN
PROFIT:REF(PROFIT,1)+(C2-C1)*P; //计算当前总盈利
IF(C2<=STOPLOSS,SELL(P,0,C2)); //止损平仓
END,
BEGIN //当前为空头持仓
PROFIT:REF(PROFIT,1)+(C1-C2)*P; //计算当前总盈利
IF(C2>=STOPLOSS,COVER(P,0,C2)); //止损平仓
END
);
```
以上代码假设您已经开仓并持有一定数量的股票或合约。在每个新的K线到来时,计算当前总盈利并判断是否需要进行止损平仓。如果当前持仓为多头,总盈利等于前一根K线到当前K线的收盘价变化量乘以持仓量再加上之前的总盈利。如果当前持仓为空头,总盈利等于当前K线到前一根K线的收盘价变化量乘以持仓量再加上之前的总盈利。如果当前价格低于止损价格,就进行止损平仓。
请注意,以上代码仅供参考,实际情况可能有所不同。在使用时,请根据您的具体交易策略进行修改。
阅读全文