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

 
EgorKim :

이 같은.

또한 일부 옵티마이저 패스는 시각화 도우미에서 일치합니다.

일부 패스 - 거래 없음

불일치는 표시기 버퍼의 초기화되지 않은 값으로 인한 것입니다. 계산이 통과할 때 버퍼에 쓰레기가 있을 수 있습니다.


신호가 발생할 때 버퍼 데이터를 인쇄하기만 하면 됩니다.

 
Vladimir Karputov :

불일치는 표시기 버퍼의 초기화되지 않은 값으로 인한 것입니다. 계산이 통과할 때 버퍼에 쓰레기가 있을 수 있습니다.


신호가 발생할 때 버퍼 데이터를 인쇄하기만 하면 됩니다.

어드바이저 말씀하시는건가요?

고문에 관한 경우 - 나는 예제의 모든 것을 재설정합니다.

그러나 그것이 지표에 있다면 그것은 무엇이든 될 수 있습니다. 나는 작가가 아니다

 
EgorKim :

어드바이저 말씀하시는건가요?

고문에 관한 경우 - 나는 예제의 모든 것을 재설정합니다.

그러나 그것이 지표에 있다면 그것은 무엇이든 될 수 있습니다. 나는 작가가 아니다

지표에 대해 이야기했습니다. 버퍼의 일부 인덱스를 건너뛰면 거기에 쓰레기가 있을 수 있습니다. 일반적으로 먼저 신뢰할 수있는 지표 - 그런 다음이를 기반으로 한 고문.

 
EgorKim :

이 같은.

또한 일부 옵티마이저 패스는 시각화 도우미에서 일치합니다.

일부 패스 - 거래 없음

문제는 지표에 있다고 생각합니다.

그리고 Artem이 올바르게 지적했듯이 문제는 현재 데이터에 있습니다.

그냥 하는 방법을 알고 싶지 않아

아니요, 다중 기간 표시기 가 있다고 생각한 것이 잘못되었습니다.

다른 사람의 시간대에서 데이터를 얻고자 하는 가장 일반적인 지표가 있습니다.

Expert Advisor에서 원하는 시간대의 데이터 관련성을 확인해야 합니다. 이 TF에 대한 데이터가 아직 없으면 다음 틱 전에 종료합니다.
그런 다음 이전 TF의 모든 데이터가 필요한 양만큼 수신되면 표시기를 호출합니다.

그렇게 해보십시오.

 
Artyom Trishkin :

아니요, 다중 시간 프레임 표시기가 있다고 생각한 것이 잘못되었습니다.

다른 사람의 시간대에서 데이터를 얻고자 하는 가장 일반적인 지표가 있습니다.

Expert Advisor에서 원하는 시간대의 데이터 관련성을 확인해야 합니다. 이 TF에 대한 데이터가 아직 없으면 다음 틱 전에 종료합니다.
그런 다음 이전 TF의 모든 데이터가 필요한 양만큼 수신되면 표시기를 호출합니다.

그렇게 해보십시오.

하지만 어떻게 해야 할까요? 관련성을 확인한다는 의미에서.

음, 0.0이 아닌지 확인합니다(위 코드).

내가 무엇을 더 할 수 있습니까? 지표가 나에게 주는 것은 내가 받아들이는 것입니다.

그래서 그는 지표다.

 
EgorKim :

하지만 어떻게 해야 할까요? 관련성을 확인한다는 의미에서.

음, 0.0이 아닌지 확인합니다(위 코드).

내가 무엇을 더 할 수 있습니까? 지표가 나에게 주는 것은 내가 받아들이는 것입니다.

그래서 그는 지표다.

CodeBase에서 지표를 가져왔습니까? 그렇다면 URL을 알 수 있습니까?

 
EgorKim :

하지만 어떻게 해야 할까요? 관련성을 확인한다는 의미에서.

음, 0.0이 아닌지 확인합니다(위 코드).

내가 무엇을 더 할 수 있습니까? 지표가 나에게 주는 것은 내가 받아들이는 것입니다.

그래서 그는 지표다.

오류는 표시기 자체에 있습니다.

나는 이미 많은 조언자를 다시 작성했으며 이 문제가 발생한 것은 이번이 처음입니다.

어드바이저를 직접 보고 조립할 수 있으며, 위의 논리를 제시했습니다.

그리고 터미널과 테스터가 얼마나 나쁜지 확인하십시오. 동일한 지표 매개변수를 사용해도 결과가 춤을 춥니다.)

 
Vladimir Karputov :

