四周策略改盈利加仓不成功,哪里出问题了?

Params Vars Numeric highline; //高点连线 Numeric lowline; //低点连线 Numeric myprice; //委托价格 Numeric lots(5); //委托数量 Numeric money(10); //浮盈开仓:单位万 Events OnInit() { //=========交易相关设置============== SetInitCapital(100000); //设置初始资金为10万 } OnBar(ArrayRef<Integer> indexs) { myprice=Open;//这里使用open,更为精确的是使用委托价格 lots=IntPart(money*10000/(myprice*contractunit*BigPointValue)); //计算开仓手数 // lots=5; highline=Highest(High[1],20); lowline=Lowest(Low[1],20); If(MarketPosition<>1 And High>=highline) Buy(lots,Max(Open,highline)); If(MarketPosition<>-1 And Low<=lowline) { SellShort(lots,Min(Open,lowline)); money=lots*(myprice*contractunit*BigPointValue)/10000;} }

麻烦管理删掉帖子!免得误导他人!

策略研究时用:lots=IntPart(money/(myprice*contractunit*BigPointValue)); 策略交易时用:lots=IntPart(A_FreeMargin/(myprice*contractunit*BigPointValue)); 策略研究下不带账户,要设定初始资金、最大投入交易资金。策略交易就可以用模拟账户里资金和持仓量来跑了。 初学程序化交易,把这两个之间的差异没搞清楚。

lots=IntPart(A_FreeMargin/(myprice*contractunit*BigPointValue)); //计算开仓手数 搞公式习惯了,没想起来用账户函数。问题已经解决,谢谢kyover!

Params Vars Numeric highline; //高点连线 Numeric lowline; //低点连线 Numeric myprice; //委托价格 Numeric lots; //委托数量 Numeric money(1); //浮盈开仓:单位万 Events OnInit() { //=========交易相关设置============== //SetInitCapital(1000000); //设置初始资金为10万 } OnBar(ArrayRef<Integer> indexs) { myprice=Open;//这里使用open,更为精确的是使用委托价格 lots=IntPart(money*10000/(myprice*contractunit*BigPointValue)); //计算开仓手数 // lots=5; highline=Highest(High[1],20); lowline=Lowest(Low[1],20); If(MarketPosition<>1 And High>=highline) Buy(lots,Max(Open,highline)); If(MarketPosition<>-1 And Low<=lowline) {Sell(lots,Min(Open,lowline)); money=lots*(myprice*contractunit*BigPointValue)/10000;}//平仓后重新计算资金量,给money重新赋值 }

这哪里有代码是写盈利加仓的? 盈利判断没有,加仓也没有

回复:money=lots*(myprice*contractunit*BigPointValue)/10000;

回复:怎么改,麻烦指点一下。

回复:写都没写 怎么改?起码写出来再改吧 加仓语句 可以学习海龟策略 盈利需要序列类型记录开仓价格 可以参考移动止损的思路

回复:这个money是不是下一bar就给var部分初始化成默认值了,而不是sell之后的最后一句给它的最新值?程序小白,基本没有编程经验,麻烦多指教。谢谢!

If(MarketPosition<>-1 And Low<=lowline) { SellShort(lots,Min(Open,lowline)); money=lots*(myprice*contractunit*BigPointValue)/10000;} }//平仓后重新计算资金量,给money重新赋值。