INPUT:A(5,1,30,3),B(15,5,100,10),SS(1,1,1000,1),ZS(13,5,20,1);
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
开多平空条件:=CROSS( MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
//止损1.3%
多头止损条件:=c<=enterprice*(1-ZS/1000) ;{ c<=enterprice*(1-0.001*ZS) ; }
空头止损条件:=c>=enterprice*(1+ZS/1000) ;
if 多头止损条件 and holding>0 then begin
多头止损:sell(1,0,market);
end
if 空头止损条件 and holding<0 then BEGIN
空头止损:sellshort(1,0,market);
end
此主题相关图片如下:捕获.png20131122.png
您好,把对应的MARKET改成MARKETR
一个测试的时候是次周期开盘价,一个是本周期收盘价!您这里明细要用到后者
而且对应的盈亏计算方法
盈亏%:盈亏金额/(开仓价*合约乘数*交易量)*100%。
您拿您的条件做下对比就清楚了
1,c<=enterprice*(1-ZS/1000)
2,盈亏金额/(开仓价*合约乘数*交易量)*100%>1.3%
这2个对应不匹配哦
盈亏%:盈亏金额/(开仓价*合约乘数*交易量)*100%=开平仓价差 /开仓价。
=如多头则,(开平仓价差-C)/开仓价=zs/1000
=多头止损条件:=c<=enterprice*(1-ZS/1000) ;
空头止损条件:=c>=enterprice*(1+ZS/1000) ;
您好,把对应的MARKET改成MARKETR
一个测试的时候是次周期开盘价,一个是本周期收盘价!您这里明细要用到后者
而且对应的盈亏计算方法
盈亏%:盈亏金额/(开仓价*合约乘数*交易量)*100%。
您拿您的条件做下对比就清楚了
查MARKETR :交易评测时按照本周期收盘价操作,处于图表交易时按照实际交易市价操作。
market:测评时按次周期开盘价(就是这个价格)
marketr:测评时按本周期收盘价(就是这个价格)
实际交易时按市价委托,对应金仕达平台的市价默认是加3个档。
http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=52160&replyID=&skin=1这里有很详细的说明,楼主可以看下。