如何使用metatrader 4预定义变量



如何使用预定义的变量,如Open[]、Close[]、High[]、low[]?我无法让我的代码工作,当我在EA测试仪中运行变量时,它就好像没有数据一样。抱歉,伙计们,我不是编程背景,但我确实了解基本编程。

void OnTick(({

if (OrdersTotal()==0)//if we have no open orders

double ma20    = iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0);
double ma200   = iMA(NULL,0,200,0,MODE_EMA,PRICE_CLOSE,0);
double rsi     = iRSI(NULL,0,12,PRICE_OPEN,0);
if (ma20>ma200 && rsi<65 && Close[1]<Open[1] && High[1]>Open[1] && High[0]>High[1])     

//send a buy order
int buyticket = OrderSend
(
Symbol(),                        //Currency pair on the chart
OP_BUY,                          //Buy/sell Command
0.01,                            //Lot Size
Ask,                             //Price for the command
3,                               //Slippage usually 3
Ask-100*_Point,                  //Stoploss
Ask+100*_Point,                  //Take Profit                            
NULL,                            //Commend
0,                               //Magic No
0,                               //Expiry
Green                            //Arrow colour

);
}

您的代码运行良好,但是您没有正确使用括号来允许if语句正确操作。

if (OrdersTotal()==0)//if we have no open orders
{
double ma20    = iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0);
double ma200   = iMA(NULL,0,200,0,MODE_EMA,PRICE_CLOSE,0);
double rsi     = iRSI(NULL,0,12,PRICE_OPEN,0);
if (ma20>ma200 && rsi<65 && Close[1]<Open[1] && High[1]>Open[1] && High[0]>High[1])     
{
//send a buy order
int buyticket = OrderSend
(
Symbol(),                        //Currency pair on the chart
OP_BUY,                          //Buy/sell Command
0.01,                            //Lot Size
Ask,                             //Price for the command
3,                               //Slippage usually 3
Ask-100*_Point,                  //Stoploss
Ask+100*_Point,                  //Take Profit                            
NULL,                            //Commend
0,                               //Magic No
0,                               //Expiry
Green                            //Arrow colour
);
}
}

最新更新