用时间进行止盈的模型
前不久接触一朋友推荐的平台,有操盘手带单,属于懒人躺赚模式,据说月收益比较稳定。我将他们操盘手的交割单仔细研究以后发现,三个特点:①只设止损,不设止盈。②做单频率较低,一天一次左右。③持仓时间很短,最多也就一个小时多点。到了时间,就关仓止盈了。 这是个非常好的想法,由于外汇市场复杂多变,因此,止盈其实是非常难把握的,但由于外汇市场具有趋势性,因此,方向性又比较好把握。只是,就算能把握对方向,究竟能把多久,把握到什么程度,都是未知数。 所以,外汇市场的难易如下:①猜方向。(易)②猜方向持续点数。(难)③猜方向持续时间。(难) 因此,就统一只持仓一小会,时间到了,就走人了,不赚太多,求稳。 我将此想法编写成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; double L2=Low; double L3=Low; double H1=High; double H2=High; double H3=High; double o1=Open; double o2=Open; double o3=Open; double c1=Close; double c2=Close; double c3=Close; 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。参数设置如下: 不错不错,很好哦 谢谢楼主分享 谢谢楼主分享 帮你顶下哈!! 添加一条新回复 学习了,不错 谢谢楼主分享 支持下 {:1_179:}
页:
[1]
2