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

 
barabashkakvn :

안녕하세요.

1. 글 끝에 아카이브가 없어서 "Blau_Ergodic" 표시기를 사용할 수 없습니다. 이제 포함 파일 " WilliamBlau.mqh"가 필요합니다. 이 파일을 업로드하십시오(가능한 프로필의 메시지를 통해).

2. ... MQL5\Indicators\Examples\ 폴더 의 모든 지표 는 사용자 지정 지표입니다. 이러한 지표, 편집할 수 있는 코드.

전송된.
 
forexman77 :

사용자 지정 표시기 를 기반으로 하는 거래 신호 생성기를 구성하려고 합니다.

다음과 같은 질문이 생겼습니다.

1. CiCustom 뒤의 행에서 임의의 이름을 지정할 수 있습니다(예: "m_ind;"로 지정).

2. 이 줄이 맞습니까?

내가 올바르게 이해했다면 여기에서 표시기 자체의 값을 얻을 수 있습니까?

3. 어떻게 프로그램이 표시기의 값을 가져오는지 알 수 없습니다. 즉, MQL4와 유추하는 경우 표시기의 이름을 지정해야 하며 프로그램은 이를 이름으로 찾습니다. 그렇다면 클래스에서 이름을 입력해야 하는 위치는 어디일까요?

아래는 제가 디자인한 코드입니다.) 제 작업에 대한 경험이 필요하기 때문에 더 이상 진행하지 않겠습니다.

일반적으로 모든 것이 정확합니다. 다음은 코드입니다.

   double              Custom( int index)                   { return (m_ind.ParamDouble(index));}
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }

질문을 제기합니다. ParamDouble - 표시기를 생성할 때 사용되는 지정된 부동 소수점 매개변수의 값을 가져옵니다. 여전히 표시기 버퍼의 값에 액세스해야 할 수도 있습니다.

    double              Custom( int index)                   { return (m_open.GetData(index));  }
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }

?

 
barabashkakvn :

일반적으로 모든 것이 정확합니다. 다음은 코드입니다.

질문을 제기합니다. ParamDouble - 표시기를 생성할 때 사용되는 지정된 부동 소수점 매개변수의 값을 가져옵니다. 여전히 표시기 버퍼의 값에 액세스해야 할 수도 있습니다.

?

도움말을 보니 "ParamDouble"이 필요하다는 생각이 들었습니다. 물론 일반적으로 버퍼에서 값을 가져와야 합니다.

버퍼에 대한 " CiCustom " 클래스에서 " NumBuffers "만 찾았 습니다.

 
forexman77 :
도움말을 보니 "ParamDouble"이 필요하다는 생각이 들었습니다. 물론 일반적으로 버퍼에서 값을 가져와야 합니다.
글쎄, 당신이 할 수 있습니다.
 
barabashkakvn :
글쎄, 당신이 할 수 있습니다.
내가 제대로 이해했다면
 double              Custom( int index)                   { return (m_ind.ParamDouble(index));}

이 줄은 표시기의 값을 묻습니까?

표준 표시기에서 버퍼 값은 데이터 액세스를 통해 가져오는 반면 사용자 지정 표시기 에서는 데이터 액세스에 대해 아무 것도 없습니다.

기술 지표 및 시계열의 기본 및 보조 클래스 그룹에 기능이 있지만 어떻게 연결합니까? 아니면 이것이 당신에게 필요한 것이 아닙니까?

 
forexman77 :
내가 제대로 이해했다면

이 행은 표시기의 값을 묻습니까?

표준 표시기에서 버퍼 값은 데이터 액세스를 통해 가져오는 반면 사용자 지정 표시기 에서는 데이터 액세스에 대해 아무 것도 없습니다.

기술 지표 및 시계열의 기본 및 보조 클래스 그룹에 기능이 있지만 어떻게 연결합니까? 아니면 이것이 당신에게 필요한 것이 아닙니까?

1. 예 매개변수 값 - 예를 들어 지표가 계산될 입력 매개변수입니다.