CodeBase에서 지표를 가져왔습니까? 그렇다면 URL을 알 수 있습니까?

https://www.mql5.com/ru/code/64

Plombiers - Осциллятор в канале
Plombiers - Осциллятор в канале
  • www.mql5.com
Просмотров: 6747 Рейтинг: Опубликован: 2010.01.26 12:54 Обновлен: 2016.11.22 07:33 Пример использования канала и осциллятора Stochastic. Иногда полезно смотреть поведение осциллятора в канале. Оценка ситуации упрощается. Изменяя параметры, можно гибко настроить отображение индикатора. Bulls Bears Power...
 

일반적으로 지금 테스트할 수 있습니다( Plombiers 표시기에서 작동 - 채널의 Oscillator - 표시기는 [data 폴더]\MQL5\Indicators\plombiers.mq5 폴더에 있어야 함)


거래 전략의 아이디어

EA는 Plombiers 사용자 지정 지표에 따라 작동합니다. 신호를 생성하기 위해 "저항"과 "지원"이라는 두 가지 표시 라인이 고려됩니다.

플롬비에 EA

매수 포지션을 여는 신호: 막대 #1의 저가가 막대 #1의 "지지"선 아래였습니다.

매도 포지션을 여는 신호: 막대 #1의 고가가 막대 #1의 "저항선" 위에 있음

 //+------------------------------------------------------------------+
//| Search trading signals                                           |
//+------------------------------------------------------------------+
bool SearchTradingSignals( void )
  {
   double means[],resistance[],support[];
   MqlRates rates[];
   ArraySetAsSeries (means, true );
   ArraySetAsSeries (resistance, true );
   ArraySetAsSeries (support, true );
   ArraySetAsSeries (rates, true );
   int start_pos= 0 ,count= 3 ;
   if (!iGetArray(handle_iCustom, 0 ,start_pos,count,means) || 
      !iGetArray(handle_iCustom, 1 ,start_pos,count,resistance) || 
      !iGetArray(handle_iCustom, 2 ,start_pos,count,support) || 
       CopyRates (m_symbol.Name(), Period (),start_pos,count,rates)!=count)
     {
       return ( false );
     }

   int size_need_position= ArraySize (SNeedPosition);
   if (rates[ 1 ].low<support[ 1 ])
     {
       if (!InpReverse)
        {
         ArrayResize (SNeedPosition,size_need_position+ 1 );
         SNeedPosition[size_need_position].pos_type= POSITION_TYPE_BUY ;
         return ( true );
        }
       else
        {
         ArrayResize (SNeedPosition,size_need_position+ 1 );
         SNeedPosition[size_need_position].pos_type= POSITION_TYPE_SELL ;
         return ( true );
        }
     }
   if (rates[ 1 ].high>resistance[ 1 ])
     {
       if (!InpReverse)
        {
         ArrayResize (SNeedPosition,size_need_position+ 1 );
         SNeedPosition[size_need_position].pos_type= POSITION_TYPE_SELL ;
         return ( true );
        }
       else
        {
         ArrayResize (SNeedPosition,size_need_position+ 1 );
         SNeedPosition[size_need_position].pos_type= POSITION_TYPE_BUY ;
         return ( true );
        }
     }
//---
   return ( true );
  }
 
Vladimir Karputov :

일반적으로 지금 테스트할 수 있습니다( Plombiers 표시기에서 작동 - 채널의 Oscillator - 표시기는 [data 폴더]\MQL5\Indicators\plombiers.mq5 폴더에 있어야 함)


거래 전략의 아이디어

EA는 Plombiers 사용자 지정 지표에 따라 작동합니다. 신호를 생성하기 위해 "저항"과 "지원"이라는 두 가지 표시 라인이 고려됩니다.


매수 포지션을 여는 신호: 막대 #1의 저가가 막대 #1의 "지지"선 아래였습니다.

매도 포지션을 여는 신호: 막대 #1의 고가가 막대 #1의 "저항선" 위에 있음

더 높은 기간의 지원 및 저항 데이터 가져오기

즉, 옵티마이저의 입력에 MTF 표시기가 있어야 합니다.

 input ENUM_TIMEFRAMES TimeFramePlombiers= PERIOD_H4 ;

handle_Plombiers= iCustom (Symbol(),TimeFramePlombiers, "plombiers" ,итд);

이 같은

사유: