和中国电费一样,一档档的上。
完整EA:Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客
mql4代码节选如下:
//第一张单上涨2500,开始SL跟踪300点if (count == 1 && !follow_p_3){double ctp = calcTotalProfit(0, "buy", 888);if (!follow_p_1 && ctp / Point > order1_profit_point_trigger * multiple) {follow_p_1 = true;followPrice_p_1 = ctp ;printfPro("第1档综合盈利开始追踪:" + ctp, true);}if(follow_p_1){followPrice_p_1 = ctp > followPrice_p_1 ? ctp : followPrice_p_1;}if (follow_p_1 && (followPrice_p_1 - ctp) / Point > order1_SL * multiple){//平仓Close_All_Order_DeadLine(Symbol(),"EA","B",888);printfPro("第1档综合盈利全平:" + ctp, true);reset(open_time);}}
第一档的默认参数,触发线是500,回调线是200,一个特别限制条件是,只有一张趋势单。也就是说,当一轮做单开始后,成功开仓了1单,当盈利达到0.5刀(1000本金时)就开始追踪止盈,一直追涨(空),直到盈利在当前最大值回撤0.2刀,止盈。
//1到5笔订单,综合获利1500微点后(可调整、显示SL线),通过综合利润SL跟踪500微点(可调整),触碰跟踪止赢即全部平仓(需要在天图中显示SL线)if (count >= 1){double totalProfit = calcTotalProfit(0, "buy", 888);//当前盈亏if (!follow_p_3 && totalProfit / Point > order1_5_profit_point_trigger * multiple){//进入第2档时,取消第1档追踪follow_p_1 = false;followPrice_p_1 = 0;follow_p_3 = true;followPrice_p_3 = totalProfit;printfPro("第2档综合盈利开始追踪:" + totalProfit, true);}if(follow_p_3){followPrice_p_3 = totalProfit > followPrice_p_3 ? totalProfit : followPrice_p_3;}if (follow_p_3 && (followPrice_p_3 - totalProfit) / Point > order1_5_SL * multiple){//全部平仓Close_All_Order_DeadLine(Symbol(),"EA","B",888);printfPro("第2档综合盈利全平:" + totalProfit, true);reset(open_time);}}
第2档移动止盈的默认参数是:2300和700,5张单内也适用。
//第3档综合移动止赢if (!follow_p_2 && calcTotalProfit(0, m15_down ? "sell" : "buy", 888) / Point > m15_m30_order_all_profit_point_trigger * multiple){//进入第3档时,取消第1,2档追踪follow_p_1 = false;followPrice_p_1 = 0;follow_p_3 = false;followPrice_p_3 = 0;follow_p_2 =true;followPrice_p_2 = calcTotalProfit(0, m15_down ? "sell" : "buy", 888);printfPro("第3档综合盈利止赢开始追踪:" + calcTotalProfit(0, m15_down ? "sell" : "buy", 888));}if(follow_p_2){followPrice_p_2 = calcTotalProfit(0, m15_down ? "sell" : "buy", 888) > followPrice_p_2 ? calcTotalProfit(0, m15_down ? "sell" : "buy", 888) : followPrice_p_2;}if (follow_p_2 && (followPrice_p_2 - calcTotalProfit(0, m15_down ? "sell" : "buy", 888)) / Point > m15_m30_order_all_SL * multiple){printfPro("第3档综合盈利全平:" + calcTotalProfit(0, m15_down ? "sell" : "buy", 888));//全平if(m15_down){Close_All_Order_DeadLine(Symbol(),"EA","S",888);}else{Close_All_Order_DeadLine(Symbol(),"EA","B",888);}reset(open_time);}
第3档默认参数是:3400和1400。
第1、2档容易达到,也容易回调止盈,在趋势不稳定时可以尽甲安全离场,但盈利能力非常有限。正常情况下,1、2、3档会阶梯式递增,但我们其实还设计了一个开关,直达第3档,1、2档没有反向趋势时不启用,代码如下: