我刚接触这个编码,在编写策略的时候遇到了如下问题:
我编写的交易策略,应用在自动策略中,然后我打开了K线图及控制台、账户透视几个窗口
当我没有持仓的时候,它可以自动买入进来;
然后行情变化的时候 控制台也打印了我对应的输出信息,例如
If(Close >= fixedStopLossPrice)
{
Print("【空头】触发固定止损:" + Text(sellPosition) + ", 止价:" + Text(Close));
if(BuyToCover(sellPosition, Close))
{
Print("【空头】止损成功");
} else {
Print("【空头】止损失败,当前MarketPosition:" + Text(MarketPosition));
}
}
第一个`触发固定止损`可以在控制台输出,表示条件达成了! 然后就会提示我 `止损成功`; 但是的持仓依然还在,账户透视中的交易历史记录也没有对应的平仓记录; 这种情况一般是什么原因!
你这个策略里是没有开仓命令的是吧
如果之前图表上没有开仓信号,出不了平仓信号的
有开仓逻辑的,不过持仓的时候可能是昨天买到的,而任务有重启过!
控制台信息
当持仓>0 并符合止损条件的时候
我说的是图上,不是你账户里。
图上如果没有持仓,是出不了平仓信号的。
我建议你把零基础课程前面先了解一下,把图表信号机制弄弄明白。
现在一知半解的问这些问题
.........
本来信息不足就难猜
补充信息还把把重要输出注释掉了....连进没进循环都看不出来.........
同学我无能为力了
等别人来了
我看你只写了打印,并没有要求程序操作什么啊?
if(BuyToCover(sellPosition, Close))
这个不是平仓操作吗?
你这不是IF吗???
可能我说的不清楚,我传图一下
我应用的自动策略
打开k线后,控制台输出的就是上面我代码中对应的那个逻辑,“成功”的注释我注释掉了
虽然它成功,并且按理说应该是要执行平仓的操作,但是透视中,却没有订单委托,持仓的也还在。。
这个控制台不是加载策略的时候触发的,而是已经加载完成后,行情发生新的变化后,后输出的
描述得有点抽象
猜一下 你打印的是历史信号 历史信号在实时是不执行的
我将相关的截图添加了,您帮我分析下,谢谢