设为首页 收藏本站 切换语言

移动止损函数  

| 发表于 2024-2-1 14:37:02 | 显示全部楼层 |复制链接
移动止损函数
  1. //移动止损函数
  2.    
  3.    // 详解:该函数里面需要用到的可修改的外部变量是: 1、 移动止损点数    2、magic  (这两个变量可将其定义成全局变量)
  4.      
  5.      void yidong()   //定义函数名称
  6.      {
  7.      
  8.         for(int i=0;i<OrdersTotal();i++)    //for循环语句订单总数的循环  OrdersTotal()用来获取当前的所有订单总数
  9.           {
  10.              if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)  //查询当前的订单序号是否存在
  11.                {
  12.                    if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)  //判断第一查询到的订单类型是不是买单,第二查询到的订单的货币对是不是当前货币对,第三查询到的订单的魔术号是否和外部定义的魔术号是否相同
  13.                            {
  14.                              if ((Bid-OrderOpenPrice())>=Point*移动止损点数)    //如果现卖价-开单价的点数大于等于移动止损点数,即价格上升多少个点后,准备开启以下的止损上移变动设置。
  15.                                 {
  16.                                    if (OrderStopLoss()<(Bid-Point*移动止损点数)||(OrderStopLoss()==0))  // 如果现卖价-移动止损点数后的 价格大于设置的止损价,或者  止损价格没有设置的时候,执行下面的修改订单止损价格语句
  17.                                       {
  18.                                          int OM;  //定义一个变量接收修改订单函数的返回值
  19.                                          OM=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*移动止损点数,OrderTakeProfit(),0,Green);   //修改订单止损价格语句(订单编号识别,订单开单价识别,止损价格修改,订单止盈价格识别,当前周期,订单颜色)
  20.                                       }
  21.                                  }
  22.                              }
  23.                       if (OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)   //判断第一查询到的订单类型是不是买卖单,第二查询到的订单的货币对是不是当前货币对,第三查询到的订单的魔术号是否和外部定义的魔术号是否相同
  24.                          {
  25.                             if ((OrderOpenPrice()-Ask)>=(Point*移动止损点数))          //如果现开单价格--买价价的点数大于等于移动止损点数,即价格下降多少个点后,准备开启以下的止损下移变动设置。
  26.                                {
  27.                                   if((OrderStopLoss()>(Ask+Point*移动止损点数))||(OrderStopLoss()==0))    // 如果设置的止损价大于现买价价+移动止损点数后的 价格,或者  止损价格没有设置的时候,执行下面的修改订单止损价格语句
  28.                                      {
  29.                                         int OM;   //定义一个变量接收修改订单函数的返回值
  30.                                         OM=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*移动止损点数,OrderTakeProfit(),0,Green);    //修改订单止损价格语句(订单编号识别,订单开单价识别,止损价格修改,订单止盈价格识别,当前周期,订单颜色)
  31.                                      }
  32.                                }
  33.                         
  34.                           }
  35.                    }
  36.   
  37.              }
  38.      
  39.       }
复制代码
举报

评论 使用道具

热门主题

精彩评论13

xinhua123
DDD
| 发表于 2024-2-4 00:26:15 | 显示全部楼层
止损追踪
举报

点赞 评论 使用道具

zhq320
DD
| 发表于 2024-2-4 22:24:56 | 显示全部楼层
很不错的函数,就是
不知道实用性怎么样
举报

点赞 评论 使用道具

ken138888
B
| 发表于 2024-2-5 21:04:42 | 显示全部楼层
有mq5版的吗
举报

点赞 评论 使用道具

shllwk
DDD
| 发表于 2024-2-8 20:52:23 | 显示全部楼层
谢谢分享很不错的函数,就是
举报

点赞 评论 使用道具

aliang9887
C
| 发表于 2024-2-19 08:42:29 | 显示全部楼层
买单和卖单都兼顾到了
举报

点赞 评论 使用道具

LJK
D
| 发表于 2024-3-16 19:54:42 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

heiyaoxiang
D
| 发表于 2024-3-24 20:01:40 | 显示全部楼层
可以写成模块吗
举报

点赞 评论 使用道具

夕阳西下
DDD
| 发表于 2024-3-25 08:43:43 | 显示全部楼层
挺好的。。
举报

点赞 评论 使用道具

524862717
D
| 发表于 2024-3-26 00:36:20 | 显示全部楼层
MT4不就有自带的移动止损??这个和这个功能有什么差别??
举报

点赞 评论 使用道具

t5530407
DD
| 发表于 2024-3-26 11:58:07 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

notoegg
D
| 发表于 2024-4-12 14:45:53 | 显示全部楼层
谢谢分享 好工具
举报

点赞 评论 使用道具

haha233
DD
| 发表于 前天 00:23 | 显示全部楼层
不是固定点的嘛
举报

点赞 评论 使用道具

t5530407
DD
| 发表于 昨天 22:04 | 显示全部楼层
非常感谢楼主
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)