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

【对冲加马丁】免费提供源代码  

石头1968
DD
| 发表于 2023-8-12 09:46:23 | 显示全部楼层
这个没用的。
// 手数
extern double Lots = 0.01; // 手数
extern double TakeProfit = 100.0; // 止盈点数
extern int MaxLevels = 5; // 最大逆加层数
extern double HedgeOffset = 50.0; // 首尾单止盈平衡点数
extern int Slippage = 3; // 滑点
extern int magicNumber = 123456; // 魔术数字

// 全局变量
bool hasPosition = false; // 是否有持仓
int buyLevels = 0; // 多单逆加层数
int sellLevels = 0; // 空单逆加层数
double buyPrice = 0.0; // 多单开仓价
double sellPrice = 0.0; // 空单开仓价

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
// 初始化逻辑
// 如果有持仓,将 hasPosition 设置为 true
   if(OrdersTotal() > 0)
     {
      hasPosition = true;
     }

   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert advisor start function                                     |
//+------------------------------------------------------------------+
int start()
  {
// 开仓逻辑
   if(!hasPosition)
     {
      // 以现价双向建仓
      if(OrderSend(Symbol(), OP_SELL, Lots, Ask, Slippage, 0, 0, "Oscillation EA", magicNumber) &&
         OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, "Oscillation EA", magicNumber))
        {
         Print("订单已发送");
         hasPosition = true;

         // 设置多单和空单的开仓价
         buyPrice = Bid;
         sellPrice = Ask;
        }
      else
        {
         Print("无法发送订单错误:" + GetLastError());
        }
     }

// 检查止盈条件
   if(hasPosition)
     {
      CheckTakeProfit();
     }

   return(0);
  }

//+------------------------------------------------------------------+
//| Check take profit condition                                       |
//+------------------------------------------------------------------+
void CheckTakeProfit()
  {
// 多单止盈
   if(OrdersTotal() > 0 && OrderType() == OP_BUY && (Bid - buyPrice) >= TakeProfit * Point)
     {
      CloseAllBuyOrders();
     }

// 空单止盈
   if(OrdersTotal() > 0 && OrderType() == OP_SELL && (sellPrice - Ask) >= TakeProfit * Point)
     {
      CloseAllSellOrders();
     }
  }

//+------------------------------------------------------------------+
//| Close all buy orders                                              |
//+------------------------------------------------------------------+
void CloseAllBuyOrders()
  {
   int totalOrders = OrdersTotal();
   for(int i = totalOrders - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderType() == OP_BUY)
           {
            OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, clrNONE);
            buyLevels = 0;
            sellLevels = 0;
            hasPosition = false;
            break;
           }
        }
     }
  }

//+------------------------------------------------------------------+
//| Close all sell orders                                             |
//+------------------------------------------------------------------+
void CloseAllSellOrders()
  {
   int totalOrders = OrdersTotal();
   for(int i = totalOrders - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderType() == OP_SELL)
           {
            OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clrNONE);
            buyLevels = 0;
            sellLevels = 0;
            hasPosition = false;
            break;
           }
        }
     }
  }

//+------------------------------------------------------------------+
//| Expert advisor deinitialization function                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
// 在EA停止运行时平仓所有持仓
   CloseAllBuyOrders();
   CloseAllSellOrders();
  }
//+------------------------------------------------------------------+
举报

点赞 评论 使用道具

westwuwei
DDD
| 发表于 2023-8-12 13:03:48 | 显示全部楼层
hades 发表于 2023-7-29 10:43
如果chartgpt写的ea有用,那市场上就没有人亏损了

chatgpt助长了初学者亏更多钱给卖课的老师们。真正的研发者从来不把初学者工具当作对象。
举报

点赞 1 评论 使用道具

xx59
D
| 发表于 2023-8-23 00:46:48 | 显示全部楼层
无奈呀是
举报

点赞 评论 使用道具

bj2065
D
| 发表于 2023-8-24 14:22:34 | 显示全部楼层
用ChatGPT编写的EA,行不行让机器给回测数据呀
举报

点赞 评论 使用道具

lyt223315
D
| 发表于 2023-12-27 22:53:59 来自手机 | 显示全部楼层
1、本ea主要适用在震荡行情中,如果遇到单边行情,会先逆加,逆加满后,再反向对冲,逐步解套。
2、当空仓时,ea双向现价建仓,设止盈,不设止损。
     在震荡行情中,往往是价格向上触及多单止盈后震荡向下触及空单止盈,从而双向盈利。
3、如果遇到小幅度的单边,会进行逆向加仓。
4、如果小幅单边变成大幅单边,会在逆加加满层数后,进行反向对冲,并进行首尾单盈亏平衡对冲平仓。
5、如果单边很坚决,ea可以完全盈利解套。
6、如果单边较反复,则ea在建仓反向对冲单后,行情又回落到初始对冲线之后指定点数,则反向对冲单会亏损平仓。
举报

点赞 评论 使用道具

程星星
DD
| 发表于 2024-1-4 23:22:30 来自手机 | 显示全部楼层
现在上面的修复好了吗?
举报

点赞 评论 使用道具

tim314
D
| 发表于 2024-1-10 17:10:41 | 显示全部楼层
学习,试试
举报

点赞 评论 使用道具

lyt223315
D
| 发表于 2024-1-10 21:57:30 来自手机 | 显示全部楼层
模拟盘好像不会平仓怎么回事
举报

点赞 评论 使用道具

shuiluo
DDD
| 发表于 2024-1-10 22:06:45 | 显示全部楼层
一起学习进步
举报

点赞 评论 使用道具

wf_1013
DD
| 发表于 2024-2-20 11:36:29 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

xsh13963
D
| 发表于 2024-2-21 22:53:50 | 显示全部楼层
hades 发表于 2023-7-29 10:43
如果chartgpt写的ea有用,那市场上就没有人亏损了

能写出来和能盈利是2个概念
举报

点赞 评论 使用道具

lingyiap
D
| 发表于 2024-2-21 23:37:29 | 显示全部楼层
瞧瞧是可以的,赚个活跃度
举报

点赞 评论 使用道具

524543284
D
| 发表于 2024-3-11 09:21:51 | 显示全部楼层
等 看什么时候 改好 发出来
举报

点赞 评论 使用道具

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

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