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

永远保持订单距离最大盈利处10个点(移动止损)

| 发表于 2022-11-15 13:14:42 | 显示全部楼层 |复制链接
永远保持订单距离最大盈利 10 个点,也就是多单随着行情上涨,止损上移,行情下跌,
止损不变,空单相反。
这种操作就是标准的移动止损,移动止损和平保不同,平保只修改一次止损,移动止损会不断将多单的止损往上移动,空单的止损往下移动。移动止损不仅仅只是保护了账户不亏损,而且还能随着行情变化,将利润扩大。
在MT4平台上,实现这样一个EA非常简单,只需要短短几十行代码,下面提供完整全部代码,供初学者学习参考。
  1. //+------------------------------------------------------------------+
  2. //|                             永远保持订单距离最大盈利处10个点.mq4 |
  3. //|                                                           漆学军 |
  4. //|                                           http://www.fzzzzzz.cn |
  5. //+------------------------------------------------------------------+
  6. #property copyright "漆学军"
  7. #property link      "http://www.forexmt4.cn"
  8. #property version   "1.00"
  9. #property strict
  10. input int tp=100;//永远保持订单距离最大盈利处多少个点
  11. //+------------------------------------------------------------------+
  12. //| Expert initialization function                                   |
  13. //+------------------------------------------------------------------+
  14. int OnInit()
  15.   {
  16. //---
  17. //---
  18.    return(INIT_SUCCEEDED);
  19.   }
  20. //+------------------------------------------------------------------+
  21. //| Expert deinitialization function                                 |
  22. //+------------------------------------------------------------------+
  23. void OnDeinit(const int reason)
  24.   {
  25. //---
  26.   }
  27. //+------------------------------------------------------------------+
  28. //| Expert tick function                                             |
  29. //+------------------------------------------------------------------+
  30. void OnTick()
  31.   {
  32. //---
  33.    int total=OrdersTotal();
  34.    for(int i=0; i<total; i++)
  35.      {
  36.       if(OrderSelect(i, SELECT_BY_POS))
  37.         {
  38.          if(OrderSymbol()==Symbol())
  39.            {
  40.             if(OrderType()==OP_BUY)
  41.               {
  42.                if(OrderStopLoss()==0 || OrderStopLoss()<OrderClosePrice()-tp*Point)
  43.                  {
  44.                   bool res=OrderModify(OrderTicket(), OrderOpenPrice(), OrderClosePrice()-tp*Point, OrderTakeProfit(), 0);
  45.                  }
  46.               }
  47.             if(OrderType()==OP_SELL)
  48.               {
  49.                if(OrderStopLoss()==0 || OrderStopLoss()>OrderClosePrice()+tp*Point)
  50.                  {
  51.                   bool res=OrderModify(OrderTicket(), OrderOpenPrice(), OrderClosePrice()+tp*Point, OrderTakeProfit(), 0);
  52.                  }
  53.               }
  54.            }
  55.         }
  56.      }
  57.   }
  58. //+------------------------------------------------------------------+
复制代码
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论5

ken138888
B
| 发表于 2022-11-15 14:06:28 | 显示全部楼层
好好学习
举报

点赞 评论 使用道具

ea12213
C
| 发表于 2022-11-15 19:52:17 | 显示全部楼层
这挺好的
举报

点赞 1 评论 使用道具

westwuwei
DDD
| 发表于 2022-11-15 21:48:55 | 显示全部楼层
止损的问题不是什么“移动”,而是止损距离。如果距离不合理,就等于“意淫”。

你以为是止住了亏损,其实是不断地重复悲催的被资金方随意左右打脸式地扫损,直到输光本金。

不适合自己的止损顶多只会让你感觉输的稍微慢一点,而不会让你警醒!
举报

点赞 评论 使用道具

daerwushen
DD
| 发表于 2022-11-16 09:35:04 | 显示全部楼层
移动止损
举报

点赞 评论 使用道具

pxyhub
C
| 发表于 2022-11-16 17:43:44 | 显示全部楼层
就是有点频繁修改~~
举报

点赞 评论 使用道具

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

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