初学者的问题 MQL5 MT5 MetaTrader 5 - 页 709

 
Vladimir Karputov:

ArrayMinimum返回其值最低的元素的INDEX。现在我们需要通过索引lowLow 数组中获取数值本身。

低[低]

没有什么...

//+------------------------------------------------------------------+
//| Получим Low для заданного номера бара                            |
//+------------------------------------------------------------------+
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int do)
  {
   int low=0; double l=0;
   ArraySetAsSeries(Low,true);
   int copied=CopyLow(symbol,timeframe,0,do,Low);
   if(copied>0 && index<copied){ low=ArrayMinimum(Low);//ArrayMinimum(
   l = Low[low];
   }
   return(l);
  }
 
Top2n:

没有什么...

//+------------------------------------------------------------------+
//| Получим Low для заданного номера бара                            |
//+------------------------------------------------------------------+
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index)
  {
   int low=0; double l=0;
   ArraySetAsSeries(Low,true);
   int copied=CopyLow(symbol,timeframe,0,index,Low);
   if(copied>0 && index<copied){ low=ArrayMinimum(Low);//ArrayMinimum(
   l = Low[low];
   }
   return(l);
  }


而你的代码中谁是Low?
 
Vladimir Karputov:
你的代码中的Low 是什么
Low - 数组中包含从0到索引的 低价。
 
Top2n:
Low - 数组中包含从0到做的低价。

你在哪里看到它?在你的函数里放一个数组。用"-1 "初始化变量l。一般来说,请使用Stylizer- 你的代码很难阅读。另外,无论如何你都要返回一些东西,即使有错误。这可不好。

补充说:你为什么要这样比较。

if(copied>0 && index<copied)

这样做你永远不会得到一个结果。

//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest(string symbol,ENUM_TIMEFRAMES timeframe,int bands)
  {
   double Low[];
   double result=-1;
   ArraySetAsSeries(Low,true);
   int copied=CopyLow(symbol,timeframe,0,bands,Low);
   if(copied==bands)
     {
      result=Low[ArrayMinimum(Low)];
     }
   return(result);
  }
 

弗拉基米尔 我认为这更具有普遍性

//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest(
               string           symbol,          // символ
               int              timeframe,       // период
               int              count,           // число элементов
               int              start            // индекс
               )
  {
   double Low[];
   double result=-1;
   ArraySetAsSeries(Low,true);
   int copied=CopyLow(symbol,timeframe,start,count,Low);
   if(copied==start)
     {
      result=Low[ArrayMinimum(Low)];
     }
   return(result);
  }
 
但它是完整的模拟功能,从四个
//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest(
               string           symbol,          // символ
               int              timeframe,       // период
               int              type,            // идентификатор таймсерии
               int              count,           // число элементов
               int              start            // индекс
               )
  {
   double Low[];
   int copied=0.0;
   double result=-1;
   ArraySetAsSeries(Low,true);
   if(type==PRICE_CLOSE)copied=CopyClose(symbol,timeframe,start,count,Low);
   if(type==PRICE_OPEN)copied=CopyOpen(symbol,timeframe,start,count,Low);
   if(type==PRICE_HIGH)copied=CopyHigh(symbol,timeframe,start,count,Low);
   if(type==PRICE_LOW)copied=CopyLow(symbol,timeframe,start,count,Low);
   if(copied==start)
     {
      result=Low[ArrayMinimum(Low)];
     }
   return(result);
  }
//+------------------------------------------------------------------+
...
 
Vladimir Karputov:

你在哪里看到它?在你的函数里放一个数组。用"-1 "初始化变量l。一般来说,请使用Stylizer- 你的代码很难阅读。另外,无论如何你都要返回一些东西,即使有错误。这不是好事。

谢谢你!!!。

 
我不知道如何在EA中添加一个标准的 跟踪止损,如果你不介意的话,请给我一个例子。
 
Kirill Andreev:
我不知道如何在EA中添加一个标准的 跟踪止损,如果你不介意的话,请给我一个例子。
例子。\MQL5\Experts\Examples\MACD\MACD Sample.mq5
 
Vladimir Karputov:
例子。\MQL5\Experts\Examples\MACD\MACD Sample.mq5
没用的,太可惜了