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

 
메타트레이더에 여러 개의 감시 목록(마켓 리뷰)을 가질 수 있나요? 예를 들어, 하나의 지수, 다른 하나의 주식
 
Vladimir Makhnin # :
메타트레이더에 여러 개의 감시 목록(마켓 리뷰)을 가질 수 있나요? 예를 들어, 하나의 지수, 다른 하나의 주식

당신 만의 것을 만드세요. MQL5는 이것을 쉽게 만듭니다.

 
Mihail Matkovskij # :

각도를 계산하는 공식에 관한 것입니다. 코드는 단 하나의 좌표와 일종의 계수가 계산에 사용된다는 것을 보여주지만 그 목적은 명확하지 않습니다. 어떤가요? 각도를 계산하는 데 어떤 데이터를 사용하는지 자세히 알려주십시오.

내가 이해하는 한도에서는

 double d

그것은 벡터입니다. 그러나 여전히 하나의 좌표일 뿐입니다. 그러나 각도를 계산하려면 두 개의 좌표 또는 두 개의 좌표로 구성된 벡터가 필요합니다.

 

둘 다 ... 내 답변이 삭제되었습니다.

 
Maxim Kuznetsov # :

둘 다 ... 내 답변이 삭제되었습니다.

혼란스럽습니다. 이 스레드의 게시물이 삭제된 게시물에 없습니다.

 
Vladimir Karputov # :

혼란스럽습니다. 이 스레드의 게시물이 삭제된 게시물에 없습니다.

너무 보였다. 찾지 못했습니다.

 

좋아요, 그럼 복제하겠습니다... https://www.mql5.com/ru/forum/160683/page1884#comment_27290699 에 대한 응답으로

CalcAngleTrend는 그것과 아무 관련이 없습니다. 다른 곳에서 coefAngle이 잘못 계산되었거나 비뚤어진 계산이 있습니다.

ps/ 및 아마도 "기울기"의 개념이 일반적으로 잘못 해석될 수 있습니다. 도 또는 라디안(공간 vyshmat 유형의 곡률 제외)으로 표현할 수 없으며 atan 함수는 물리적으로 잘못된 값을 반환합니다.

 
Mihail Matkovskij # :

각도를 계산하는 공식에 관한 것입니다. 이 코드는 하나의 좌표와 일종의 계수가 계산에 사용된다는 것을 보여주지만 그 목적은 명확하지 않습니다. 어떤가요? 각도를 계산하는 데 어떤 데이터를 사용하는지 자세히 알려주십시오.

맞아요 벡터에요
델타 변경을 1(일)로 나눈 값이 델타가 되기 때문에 하나의 값이 사용됩니다.
변수 coefAngle은 2와 같은 정수 상수입니다.
함수에 대한 입력의 모든 데이터가 절대적으로 동일한지 확인했습니다.
 
Maxim Kuznetsov # :

좋아요, 그럼 복제하겠습니다... https://www.mql5.com/ru/forum/160683/page1884#comment_27290699 에 대한 응답으로

CalcAngleTrend는 그것과 아무 관련이 없습니다. 다른 곳에서 coefAngle이 잘못 계산되었거나 비뚤어진 계산이 있습니다.

ps/ 및 아마도 "기울기"의 개념이 일반적으로 잘못 해석될 수 있습니다. 도 또는 라디안(공간 vyshmat 유형의 곡률 제외)으로 표현할 수 없으며 atan 함수는 물리적으로 잘못된 값을 반환합니다.

계수는 일정하며 변경되지 않습니다.
이 함수를 제외하고는 계산이 없습니다. 해당 함수는 여러 점에 대한 벡터 값의 평균을 내는 델타 값을 받았습니다.

이것은 벡터의 완전한 구현이 아니라 "다소" 적절한 표현 결과를 위한 것임이 분명합니다.
기술적으로 증가하는 요소를 간단히 적용하고 잘라낼 수 있습니다 ...

이 기능이 작동하는 이유를 모르겠습니다

가능한 유일한 것은 계산하는 동안 표현식 자체에서 유형 캐스팅을 사용하는 것입니다.

 
Владимир Казаков 어드바이저를 쓰려고 하는데, 테스트 도중에 나로서는 이해할 수 없는 일이 벌어지는데...

기능이 있다

상황은 다음과 같습니다. 하나의 어드바이저 인스턴스가 차트에서 시작되고 두 번째 인스턴스가 유사한 차트에서 MT4 디버그 모드로 시작됩니다.
함수에 대한 입력 데이터는 같지만 출력이 다릅니다!!!? 그냥 뭔가 이해가 안감...

정보를 파헤치는 방향을 알려주세요?!

추신: 출력 간의 차이를 정확히 2.5배 계산했습니다.

표정을 행동으로 분해 ... 그리고 보라, 이제 결과는 똑같다!?

 double CalcAngleTrend( double d)
 {
Print ("d: ", d, " coefAngle: ", ( double ) coefAngle);
   double
    a = ( double ) (d* pow ( 10 , _Digits - 2 ));
Print ("(d* pow ( 10 , _Digits - 2 )): ", a);
     double rad = ( double ) ( 180 / M_PI );
Print ("rad: ", rad);
    a = ( double ) ( atan (a));
Print ("( atan (a)): ", a);
    a = ( double ) (a*rad*( double ) coefAngle);
Print ("(a*rad*( double ) coefAngle): ", a);
   return ( NormalizeDouble (a, ANGLE_DIGITS));
 }

그것은 내가 원하는대로 작동하지 않는 유형 캐스팅과 동일하다는 것을 의미합니다.

전문가와 이해하는 사람들 중에서 누군가가 어쨌든 문제가 무엇인지 설명 할 수 있습니까?!
글쎄, 실수를 반복하지 않기 위해))

추신: 이 형식에서는 같은 표현이 같은 방식으로 작동하기 시작했습니다.

   double a = ( double ) ((d* pow ( 10 , _Digits - 2 ))*( 180 / M_PI )*( double ) coefAngle);

제거 방법은 int를 double로 캐스팅하는 말도 안되는 것으로 판명되었습니다.

내가 모든 것을 올바르게 이해했기를 바랍니다.