input bool 国际点差自适应=true; //顶部自定义;
//+------------------------------------------------------------------+
//| 国际点差自适应 |
//+------------------------------------------------------------------+
double 系数(string symbol)
{
int 系数=1;
if(
MarketInfo(symbol,MODE_DIGITS)==3
|| MarketInfo(symbol,MODE_DIGITS)==5
|| (StringFind(symbol,"XAU",0)==0 && MarketInfo(symbol,MODE_DIGITS)==2)
||(StringFind(symbol,"GOLD",0)==0&&MarketInfo(symbol,MODE_DIGITS)==2)
||(StringFind(symbol,"Gold",0)==0&&MarketInfo(symbol,MODE_DIGITS)==2)
|| (StringFind(symbol,"USD_GLD",0)==0 && MarketInfo(symbol,MODE_DIGITS)==2)
)系数=10;
if(StringFind(symbol,"XAU",0)==0 && MarketInfo(symbol,MODE_DIGITS)==3)系数=100;
if(国际点差自适应==false)
return(1);
return(系数);
}
使用方法:
例子1:
自定义参数*MarketInfo(OrderSymbol(),MODE_POINT)*系数(OrderSymbol());
例子2:
自定义参数*MarketInfo(OrderSymbol(),MODE_POINT)*系数(OrderSymbol()),Digits);
例子3:
int 滑点内=滑点*系数(货币对);
int 滑点内=滑点*系数(Symbol());
例子4:
double POINT=MarketInfo(货币对,MODE_POINT)*系数(货币对);
double POINT=MarketInfo(货币对,MODE_POINT)*系数(Symbol());
|