下面是MarketInfo()函数,并且把主要货币兑列出来了。以后就不用干体力活了。。
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
double sy1;
/* 定义了一个变量,由于需要,定义为全局变量(即,放在start()前面 )。sy1,是随便起了一个名字,你也可以用其他的,之所以加了数字是可以结合数组来使用。
在定义了这个sy1变量以后,在start()里面的就直接用,然后用MarkertInfo()函数赋值,这个函数能提取出很多东西,具体见mt4的帮助,在这里我们要提取的是(不同)货币兑的价格,具体参数设置是:sy1=MarketInfo(\"AUDCAD\",MODE_BID); 括号里面的第一个参数是货币兑,第二个是要提取的值,这里是MODE_BID 即 买价。
如何使用? sy1是一个数字,AUDCAD的即时买价,这在开仓,平仓,修改单子的时,要用价格的时候用到。但是,不知道是本人水平还是MT4的平台设计问题,不能及时获取价格。 即加载后,不同货币兑的价格只能通过当前窗口价格变化才能获取更新,这是因为EA的Start的运行,是由价格变化才重新运行的。
简单说:用MarketInfo 提取的价格来开仓和平仓存在很大问题,
最后说三点
1,用MarketInfo提取不同价格货币对,解决了在一个图表加载EA时获得多个货币对价格的问题。 但同时存在一个很大的问题:不同货币兑的价格只能通过当前窗口价格变化才能获取更新,这是因为EA的Start的运行,是由价格变化才重新运行的。也希望有高手能提出更好的办法
2.我把这个东西发出来,是提供给大家开发 “套利策略”使用的。 至于什么是套利策略,大家理解吧。谢谢东方兄提供的套利策略思路。
*/
double sy2;
double sy3;
double sy4;
double sy5;
double sy6;
double sy7;
double sy8;
double sy9;
double sy10;
double sy11;
double sy12;
double sy13;
double sy14;
double sy15;
double sy16;
double sy17;
double sy18;
double sy19;
double sy20;
double sy21;
double sy22;
double sy23;
int start()
{
//----
sy1=MarketInfo(\"AUDCAD\",MODE_BID);
sy2=MarketInfo(\"AUDJPY\",MODE_BID);
sy3=MarketInfo(\"AUDNZD\",MODE_BID);
sy4=MarketInfo(\"AUDUSD\",MODE_BID);
sy5=MarketInfo(\"CADJPY\",MODE_BID);
sy6=MarketInfo(\"CHFJPY\",MODE_BID);
sy7=MarketInfo(\"EURAUD\",MODE_BID);
sy8=MarketInfo(\"EURCAD\",MODE_BID);
sy9=MarketInfo(\"EURCHF\",MODE_BID);
sy10=MarketInfo(\"EURGBP\",MODE_BID);
sy11=MarketInfo(\"EURJPY\",MODE_BID);
sy12=MarketInfo(\"EURUSD\",MODE_BID);
sy13=MarketInfo(\"GBPCHF\",MODE_BID);
sy14=MarketInfo(\"GBPJPY\",MODE_BID);
sy15=MarketInfo(\"GBPUSD\",MODE_BID);
sy16=MarketInfo(\"NZDUSD\",MODE_BID);
sy17=MarketInfo(\"USDCAD\",MODE_BID);
sy18=MarketInfo(\"USDCHF\",MODE_BID);
sy19=MarketInfo(\"USDJPY\",MODE_BID);
sy20=MarketInfo(\"USDMXN\",MODE_BID);
sy21=MarketInfo(\"USDTRY\",MODE_BID);
sy22=MarketInfo(\"XAGUSD\",MODE_BID);
sy23=MarketInfo(\"XAUUSD\",MODE_BID);
Comment(\"nAUDCAD\", sy1,
\"n AUDJPY \", sy2 ,
\"n AUDNZD \", sy3 ,
\"n AUDUSD \", sy4 ,
\"n CADJPY \", sy5 ,
\"n CHFJPY \", sy6 ,
\"n EURAUD \", sy7 ,
\"n EURCAD \", sy8 ,
\"n EURCHF \", sy9 ,
\"n EURGBP \", sy10 ,
\"n EURJPY \", sy11 ,
\"n EURUSD \", sy12 ,
\"n GBPCHF \", sy13 ,
\"n GBPJPY \", sy14 ,
\"n GBPUSD \", sy15 ,
\"n NZDUSD \", sy16 ,
\"n USDCAD \", sy17 ,
\"n USDCHF \", sy18 ,
\"n USDJPY \", sy19 ,
\"n USDMXN \", sy20 ,
\"n USDTRY \", sy21 ,
\"n XAGUSD \", sy22 ,
\"n XAUUSD \", sy23 );
//----
return(0);
}
[ 本帖最后由 shuilifang8 于 2008-11-11 17:27 编辑 ] |