初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 708

 

こんにちは。私は値を正規化していますが、デバッグでは*eの数値はどうしてですか?

Excelに値を書き込むことができない。

配列に別のパラメータを代入した場合(arrayZ[0][q][z] = 0;),保存さ れます.

for(int z = 0; z < copied && z<=ARRAY_SIZE_X; z++) // отбор по барам
   {
    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");  
   }
ファイル:
d4rw9gqntl.jpg  157 kb
 
Top2n:

こんにちは。私は値を正規化していますが、デバッグでは*eの数値はどうしてですか?

Excelに値を書き込むことができない。

配列に別のパラメータを代入した場合(arrayZ[0][q][z] = 0;),保存さ れます.

for(int z = 0; z < copied && z<=ARRAY_SIZE_X; z++) // отбор по барам
   {
    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() を使用します。
 
Artyom Trishkin:
印刷出力には DoubleToString() を使用します。
ありがとうございました。
 
こんにちは、この掲示板でお金を稼ぐことが可能というのは本当ですか?もしそうなら、その方法を教えてください。
 
elektrik777:
こんにちは、この掲示板でお金を稼ぐことが可能というのは本当ですか?もしそうなら、その方法を教えてください。
関連性はなくなりました - この可能性は無効になりましたが、プログラミング、コンピュータリソースの販売、記事の執筆は可能です。
 

良い時間、タスク:問題のバーの与えられた番号でH(最大値)またはL(最小値)を見つける。

検索区間を選択するための選択範囲、つまり変数(DO)を挿入する場所を指定することができません。

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;
  
   return (UpFractal_1);
}
 
Top2n:

良い時間、タスク:問題のバーの与えられた番号でH(最大値)またはL(最小値)を見つける。

検索区間を選択するための選択範囲、つまり変数(DO)を挿入する場所を指定することができません。

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);
}


なぜ、フラクタルでなければならないのか?

まず必要な範囲を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);
  }
 
Top2n:

何が問題なのか理解できません。タスクは与えられた区間(インデックス)の最小値を見つける ことです。

//+------------------------------------------------------------------+
//| Получим 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で 値そのものを取得する必要があります.

ロー[low]