| 三角对冲可谓是相当出名的策略了,这个策略其实是基于三个货币对的关系来做交易的。什么意思呢,比如说现在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[i]=(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);
  }
 |