//+------------------------------------------------------------------+ //| Получим Lowest для заданного промежутка | //+------------------------------------------------------------------+ doubleiLowest( string symbol, // символ int timeframe, // период int count, // число элементов int start // индекс ) { doubleLow[]; double result=-1; ArraySetAsSeries(Low,true); int copied=CopyLow(symbol,timeframe,start,count,Low); if(copied==start) { result=Low[ArrayMinimum(Low)]; } return(result); }
//+------------------------------------------------------------------+ //| Получим Lowest для заданного промежутка | //+------------------------------------------------------------------+ doubleiLowest( string symbol, // символ int timeframe, // период int type, // идентификатор таймсерии int count, // число элементов int start // индекс ) { doubleLow[]; 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); } //+------------------------------------------------------------------+
ArrayMinimum返回其值最低的元素的INDEX。现在我们需要通过索引low 从Low 数组中获取数值本身。
低[低]
没有什么...
//| Получим 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);
}
没有什么...
//| Получим 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 是什么?
Low - 数组中包含从0到做的低价。
你在哪里看到它?在你的函数里放一个数组。用"-1 "初始化变量l。一般来说,请使用Stylizer- 你的代码很难阅读。另外,无论如何你都要返回一些东西,即使有错误。这可不好。
补充说:你为什么要这样比较。
这样做你永远不会得到一个结果。
//| Получим 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);
}
//+------------------------------------------------------------------+
你在哪里看到它?在你的函数里放一个数组。用"-1 "初始化变量l。一般来说,请使用Stylizer- 你的代码很难阅读。另外,无论如何你都要返回一些东西,即使有错误。这不是好事。
谢谢你!!!。
我不知道如何在EA中添加一个标准的 跟踪止损类,如果你不介意的话,请给我一个例子。
例子。\MQL5\Experts\Examples\MACD\MACD Sample.mq5