{ 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());} // ответы с е, че заааа
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;
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;
下午好。我在对数值进行规范化处理,但在调试时,用*e的数字怎么会呢?
我不能把这些值写进Excel。
如果另一个参数被分配给数组(arrayZ[0][q][z]= 0;),它将保存
{
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");
}
下午好。我在对数值进行规范化处理,但在调试时,用*e的数字怎么会呢?
我不能把这些值写进Excel。
如果另一个参数被分配给数组(arrayZ[0][q][z]= 0;),它将保存
{
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");
}
使用DoubleToString()进行打印输出。
你好,在这个论坛上有可能赚钱,这是真的吗?如果是这样,你能告诉我怎么做吗?
好时间,任务:在给定的问题条数中找到H(最大)或L(最小)价格。
我试探了一下,我不能指定一个选择范围,即在哪里插入变量(DO),以选择搜索区间。
{
//--- объявление переменных
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);
}
好时间,任务:在给定的问题条数中找到H(最大)或L(最小)价格。
我试探了一下,我不能指定一个选择范围,即在哪里插入变量(DO),以选择搜索区间。
{
//--- объявление переменных
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);
}
为什么我一定要用分形?
首先对所需的范围进行CopyHigh(),然后在复制范围的数组中寻找max(ArrayMaximum())。
与min相同,但CopyLow()和ArrayMinimum()
我不明白哪里出了问题,任务是在一个给定的区间(索引)上找到最小值
//| Получим 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);
}
我不明白哪里出了问题,任务是在一个给定的区间(索引)上找到最小值
//| Получим 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返回元素的INDEX,该值是最低的。现在我们需要通过索引low 从Low 数组中获取数值本身。
低[低]