[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 166

 

//+------------------------------------------------------------------+
//| nax.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"

//---- input parameters
extern int Fast_MACD=12;
extern int Slow_MACD=24;
extern int Signal_MACD=6;
double a,mas_1[];
int i=1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
a=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,0),5);
if (a>0)
{
Print ("MACD выше 0 начинаю считывать бары");
while (NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5)>0)
{
mas_1[i]=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5);
Print (GetLastError());
i++;
}
Print ("В массив добавлено "+ArrayRange(mas_1,0)+" баров");
}
return(0);
}
//+------------------------------------------------------------------+

什么是错的,为什么没有任何东西被添加到阵列中?
 
evgenio писал(а)>>
什么是错的,为什么没有添加到阵列中?

数组大小的定义在哪里?

 
Vinin >> :

数组大小的定义在哪里?

如果之前不知道阵列的大小,怎么做?

 
evgenio писал(а)>>

如果事先不知道阵列的大小,如何?

然后,有必要使其动态化,如果有必要的话,增加其规模。

 
Vinin >> :

然后使其成为动态的,必要时增加其大小。

你能告诉我在哪里可以找到它吗?

 
发现
 
又见面了!你能告诉我如何识别票据或物品编号吗?
 
ArtY0m >> :
又见面了!你能告诉我如何确定票据或物品的编号吗?

int OrderTicket( )

返回当前选择的订单的票号。
该订单必须使用OrderSelect()函数进行预选。

 
Alex5757000 >> :

int OrderTicket( )

返回当前选择的订单的票号。
该订单必须使用OrderSelect()进行预选。

而如果不知道这个数字。只有类型、手数、魔数、位置货币......。我们还知道,这个订单是在这个神奇的数字上首先打开的......。

 
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
if (OrdersTotal()==0)
   {
      if (iRSI(NULL,0,14,PRICE_CLOSE,1)>71 && iDeMarker(NULL,0,13,1)>0.71)
      OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+0.001,Bid-0.01,"",666,0,Green);
      if (iRSI(NULL,0,14,PRICE_CLOSE,1)<29 && iDeMarker(NULL,0,13,1)<0.29)
      OrderSend(Symbol(),OP_BUY,lot,Ask,3,Bid-0.001,Bid+0.01,"",666,0,Blue);
   }
else
  
      for (int i=1; i<= OrdersTotal(); i++)
      {
        if (OrderSelect(i-1,SELECT_BY_POS)==true)
         {
            if(OrderType()==OP_SELL)
               {
               if ((OrderStopLoss()- 0.001) < Bid)
                  {
                   if (OrderStopLoss()>OrderOpenPrice()) {
                   OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),Green);}
                   else
                   OrderModify(OrderTicket(),OrderOpenPrice(),(OrderStopLoss()-0.001),OrderTakeProfit(),Green);
                  }
               }
         }
         else
         {
             if(OrderType()==OP_BUY)
                {
                if ((OrderStopLoss()+0.001) < Bid)
                   {
                    if (OrderStopLoss()<OrderOpenPrice()){
                    OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),Blue);}
                    else
                    OrderModify(OrderTicket(),OrderOpenPrice(),(OrderStopLoss()+0.001),OrderTakeProfit(),Blue);
                   }
                }  
         }        
   } 
return(0);
} 

我的第一个EA的代码,在RCAI和DEM上工作。问题是,它不会移动订单,即停止......它总是为错误的停止 而发誓......。甚至找到了其他的代码来移动站点......还是同样的错误。

提前感谢。

原因: