MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1612

 
Alexey Viktorov # :

두 번째 시도에서 Tupanul. 저녁 시간이 된 것 같습니다.

c 그리고 BC D 모든 것이 정확하지만, 이와 같이 악기를 통화로 나누는 데 동의합니다. 따라잡지 못했습니다.

그리고 중간 평등의 가능성이 있는데 제가 직접 보지는 않은 것 같은데 2위부터 3위까지 악기에서 화폐 이름이 같게 하기 위해 전체 검색을 해보는 것이 좋습니다. 또는 도구 1과 마지막 위치에서 잘라내고 나머지 4자에서 검색)

 
Valeriy Yastremskiy # :

c 그리고 BC D 모든 것이 정확하지만, 이와 같이 악기를 통화로 나누는 데 동의합니다. 따라잡지 못했습니다.

그리고 중간 평등의 가능성이 있는데 제가 직접 보지는 않은 것 같은데 2위부터 3위까지 악기에서 화폐 이름이 같게 하기 위해 전체 검색을 해보는 것이 좋습니다. 또는 도구 1과 마지막 위치에서 잘라내고 나머지 4자에서 검색)

아니요, 그 4가지 조건에서만 두 번째 시도에서 투파눌. 실제로, 작업의 경우 원하는 위치에서 원하는 위치를 찾을 수 있는지 여부는 중요하지 않습니다. 결과적으로 기본 통화와 두 번째 통화에 대한 두 가지 조건이 있습니다.

 
Alexey Viktorov # :

아니요, 그 4가지 조건에서만 두 번째 시도에서 투파눌. 실제로, 작업의 경우 원하는 위치에서 원하는 위치를 찾을 수 있는지 여부는 중요하지 않습니다. 결과적으로 기본 통화와 두 번째 통화에 대한 두 가지 조건이 있습니다.

음, 따라서 나는 악기의 두 번째 또는 세 번째 위치에서 중간 평등을 제외했습니다. 제외하지 않으면 모든 것이 true, 2 조건입니다.

 
Valeriy Yastremskiy # :

음, 따라서 나는 악기의 두 번째 또는 세 번째 위치에서 중간 평등을 제외했습니다. 제외하지 않으면 모든 것이 정확하고 2 가지 조건이 있습니다.

나는 여전히 "중간 평등"이 무엇을 의미하는지 이해하지 못합니다.

EURUSD 신호

EURJPY 주문 - EUR를 찾고 있고 찾았습니다. 이상치는 사실입니다. 두 번째 조건은 확인할 필요가 없습니다 ...

GBPJPY 주문 - EUR를 찾고 있지만 찾지 못했습니다. 우리는 USD를 찾고 있지만 찾지 못하고 방출이 거짓입니다. 조건은 총 2가지입니다.

 
Alexey Viktorov # :

나는 여전히 "중간 평등"이 무엇을 의미하는지 이해하지 못합니다.

EURUSD 신호

EURJPY 주문 - EUR를 찾고 있고 찾았습니다. 이상치는 사실입니다. 두 번째 조건은 확인할 필요가 없습니다 ...

GBPJPY 주문 - EUR를 찾고 있지만 찾지 못했습니다. 우리는 USD를 찾고 있지만 찾지 못하고 방출이 거짓입니다. 조건은 총 2가지입니다.

  URJP 간의 EURJPY 평등

BPJP 중 GBPJPY

동의합니다. 드문 경우입니다. 그러나 많은 수의 도구로 판단하면 가능합니다.

 
Valeriy Yastremskiy # :

  URJP 간의 EURJPY 평등

BPJP 중 GBPJPY

동의합니다. 드문 경우입니다. 그러나 많은 수의 도구로 판단하면 가능합니다.

아니, 내 자신의 웨이브에 머무르는 것이 좋습니다. 왜 그런지 이해하기 힘드네요...

 

생성자는 구조체에서 어떻게 작동합니까?

 struct as {
   int a,
      b,
      c;
     void as (){
    b= 0 ;c= 0 ;
    a=b+c;
    }  
 };
as sir;
 

안녕하세요! 내 두뇌를 깨고.

어렵지 않으신 분들은 댓글로 도와주세요.


1. 변수 "bb"의 목적은 무엇이며 따라서 연산자 if (bb == 0) bb = i; ?


2. if ((Time[i]>=BeginDateCalc && Time[i]<=EndDateCalc && NumberOfBars<=0)

|| (NumberOfBars>0 && NumberOfBars>=i))

