下载MetaTrader 5

为什么画不出均线?

要添加评论,请登录注册
tsliuliang
138
tsliuliang  

以下的代码我编写调试通过,没有错误。不过运行后图标上不出现均线,也没有开仓,这是为什么? 

 

#property copyright "Simon Yau"
#property link "http://www.fx998.cn"
#property version "1.00"
int maFastHandle, maSlowHandle; //定义两个指标操作句柄,用来操作两条均线
double maFast[], maSlow[]; //定义两个数组,用于保存均线的数值
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//在初始化函数OnInit中,分别指定两个操作句柄所对应的均线指标
maFastHandle = iMA(Symbol(), PERIOD_CURRENT, 5, 0, MODE_SMA, PRICE_CLOSE); //对应5期均线
maSlowHandle = iMA(Symbol(), PERIOD_CURRENT, 10, 0, MODE_SMA, PRICE_CLOSE); //对应10期均线

ArraySetAsSeries(maFast, true); //将数组设置为倒序保存,即图表上方向由右向左
ArraySetAsSeries(maSlow, true); //同上
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
MqlTradeRequest request;
MqlTradeResult result;

CopyBuffer(maFastHandle, 0, 0, 3, maFast); //将句柄对应的指标数值复制入数组
CopyBuffer(maSlowHandle, 0, 0, 3, maSlow); //同上

if (maFast[1]>maSlow[1] && maFast[2]<=maSlow[2]) //数组获得指标的数值后,就可以进行均线交叉的判定了
{
request.action = TRADE_ACTION_DEAL;
request.symbol = Symbol();
request.volume = 0.1;
request.price = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
request.type = ORDER_TYPE_BUY;

OrderSend(request, result); //下单
}
else if (maFast[1]<maSlow[1] && maFast[2]>=maSlow[2])
{
request.action = TRADE_ACTION_DEAL;
request.symbol = Symbol();
request.volume = 0.1;
request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID);
request.type = ORDER_TYPE_SELL;

OrderSend(request, result); 
} 
}
enbo lu
版主
1950
enbo lu  
tsliuliang:

以下的代码我编写调试通过,没有错误。不过运行后图标上不出现均线,也没有开仓,这是为什么? 

 

发代码请用src按钮!(我帮你修改过了)

 

1、要一次性在图表中加载EA所使用的指标,可通过ChartApplyTemplate()加载图表模板来实现。

 2、type_filling 去哪了?


tsliuliang
138
tsliuliang  
luenbo:

发代码请用src按钮!(我帮你修改过了)

 

1、要一次性在图表中加载EA所使用的指标,可通过ChartApplyTemplate()加载图表模板来实现。

 2、type_filling 去哪了?


不好意思,我没懂你的意思。如果不太麻烦的话,能请你帮我改动一下代码贴给我学学吗?
tsliuliang
138
tsliuliang  
继续顶,希望能给详细的答复。
要添加评论,请登录注册