MQL5 마법사 및 표준 무역 클래스 라이브러리에 대한 질문 - 페이지 10

 
Sevrer :

안녕하세요.

나는 교육 목적으로만 내 자신의 신호 모듈을 작성하기로 결정했습니다. 문제에 직면했습니다. 보류 주문을 설정해야 하는데 CExpertSignal::OpenLongParams(...)를 통해 이것이 가능하다는 것을 알았습니다. 예, 운이 좋지 않습니다. 테스터는 유효하지 않은 만료로 맹세합니다. 소스를 파헤친 후 ORDER_TIME_SPECIFIED 이외의 유형 시간이 작동하지 않는다는 것이 분명해졌지만 ORDER_TIME_GTC를 원합니다.

나는 지금까지 까다로운 조치를 취했지만 완전히 정확하지는 않습니다. 라이브러리에서 함수를 수정했습니다.

무엇을 조언할 수 있습니까?

안녕하세요.

너가 확실히 맞아. 나는 제로 만료를 고려하지 않았습니다.

당신의 결정은 괜찮습니다. 표준 라이브러리를 적절하게 편집하겠습니다.

고맙습니다.

 
uncleVic :

안녕하세요.

너가 확실히 맞아. 나는 제로 만료를 고려하지 않았습니다.

귀하의 솔루션은 괜찮습니다. 표준 라이브러리 를 적절하게 변경하겠습니다.

고맙습니다.

좋겠지만 지금은 이 상황에서 올바른 방법을 찾았습니다. :) CExpert에서 상속된 클래스를 만들고 여기서 CheckOpenLong() 및 CheckOpenShort() 함수를 재정의하고 이미 거기에 있습니다. 다음과 같이 조정했습니다.

         if (expiration == TimeCurrent () || expiration == 0 )
        {
                m_expiration = 0 ;
                m_trade.SetOrderTypeTime( ORDER_TIME_GTC );
        }
         else
        {
               if (!m_trade.SetOrderExpiration(expiration))
        	{
         		m_expiration=expiration;
        	}
        }
 
Sevrer :

좋겠지만 지금은 이 상황에서 올바른 방법을 찾았습니다. :) CExpert에서 상속된 클래스를 만들고 여기서 CheckOpenLong() 및 CheckOpenShort() 함수를 재정의하고 이미 거기에 있습니다. 다음과 같이 조정했습니다.


상속이 가장 올바른 접근 방식입니다.
 

Expert_EveryTick 매개변수의 논리를 설명해 주세요.

Expert_EveryTick=true는 모든 틱을 처리합니까? 즉, 각각의 새로운 틱에서 진입/퇴장 조건과 위치 추적(트롤 어업)을 모두 확인합니다. 맞죠?

그리고 Expert_EveryTick=fasle - 새 막대 의 첫 번째 눈금에서만? 트롤은 첫 번째 틱에서만 작동합니까?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
mr.Taras :

Expert_EveryTick 매개변수의 논리를 설명해 주세요.

Expert_EveryTick=true는 모든 틱을 처리합니까? 즉, 각각의 새로운 틱에서 진입/퇴장 조건과 위치 추적(트롤 어업)을 모두 확인합니다. 맞죠?

그리고 Expert_EveryTick=fasle - 새 막대 의 첫 번째 눈금에서만? 트롤은 첫 번째 틱에서만 작동합니까?


예, 모든 것을 올바르게 이해했습니다.
 

Expert Advisor의 논리에 대한 추가 질문:


예를 들어 구매에 대한 열린 위치 와 예를 들어 1과 같은 고정 로트가 있습니다.

다른 방향에서 매도 신호가 있습니다.

고문의 행동은 무엇입니까? 1로트에 대해 2개의 매도 거래가 있습니까(첫 번째 거래는 매수를 "종료"), 아니면 2개 로트에 대해 하나가 있습니까? 현재 구매의 "마이너스" 또는 "플러스"에 차이가 있습니까?


어드바이저는 자체적으로 "탑업"하지 않습니다. 즉, 매수 포지션이 있고 다시 매수 신호가 있다면? CheckOpenLong() "충전"하기 위해 어떤 메서드를 재정의해야 합니까?

 
mr.Taras :

Expert Advisor의 논리에 대한 추가 질문:


1. 오픈 포지션 이 있습니다. 예를 들어, 구매 및 고정 로트가 있습니다(예: 1).

다른 방향에서 매도 신호가 있습니다.

고문의 행동은 무엇입니까? 1로트에 대해 2개의 매도 거래가 있습니까(첫 번째 거래는 매수를 "종료"), 아니면 2개 로트에 대해 하나가 있습니까? 현재 구매의 "마이너스" 또는 "플러스"에 차이가 있습니까?


2. 어드바이저는 자체적으로 "탑업"하지 않습니다. 즉, 매수 포지션이 있고 다시 매수 신호가 있는 경우? CheckOpenLong() "충전"하기 위해 어떤 메서드를 재정의해야 합니까?


1. 두 개의 트리거 임계값(어드바이저 설정). 마감 임계값을 초과하면 포지션이 단순히 닫힙니다. 두 개의 임계값(닫기 및 열기)이 초과되면 위치가 반전됩니다. -/+ 차이가 없습니다.

2.가공방법

 
uncleVic :

1. 두 개의 트리거 임계값( 권고자 설정 ). 마감 임계값을 초과하면 포지션이 단순히 닫힙니다. 두 개의 임계값(닫기 및 열기)이 초과되면 위치가 반전됩니다. -/+ 차이가 없습니다.

2.가공방법

Close 및 Open 임계값은 신호 모듈에서 ShortCondition() 또는 LongCondition()이 반환하는 "투표"의 결과입니까?

 
mr.Taras :

Close 및 Open 임계값은 신호 모듈에서 ShortCondition() 또는 LongCondition()이 반환하는 "투표"의 결과입니까?

임계값은 "투표" 결과가 비교되는 매개변수(Signal_ThresholdOpen 및 Signal_ThresholdClose)입니다.
 

세 가지 질문:

  1. 신호 모듈이 모든 틱이 아닌 공개 가격에서만 작동하도록 하는 방법은 무엇입니까?
  2. 위치 추적 모듈에서 신호 모듈의 투표 값을 얻는 방법은 무엇입니까? 이미 계산된 신호를 트롤링해야 하며 추적을 위해 다른 신호 모듈을 구성하지 않아야 합니다.
  3. 금전 및 위험 관리 모듈 에서 신호 모듈 투표 값을 얻는 방법은 무엇입니까? 이미 계산된 거래 신호에 따라 거래량을 열어야 하며 거래량 계산을 위한 다른 신호 모듈을 구성하지 않아야 합니다.

물론 이론적으로 마법사의 도움으로 어드바이저를 구성한 다음 코드에 들어가서 이 모든 경제를 수동으로 묶을 수 있습니다. 그러나이 모든 것이 표준 방법의 형태로 구현되는 것이 바람직합니다. 예를 들어 하나의 신호 모듈을 다른 신호 모듈로 교체하려는 경우 코드에 들어가 편집할 필요가 없도록 마법사를 사용하려는 인형을 위한 것입니다.