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

 
Aleksey Vyazmikin :

자, 이제 생각의 시각화로 넘어갑시다 :)

흰색으로 그는 우리가 요청하는 곳을, 노란색으로 우리가 받아야 할 바의 시간을 보여주었습니다.

그게 더 명확해? 그렇지 않은 경우 명확한 질문을 하십시오.

Alexey님, 위의 게시물에서 INVERSE 문제에 대해 요청하셨습니다.

" 상위 시간대의 선택된 막대에 속하는 현재 시간대의 마지막 막대의 날짜가 필요합니다.

이제 명확합니까? "

따라서 실제로 필요한 것이 무엇인지 이해하기 어렵습니다.

이전 요청에서 - 나는 대답했다 - https://www.mql5.com/ru/forum/6343/page869#comment_7537714 .

후자에 따르면 "생각의 시각화"에 따르면 상위 TF의 막대를 여는 시간을 0으로 변경하면 됩니다.

문제가 무엇인지 명확하지 않습니까?

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2018.05.23
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Kirill Belousov :

Alexey님, 위의 게시물에서 INVERSE 문제에 대해 요청하셨습니다.

" 상위 시간대의 선택된 막대에 속하는 현재 시간대의 마지막 막대의 날짜가 필요합니다.

이제 명확합니까? "

따라서 실제로 필요한 것이 무엇인지 이해하기 어렵습니다.

이전 요청에서 - 나는 대답했다 - https://www.mql5.com/ru/forum/6343/page869#comment_7537714 .

후자에 따르면 "생각의 시각화"에 따르면 상위 TF의 막대를 여는 시간을 0으로 변경하면 됩니다.

문제가 무엇인지 명확하지 않습니까?

죄송합니다. 답변을 놓쳤습니다.

키릴 벨루소프 :

귀하의 요청을 올바르게 이해했다면:

1. 상부 TF의 요구되는 바의 클로징 시간을 결정한다.

이건 내가 할 수 없는 일이야!

키릴 벨루소프 :

후자에 따르면 "생각의 시각화"에 따르면 상위 TF의 막대를 여는 시간을 0으로 변경하면 됩니다.

문제가 무엇인지 명확하지 않습니까?

이렇게 물으면 10시 00분, 23시 49분에 와야지!

 
Aleksey Vyazmikin :

자, 이제 생각의 시각화로 넘어갑시다 :)

흰색으로 그는 우리가 요청하는 곳을, 노란색으로 우리가 받아야 할 바의 시간을 보여주었습니다.

그게 더 명확해? 그렇지 않은 경우 명확한 질문을 하십시오.

문제:

10:30에 23:45 시간이 M5 차트에 있는 H1 기간의 막대 번호를 가져와야 합니다.

제가 제대로 이해한건가요?

 
Alexey Viktorov :

문제:

10:30에 23:45 시간이 M5 차트에 있는 H1 기간의 막대 번호를 가져와야 합니다.

제가 제대로 이해한건가요?

이 경우 23시 45분 의 시간 이 필요합니다(사실, 저는 M5가 없지만 M1은 현재 TF이지만 중요하지 않습니다) - 이것은 현재 TF의 마지막 막대의 시간입니다. 위의 이전 TF 막대의 구조입니다. 차트의 이동은 H1의 경우 1 bar이지만 다른 이동이 있을 수 있습니다. 예를 들어 11시에 정보를 가져와야 한다고 가정해 보겠습니다. 시프트는 2가 됩니다.

 
Aleksey Vyazmikin :

죄송합니다. 답변을 놓쳤습니다.

이건 내가 할 수 없는 일이야!

이렇게 물으면 10시 00분, 23시 49분에 와야지!

1. 더 높은 기간에 필요한 시프트(막대)를 결정합니다. - 이 막대의 열기와 닫기 사이의 시간(내가 이해하는 한) 당신은 더 젊은 시간대부터 내부에 막대가 있는지 분석합니다.

2. 영업시간 확인하기

