前不久接触一朋友推荐的平台,有操盘手带单,属于懒人躺赚模式,据说月收益比较稳定。我将他们操盘手的交割单仔细研究以后发现,三个特点: ①只设止损,不设止盈。 ②做单频率较低,一天一次左右。 ③持仓时间很短,最多也就一个小时多点。到了时间,就关仓止盈了。 这是个非常好的想法,由于外汇市场复杂多变,因此,止盈其实是非常难把握的,但由于外汇市场具有趋势性,因此,方向性又比较好把握。只是,就算能把握对方向,究竟能把多久,把握到什么程度,都是未知数。 所以,外汇市场的难易如下: ①猜方向。(易) ②猜方向持续点数。(难) ③猜方向持续时间。(难) 因此,就统一只持仓一小会,时间到了,就走人了,不赚太多,求稳。 我将此想法编写成EA,运行情况大致如下: 测试时间是2017年1月1日至2019年6月5日。测试品种黄金。测试周期30分钟。由于只是一个入场及其简单的模型,各种参数也根本没有优化,因此模型比较粗糙,回撤比较大。但可以看出,坚持这样运行,以6000美金本金,也实现了8175美金盈利。源代码如下: extern double FirstLots=1; extern int MagicNumber = 0; extern int Slippage = 3; extern int 紧缩点数; extern int 时间=1000; extern int 止损点数; int OnInit() { return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { } void OnTick() { double L1=Low[1]; double L2=Low[2]; double L3=Low[3]; double H1=High[1]; double H2=High[2]; double H3=High[3]; double o1=Open[1]; double o2=Open[2]; double o3=Open[3]; double c1=Close[1]; double c2=Close[2]; double c3=Close[3]; double OrdersTotalTrue=0; double OrdersOpenTime=0; if (OrdersTotal() != 0) { for(int pos1=0; pos1L2 && L2>L3 && c1-o1>0 && c2-o2>0 && c3-o3>0 && L1-L2<紧缩点数*Point && L2-L3<紧缩点数*Point) { OrderSend(Symbol(), OP_BUY, FirstLots, NormalizeDouble(Ask,Digits), Slippage,Ask-止损点数*Point,0, "Order Buy", MagicNumber, 0, Red); } else if(H1时间) { closeallorder(); } } void closeallorder() { int t=OrdersTotal(); for(int i=t-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),300,Green); } } } } 开仓逻辑很简单,利用红三兵或者黑三兵裸K。参数设置如下: |