NumberOfBars는 어떻게 <= 0이 될 수 있으며 무엇을 위한 것입니까?


3. s += (높음[i] - 낮음[i]) / 포인트 ;

포인트로 나누는 이유는 무엇입니까?


4. for(i = 막대, i > 0, i--) 루프의 조건에 따라 개수는 "가장 오래된" 막대에서 "가장 어린" 막대로 이동합니다.

그렇다면 b++ 변수가 증가하고 감소하지 않는 이유는 무엇입니까?

 //+----------------------------------------------------------------------------+
//|                                                          AverageRange.mq4  |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  14.09.2005  Скрипт для расчёта:                                           |
//|              средней волатильности инструмента High-Low                    |
//|              Возможность использования заданного количества баров          |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link        "http://www.kimiv.ru"
#property show_inputs

extern datetime BeginDateCalc = D'2013.01.01' ;
extern datetime EndDateCalc   = D'2013.12.31' ;
extern int       NumberOfBars  = 100 ;         


//+----------------------------------------------------------------------------+
//|  script program start function                                             |
//+----------------------------------------------------------------------------+
void start() {
   int     i;           //счётчик
   int     b  = 0 ;       //использовано баров
   int     bb = 0 ;       //?????????????????????
   int     s =   0 ;       //сумма всех значений High - Low
   string st = "" ;     //строка вывода на экран    

   for (i = Bars ; i > 0 ; i--) {
    
     if ((Time [i] >= BeginDateCalc && Time [i] <= EndDateCalc && NumberOfBars <= 0 )
    || (NumberOfBars > 0 && NumberOfBars >= i)) {
      
       if (bb == 0 ) bb = i;
      s += (High [i] - Low [i]) / Point ;
      
      b++;
    }
  }

  st =       "Начало: " + TimeToStr (Time [bb], TIME_DATE | TIME_MINUTES ) + "\n" ;         // "/n" - это перенос строки
  st = st + "Конец: " + TimeToStr (Time [bb - b + 1 ], TIME_DATE | TIME_MINUTES ) + "\n" ;
  st = st + "Использовано баров: " + b + "\n" ;
  st = st + "Средняя волатильность: " + s / b + " п.\n" ;
  
   Comment (st);
}
//+----------------------------------------------------------------------------+
 

bb는 조건이 처음 트리거될 때 막대 인덱스를 포함합니다. 그런 다음 이 인덱스를 사용하여 계산 시작 시간을 계산합니다.

NumberOfBars - 이 변수는 사용자가 설정하며 이 동지는 신뢰할 수 없으며 마이너스 값을 설정할 수도 있습니다. 아마도 여기의 논리는 다음과 같습니다. NumberOfBars가 양수가 아닌 경우 시작 날짜와 종료 날짜 사이에 계산이 수행되고 양수이면 이 변수에 지정된 양초 수에 따라 계산이 수행됩니다.

소수 부분 에서 포인트로 값을 변환하려면 Point 로 나누기(1.01051-1.01000)/Point=51

0 이후의 bb 변수는 전체 스크립트 작업 중에 한 번만 변경됩니다. 만약 (bb == 0)

 
Aleksei Stepanenko # :

bb는 조건이 처음 트리거될 때 막대 인덱스를 포함합니다. 그런 다음 이 인덱스를 사용하여 계산 시작 시간을 계산합니다.

NumberOfBars - 이 변수는 사용자가 설정하며 이 동지는 신뢰할 수 없으며 마이너스 값을 설정할 수도 있습니다. 그리고 아마도 여기서 논리는 다음과 같습니다. NumberOfBars가 양수가 아니면 시작 날짜와 종료 날짜 사이에 계산이 수행되고 양수이면 이 변수에 지정된 양초 수에 따라 계산됩니다.

그러나 소수점 이하 값을 포인트 0.00051/Point=51로 변환하기 위해 포인트를 나눕니다.

0 이후의 bb 변수는 전체 스크립트 작업 중에 한 번만 변경됩니다.

솔직히 김의 논리를 따라잡지 못했는데 왜 AND 조건을 통해서 막대시간이 지정된 값을 넘어서고 계산된 막대의 개수의 음수가 OR로 계산된 막대의 개수가 숫자보다 큰지 Barz 막대))) 동시에 그는 단순히 사용자 매개 변수를 수정합니다)

그리고 경고에도 사용자가 엉망으로 표시되지 않습니다)