3. 이 기간에 대한 기간(초)을 개장 시간 에 추가합니다. - 즉. 이런 식으로 더 높은 TF의 막대가 닫히는 시간을 얻을 수 있습니다.

4. 주니어 타임프레임의 지속시간을 뺍니다(M1인 경우 60초). 이것은 시니어 타임프레임 구조에서 주니어 타임프레임의 마지막 막대가 열리는 시간입니다. 계산된 시간을 기준으로 이 막대의 이동을 찾으십시오. (단순히 이전 TF의 막대가 닫히는 시간에서 2-3초를 빼서 이 시간이 속하는 젊은 TF의 막대를 찾을 수 있습니다.) 요청이 엄격하지 않은 경우 갑자기 낮은 TF에 마지막 막대가 없는 경우 왼쪽(요청한 시간부터) 가장 가까운 사용 가능한 막대를 가져옵니다.

 
Kirill Belousov :

1. 더 높은 기간에 필요한 시프트(막대)를 결정합니다. - 이 막대의 열기와 닫기 사이의 시간(내가 이해하는 한) 당신은 더 젊은 시간대부터 내부에 막대가 있는지 분석합니다.

2. 영업시간 확인하기

3. 이 기간에 대한 기간(초)을 개장 시간 에 추가합니다. - 즉. 이런 식으로 더 높은 TF의 막대가 닫히는 시간을 얻을 수 있습니다.

4. 주니어 타임프레임의 지속시간을 뺍니다(M1인 경우 60초). 이것은 시니어 타임프레임 구조에서 주니어 타임프레임의 마지막 막대가 열리는 시간입니다. 계산된 시간을 기준으로 이 막대의 이동을 찾으십시오. (단순히 이전 TF의 막대가 닫히는 시간에서 2-3초를 빼서 이 시간이 속하는 젊은 TF의 막대를 찾을 수 있습니다.) 요청이 엄격하지 않은 경우 갑자기 낮은 TF에 마지막 막대가 없는 경우 왼쪽(요청한 시간부터) 가장 가까운 사용 가능한 막대를 가져옵니다.

믿거나 말거나 하지만 한 시간 전에 비슷한 알고리즘을 종이에 썼습니다! 이것만으로도 왠지 쓸쓸하고 더 쉬운 방법이 있다고 생각했습니다.

포인트 4만 작동하지 않을 수 있습니다. 반대로 한계를 초과하는 막대에 대해 수표가 있습니다. 상황이 표준이 아닌 경우 범위를 벗어날 때까지 주기에서 시간을 선택해야 합니다.

 
이 주제와 관련이 없는 댓글은 " MQL4 MT4 MetaTrader 4 초보자의 질문 "으로 이동되었습니다.
 

구조체 배열을 선언하고 싶습니다. 구조체에 생성자가 있을 수 있다는 것을 보기 전까지는 문제가 없는 것 같습니다...

생성자가 있는 구조체 배열을 선언하는 방법은 무엇입니까? (나는 이 디자인을 우회하는 방법을 알고 있다)

공장:

 struct MyStruct
  {
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree(arr); size = -1; }
  };
//+------------------------------------------------------------------+
MyStruct cluster( 100 );

작동하지 않지만 다음을 원합니다.

 struct MyStruct
  {
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree(arr); size = -1; }
  };
//+------------------------------------------------------------------+
MyStruct cluster( 100 )[ 47 ];
 

잘못된 결정입니다. 구조체 대신 클래스를 사용하는 것이 좋습니다. 모든 것이 동일하지만 포인터를 통해 작업할 수 있습니다.

 class MyClass : 
  {
   public :
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree (arr); size = - 1 ; } // этого не надо
  };
//+------------------------------------------------------------------+
MyClass * cluster[ 47 ];

for ( int n = 0 ; n < 47 ; n++)
        cluster[n] = new MyClass;

나는 브라우저에서 썼고, 나는 그것을 망쳐 놓지 않은 것 같다. 나는 한 시간 동안 도망쳤다.

 
나도 알아, 변수를 공개하는 것이 당연하지 않다는 것을 알고 있지만 시간이 없습니다.
사유: