客服热线:18391752892

花了一早上写的移动止损EA(或叫移动止盈)

   日期:2019-01-12     浏览:149    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 本帖最后由 yklt168 于 2012-8-31 14:55 编辑

一直想要一个合适的移动止盈EA怕晚上睡了大涨或大跌,
 网上找了几个,一些是代码读不懂,不敢用,一些是不是要想要的,
 自己初学MQL4,所以自己试着写了个,新手写的代码,写笑了,有什么不对的地方,请各位提出来我改进!
 5位的系统中用!
 
 #property copyright bai
 #property link     
 extern double TP=200;//止盈点
 extern double SL=200;//止损点
 extern double TPLow=70;//差止盈位x个点就开始重设置止损
 extern bool MoveSL=true;//移动止损开关
 
 int MoveSL_Function()
 //Ver 1.0.0.0(20120830)
 //移动止损函数,反回1就是成功,返回-1就是操作失败或不用止损
 {
 int cnt, total;
 string s;
 bool YN=false;
 
 total=OrdersTotal();
 for(cnt=total-1;cnt cnt--)
    {
    s=
    if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==false) continue; //如果选重不成功,就跳到下一个次循环
   
   
     if(OrderSymbol()==Symbol() OrderType()==OP_BUY )// OrderMagicNumber()==MAGICMA 这测试是不是空单
     //多单
     {
     
     if(
     ( OrderStopLoss()==0 || OrderTakeProfit()==0 ) || //没有设置止损或止盈价
      OrderTakeProfit()-Bid
可以参考我写的根据设置的固定点数对订单进行移动止损
bool moving_stoploss_by_point(int order_ticket, int stoploss_point, color colour=CLR_NONE){
if(!OrderSelect(order_ticket,SELECT_BY_TICKET,MODE_TRADES)) return(false);
double open_price=OrderOpenPrice();
double stop_loss=OrderStopLoss();
if (stop_loss==0.0) stop_loss=OrderOpenPrice();
if(OrderType()==OP_BUY Bid-stop_loss =2.0*stoploss_point*Point){
if(OrderModify(order_ticket,open_price,stop_loss+stoploss_point*Point,OrderTakeProfit(),0,colour)) return(true);
}
if(OrderType()==OP_SELL stop_loss-Ask =2.0*stoploss_point*Point){
if(OrderModify(order_ticket,open_price,stop_loss-stoploss_point*Point,OrderTakeProfit(),0,colour)) return(true);
}
return(false);
}
还有根据某一条移动平均线,对订单进行移动止损,以及移动止损的EA工具,到我网站上去看:www.eanotes.com
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情
推荐行情
点击排行