{ qer = NormalizeDouble(sm.d[q-1].m[nBar-z],Digits()); wer = NormalizeDouble(sm.d[q].m[nBar-z],Digits()); arrayZ[0][q][z] = NormalizeDouble(qer-wer,Digits());} // ответы с е, че заааа
Gute Zeit, Aufgabe: Finden Sie H(max) oder L(min) Preise in einer bestimmten Anzahl von Bars in Frage.
Ich habe herumprobiert, aber ich kann keinen Auswahlbereich zuweisen, d.h. wo ich die Variable (DO) einfügen muss, um das Suchintervall auszuwählen.
double UpperFractal(int DO) // Фрактал UP { //--- объявление переменных int n,UpperFractal_1; //--- объявление массивов для записи значений буферов индикатора iFractal double FractalUp[]; double UpFractal_1; //--- сначала нужно записать в массивы значения буферов индиктора Fractal //--- заполнение данными буфера CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalUp); //--- индексация как в таймсериях ArraySetAsSeries(FractalUp,true);
//--- далее используем оператор цикла for для поиска первого верхнего фрактала for(n=0; n<Bars(Symbol(),PERIOD_CURRENT); n++) { //--- если непустое значение, прерываем цикл if(FractalUp[n]!=EMPTY_VALUE) break; } //--- запишем ценовое значение первого фрактала в переменную UpFractal_1=FractalUp[n]; //--- запишем индекс первого фрактала в переменную UpperFractal_1=n;
Gute Zeit, Aufgabe: Finden Sie H(max) oder L(min) Preise in einer bestimmten Anzahl von Bars in Frage.
Ich habe herumprobiert, ich kann keinen Auswahlbereich zuweisen, d.h. wo die Variable (DO) eingefügt werden soll, um das Suchintervall auszuwählen
double UpperFractal(int) // Фрактал UP { //--- объявление переменных int n,UpperFractal_1; //--- объявление массивов для записи значений буферов индикатора iFractal double FractalUp[]; double UpFractal_1; //--- сначала нужно записать в массивы значения буферов индиктора Fractal //--- заполнение данными буфера CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalUp); //--- индексация как в таймсериях ArraySetAsSeries(FractalUp,true);
//--- далее используем оператор цикла for для поиска первого верхнего фрактала for(n=0; n<Bars(Symbol(),PERIOD_CURRENT); n++) { //--- если непустое значение, прерываем цикл if(FractalUp[n]!=EMPTY_VALUE) break; } //--- запишем ценовое значение первого фрактала в переменную UpFractal_1=FractalUp[n]; //--- запишем индекс первого фрактала в переменную UpperFractal_1=n;
return (UpFractal_1); }
Warum muss ich Fraktale verwenden?
Zuerst CopyHigh() für den gewünschten Bereich und dann in dem Array, in das der Bereich kopiert wird, nach max (ArrayMaximum()) suchen.
Ich verstehe nicht, was falsch ist, die Aufgabe ist es , den Mindestwert in einem bestimmten Intervall (Index) zu finden.
//+------------------------------------------------------------------+ //| Получим Low для заданного номера бара | //+------------------------------------------------------------------+ doubleiLow(string symbol,ENUM_TIMEFRAMES timeframe,intindex) { double low=0; ArraySetAsSeries(Low,true); int copied=CopyLow(symbol,timeframe,0,index,Low); if(copied>0 && index<copied) low=ArrayMinimum(Low); return(low); }
ArrayMinimum gibt den INDEX des Elements zurück, dessen Wert der niedrigste ist. Jetzt müssen wir den Wert selbst aus dem ArrayLow mit dem Indexlow holen:
Guten Tag. Ich normalisiere die Werte, aber beim Debuggen der Zahlen mit *e wie kommt das?
Ich kann die Werte nicht in Excel eingeben.
Wenn dem Array ein weiterer Parameter zugewiesen wird (arrayZ[0][q][z] = 0;), speichert es
{
arrayIndexY[z] = srcArr[z].close; //данные колонки У
for(int q = 1; q <= copied-1; q++) //Перебор периодов
{
{
qer = NormalizeDouble(sm.d[q-1].m[nBar-z],Digits());
wer = NormalizeDouble(sm.d[q].m[nBar-z],Digits());
arrayZ[0][q][z] = NormalizeDouble(qer-wer,Digits());} // ответы с е, че заааа
}
}
flag = false;
GenerateCsv("test.csv");
}
Guten Tag. Ich normalisiere die Werte, aber beim Debuggen der Zahlen mit *e wie kommt das?
Ich kann die Werte nicht in Excel eingeben.
Wenn dem Array ein weiterer Parameter zugewiesen wird (arrayZ[0][q][z] = 0;), speichert es
{
arrayIndexY[z] = srcArr[z].close; //данные колонки У
for(int q = 1; q <= copied-1; q++) //Перебор периодов
{
{
qer = NormalizeDouble(sm.d[q-1].m[nBar-z],Digits());
wer = NormalizeDouble(sm.d[q].m[nBar-z],Digits());
arrayZ[0][q][z] = NormalizeDouble(qer-wer,Digits());}
qer;
}
}
flag = false;
GenerateCsv("test.csv");
}
Verwenden Sie DoubleToString() für die Druckausgabe.
Hallo, ist es wahr, dass man mit diesem Forum Geld verdienen kann? Wenn ja, könnten Sie mir sagen, wie?
Gute Zeit, Aufgabe: Finden Sie H(max) oder L(min) Preise in einer bestimmten Anzahl von Bars in Frage.
Ich habe herumprobiert, aber ich kann keinen Auswahlbereich zuweisen, d.h. wo ich die Variable (DO) einfügen muss, um das Suchintervall auszuwählen.
{
//--- объявление переменных
int n,UpperFractal_1;
//--- объявление массивов для записи значений буферов индикатора iFractal
double FractalUp[];
double UpFractal_1;
//--- сначала нужно записать в массивы значения буферов индиктора Fractal
//--- заполнение данными буфера
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalUp);
//--- индексация как в таймсериях
ArraySetAsSeries(FractalUp,true);
//--- далее используем оператор цикла for для поиска первого верхнего фрактала
for(n=0; n<Bars(Symbol(),PERIOD_CURRENT); n++)
{
//--- если непустое значение, прерываем цикл
if(FractalUp[n]!=EMPTY_VALUE)
break;
}
//--- запишем ценовое значение первого фрактала в переменную
UpFractal_1=FractalUp[n];
//--- запишем индекс первого фрактала в переменную
UpperFractal_1=n;
return (UpFractal_1);
}
Gute Zeit, Aufgabe: Finden Sie H(max) oder L(min) Preise in einer bestimmten Anzahl von Bars in Frage.
Ich habe herumprobiert, ich kann keinen Auswahlbereich zuweisen, d.h. wo die Variable (DO) eingefügt werden soll, um das Suchintervall auszuwählen
{
//--- объявление переменных
int n,UpperFractal_1;
//--- объявление массивов для записи значений буферов индикатора iFractal
double FractalUp[];
double UpFractal_1;
//--- сначала нужно записать в массивы значения буферов индиктора Fractal
//--- заполнение данными буфера
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalUp);
//--- индексация как в таймсериях
ArraySetAsSeries(FractalUp,true);
//--- далее используем оператор цикла for для поиска первого верхнего фрактала
for(n=0; n<Bars(Symbol(),PERIOD_CURRENT); n++)
{
//--- если непустое значение, прерываем цикл
if(FractalUp[n]!=EMPTY_VALUE)
break;
}
//--- запишем ценовое значение первого фрактала в переменную
UpFractal_1=FractalUp[n];
//--- запишем индекс первого фрактала в переменную
UpperFractal_1=n;
return (UpFractal_1);
}
Warum muss ich Fraktale verwenden?
Zuerst CopyHigh() für den gewünschten Bereich und dann in dem Array, in das der Bereich kopiert wird, nach max (ArrayMaximum()) suchen.
Dasselbe für min, aber CopyLow() und ArrayMinimum()
Ich verstehe nicht, was falsch ist, die Aufgabe ist es , den Mindestwert in einem bestimmten Intervall (Index) zu finden.
//| Получим Low для заданного номера бара |
//+------------------------------------------------------------------+
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double low=0;
ArraySetAsSeries(Low,true);
int copied=CopyLow(symbol,timeframe,0,index,Low);
if(copied>0 && index<copied) low=ArrayMinimum(Low);
return(low);
}
Ich verstehe nicht, was falsch ist, die Aufgabe ist es , den Mindestwert in einem bestimmten Intervall (Index) zu finden.
//| Получим Low для заданного номера бара |
//+------------------------------------------------------------------+
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double low=0;
ArraySetAsSeries(Low,true);
int copied=CopyLow(symbol,timeframe,0,index,Low);
if(copied>0 && index<copied) low=ArrayMinimum(Low);
return(low);
}
ArrayMinimum gibt den INDEX des Elements zurück, dessen Wert der niedrigste ist. Jetzt müssen wir den Wert selbst aus dem ArrayLow mit dem Indexlow holen:
Niedrig[niedrig]