2. 혼동하지 마십시오. 코드를 변경할 수 있는 표시기는 사용자 지정 표시기입니다. 표준 라이브러리에 있는 표시기와 동일한 이름을 갖도록 하십시오. 사용자 지정 표시기의 예는 ... MQL5\Indicators\Examples\ 및 코드를 변경할 수 있는 기타입니다. 표시기 버퍼는 차트에 내용(데이터)을 그립니다. 표시기 버퍼의 데이터를 변경하기만 하면 차트에 그려집니다. 어떤 종류의 액세스에 대해 문의하십니까?

3. 이해하지 못했습니다.

 
barabashkakvn :

1. 예 매개변수 값 - 예를 들어 지표가 계산될 입력 매개변수입니다.

2. 혼동하지 마십시오. 코드를 변경할 수 있는 표시기는 사용자 지정 표시기입니다. 표준 라이브러리에 있는 표시기와 동일한 이름을 갖도록 하십시오. 사용자 지정 표시기의 예는 ... MQL5\Indicators\Examples\ 및 코드를 변경할 수 있는 기타입니다. 표시기 버퍼는 차트에 내용(데이터)을 그립니다. 표시기 버퍼의 데이터를 변경하기만 하면 차트에 그려집니다. 어떤 종류의 액세스에 대해 문의하십니까?

3. 이해하지 못했습니다.

다음은 표시기 "q"가 계산되는 입력 매개변수 기간입니다.

 class CSampleSignal : public CExpertSignal
  {
protected :
   CiCustom           m_ind;               // объект для доступа к значениям ind
   CiOpen             m_open;             // объект для доступа к ценам открытия баров
   CiClose            m_close;           // объект для доступа к ценам закрытия баров
   //--- настраиваемые параметры
   int       q;   // q - период, по которому вычисляется индикатор
   double              m_stop_loss;       // уровень установки ордера "stop loss" относительно цены открытия
   double              m_take_profit;     // уровень установки ордера "take profit" относительно цены открытия
public :
              CSampleSignal();
   //--- методы установки параметров настройки
   void                Q( int value )                 { q= value ;   }
   void                StopLoss( double value )       { m_stop_loss= value ;   }
   void                TakeProfit( double value )     { m_take_profit= value ; }

질문 2. 이제 다음 코드

 protected :
   //--- метод инициализации объектов
   bool                Initind(CIndicators* indicators);
   bool                InitOpen(CIndicators* indicators);
   bool                InitClose(CIndicators* indicators);
   //--- методы доступа к данным объектов
   double              Custom( int index)                   { return (m_ind.ParamDouble(index));}//знаю, что не правильно
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }
  };

내가 올바르게 이해했다면 표시기 버퍼에서 시작, 마감, 값에 대한 정보를 얻고자 하는 것을 여기에 나타냅니다.

표준 지표로 명확합니다. 버퍼의 데이터는 " Main"을 통해 수신됩니다. 예를 들어 아래 코드와 같이

 double              MA( int index)                       { return (m_MA.Main(index));       }
 double              Open( int index)                     { return (m_open.GetData(index));  }
 double              Close( int index)                    { return (m_close.GetData(index)); }

질문에 3. 사용자 지정 지표 에서 데이터를 얻는 방법은 무엇입니까?

더 나은 이해를 위해 간단히 말해서 거래 신호 생성기를 만드는 과정에서 거쳐야 하는 단계는 무엇입니까?

 
내가 올바르게 이해했다면 표시기 버퍼에서 시작, 마감, 값에 대한 정보를 얻고자 하는 것을 여기에 나타냅니다.

네.

표준 지표로 명확합니다. 버퍼의 데이터는 "Main"을 통해 수신됩니다. 예를 들어 아래 코드와 같이

네. CiMA 클래스에는 Main 메서드가 있습니다.

사용자 지정 지표 에서 데이터를 얻는 방법은 무엇입니까?

.GetData(index))
여기서 index는 표시기 버퍼의 인덱스입니다.
 
바라바쉬카크:

네.

네. CiMA 클래스에는 Main 메서드가 있습니다.

여기서 index는 표시기 버퍼의 인덱스입니다.
 double              Main( int ind)                       { return (m_ind.GetData( 0 ,ind));   }
바르게)?
 


메타 트레이더는 Windows Phone 8에서 언제 출시됩니까?

사유: