老师们好,自己总结了一些问题,以双均线为例,把问题描述在程序里,错误的地方和不懂的地方麻烦老师指正,谢谢。
老师们好,学习了一段时间,自己总结了一些问题,以双均线为例,把问题描述在程序里,错误的地方和不懂的地方麻烦老师指正,谢谢。 // 简称: DualMA // 名称: 双均线交易系统 // 类别: 公式应用 // 类型: 内建应用 //------------------------------------------------------------------------ Params Numeric FastLength(5);// 短期指数平均线参数 Numeric SlowLength(20);// 长期指数平均线参数 Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Series<Numeric> my_entryprice; Events OnBar(ArrayRef<Integer> indexs) { AvgValue1 = AverageFC(Close,FastLength); AvgValue2 = AverageFC(Close,SlowLength); PlotNumeric("MA1",AvgValue1); PlotNumeric("MA2",AvgValue2); If(Time>0.0905 and Time<=0.1449 )//做日内,限制开仓时间为9:05-14:49,股指类的话另外设置 { If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1]) //没有持多仓开多仓 限制循环开仓 设置委托偏移,数字2代表两跳,是这么理解吗?滑点是什么呢? { Buy(0,Open);//这里0代表什么?按照可用资金最大开仓手数开仓吗?数字1代表1手,数字2代表2手,是这样理解吗? my_entryprice=Open; } If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1]) //没有持空仓开空仓 限制循环开仓 设置委托偏移,数字2代表两跳,是这么理解吗?滑点是什么呢? { SellShort(0,Open); my_entryprice=Open; } //止盈 止损 和其他出场条件 //止损条件 加这个限制的话 And BarsSinceEntry > 0//开仓bar不止损止盈 If(MarketPosition>0 and 1ow< my_entryprice-10)//止损条件满足 EntryPrice-low>10 10就是10个点 任何一个品种10 { Sell(0, min(O,my_entryprice-10)); } else if(Marketposition>0 and high> EntryPrice+10)//止盈条件满足盈利10个点,EntryPrice,high-my_entryprice>10 { Sell(0,max(O,my_entryprice+10)); } else if(其他条件)//如kdj死叉就出场 { Sell(0,Open);//这里用Open合适还是其他合适?如c 最新价? } //空头止损 止盈和其他出场条件同上 //把止损条件放在开仓条件前,就会形成开仓bar不止损 程序运行是由上往下 是这样吗? //收盘前强制平仓 If (Date == CurrentDate AND CurrentTime >= 0.1455 AND Time == 0.1455 AND MarketPosition()!=0) //本机时间14:55 强制平仓 Time == 0.1455为5分钟周期,15分钟周期改为0.1445 30分钟周期改为0.1430 这样理解正确吗? { If(MarketPosition() == 1) Sell(0,O);// 平全部多单 If(MarketPosition() == -1) BuyToCover(0,O);//平全部空单 } } 其他问题: Buy(0,Open);//这里0代表什么?按照可用资金最大开仓手数开仓吗?数字1代表1手,数字2代表2手,是这样理解吗? 进场Buy(1,Open) Buy(1,max(Open,H)和Buy(1,c)和Buy(1,last)//这几个进场表达有什么区别?c是不是代表最新价?last也是最新价吗? 出场Buy0,Open)和sell(0,min(Open,L))的区别是什么? 上一次kdj金叉到当前bar的距离怎么表达? NthCon(CrossOver(J,K) , 1);这样表达可以吗? 关于止损:下面两个表达方式是一个意思吗? 1ow< my_entryprice-10 //开仓价亏损10个点出场 1ow< my_entryprice- Offset_ByJump(0,10)) // 这里不太明白Offset_ByJump 怎么使用