找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 11|回复: 0

【MQL4函数】三角对冲指标

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-22 19:56:00 | 显示全部楼层 |阅读模式
三角对冲可谓是相当出名的策略了,这个策略其实是基于三个货币对的关系来做交易的。什么意思呢,比如说现在EURUSD的价格是2,GBPUSD的价格是4,那么理论上EURGBP的价格应该是2/4=0.5,但是实际的价格是0.6,那么我们就发现有套利空间了,因为实际的价格是迟早会回归到理论价格的,我们只要做多理论价格做空实际价格就可以获利。于是我们做多1手EURUSD,做空0.5手GBPUSD,做空1手EURGBP,也就是说做多理论价格做空实际价格,等实际价格和理论价格相等的时候我们就平仓获利。

接下来的三角对冲指标要完成的工作就是这个。



#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
double hudge[];
string sym1="EURUSD";
string sym2="GBPUSD";
string sym3=“EURGBP";
int OnInit()
  {
      string name=“EURUSD/GBPUSD-EURGBP”;
      SetIndexBuffer(0,hudge,INDICATOR_DATA);
      SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,clrRed);
      IndicatorShortName(name);
      return(INIT_SUCCEEDED);
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i;
   ArrayResize(hudge,rates_total);
   if(prev_calculated==0)
   {
      for(i=0;i<=rates_total;i++)
      {  
         hudge=(iClose(sym1,PERIOD_CURRENT,i)/iClose(sym2,PERIOD_CURRENT,i)-
        iClose(sym3,PERIOD_CURRENT,i))*10000;
      }
   }
   else
   {
      hudge[0]=iClose(sym1,PERIOD_CURRENT,0)/iClose(sym2,PERIOD_CURRENT,0)-                              iClose(sym3,PERIOD_CURRENT,0)*10000;
   }
   return(rates_total);
  }复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-12 07:46 , Processed in 0.106442 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表