ArrayMinimum gibt den INDEX des Elements zurück, dessen Wert der niedrigste ist. Jetzt müssen wir den Wert selbst aus demLow-Array mit dem Indexlow holen:
Niedrig[niedrig]
Nichts...
//+------------------------------------------------------------------+ //| Получим Low для заданного номера бара | //+------------------------------------------------------------------+ doubleiLow(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: Niedrig - Array enthält Niedrigpreise von 0 bis do
Wo sehen Sie sie? Fügen Sie ein Array in Ihre Funktion ein. Initialisieren Sie die Variablel mit "-1". Bitte verwenden Sie generell den Stylizer - Ihr Code ist schwer zu lesen. Außerdem geben Sie trotzdem etwas zurück, auch wenn ein Fehler aufgetreten ist. Das ist nicht gut.
Hinzugefügt: Und warum vergleichen Sie so?
if(copied>0 && index<copied)
Auf diese Weise werden Sie nie ein Ergebnis erzielen.
//+------------------------------------------------------------------+ //| Получим 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); }
aber es ist das vollständige Analogon der Funktion aus den vier
//+------------------------------------------------------------------+ //| Получим 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); } //+------------------------------------------------------------------+
Wo sehen Sie sie? Fügen Sie ein Array in Ihre Funktion ein. Initialisieren Sie die Variablel mit "-1". Benutzen Sie bitte generell den Stylizer - Ihr Code ist schwer zu lesen. Außerdem geben Sie trotzdem etwas zurück, auch wenn ein Fehler aufgetreten ist. Das ist nicht gut.
Ich kann nicht herausfinden, wie man eine Standard-Trailing-Stop-Klasse zu einem EA hinzufügen, zeigen Sie mir ein Beispiel, wenn es Ihnen nichts ausmacht.
Kirill Andreev: Ich kann nicht herausfinden, wie man eine Standard-Trailing-Stop-Klasse zu einem EA hinzufügen, zeigen Sie mir ein Beispiel, wenn es Ihnen nichts ausmacht.
ArrayMinimum gibt den INDEX des Elements zurück, dessen Wert der niedrigste ist. Jetzt müssen wir den Wert selbst aus demLow-Array mit dem Indexlow holen:
Niedrig[niedrig]
Nichts...
//| Получим 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);
}
Nichts...
//| Получим 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);
}
Was istLow in Ihrem Code?
Niedrig - Array enthält Niedrigpreise von 0 bis do
Wo sehen Sie sie? Fügen Sie ein Array in Ihre Funktion ein. Initialisieren Sie die Variablel mit "-1". Bitte verwenden Sie generell den Stylizer - Ihr Code ist schwer zu lesen. Außerdem geben Sie trotzdem etwas zurück, auch wenn ein Fehler aufgetreten ist. Das ist nicht gut.
Hinzugefügt: Und warum vergleichen Sie so?
Auf diese Weise werden Sie nie ein Ergebnis erzielen.
//| Получим 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);
}
Vladimir Ich denke, es ist universeller
//| Получим 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);
}
//+------------------------------------------------------------------+
Wo sehen Sie sie? Fügen Sie ein Array in Ihre Funktion ein. Initialisieren Sie die Variablel mit "-1". Benutzen Sie bitte generell den Stylizer - Ihr Code ist schwer zu lesen. Außerdem geben Sie trotzdem etwas zurück, auch wenn ein Fehler aufgetreten ist. Das ist nicht gut.
Ich danke Ihnen!!!
Ich kann nicht herausfinden, wie man eine Standard-Trailing-Stop-Klasse zu einem EA hinzufügen, zeigen Sie mir ein Beispiel, wenn es Ihnen nichts ausmacht.
Beispiel: \MQL5\Experts\Examples\MACD\MACD Sample.mq5