초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 708

 

좋은 시간. 나는 값을 정규화하지만 *로 숫자를 디버깅할 때 어떻게 합니까?

엑셀에 값을 쓸 수 없다

배열에 다른 매개변수가 할당되면( 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 :

좋은 시간. 나는 값을 정규화하지만 *로 숫자를 디버깅할 때 어떻게 합니까?

엑셀에 값을 쓸 수 없다

배열에 다른 매개변수가 할당되면( 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 에서 값 자체를 가져와야 합니다.

낮음[낮음]

사유: