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