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

 
Vitaliy Atamanov # :
지금까지 어느 부분을 클릭해야 합니까?

죄송하지만 모든 것이 매우 명확합니다. 이 숙제를 고려하십시오. 더 이상 답변을 드릴 수 없습니다.

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2021.10.01
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Vitaliy Atamanov # :
그것이 얼마나 멀리 있고 지금 어느 섹션을 클릭해야합니까?

당신은 거기에서 찾고 있지 않습니다. MT5 터미널을 다시 시작하고 터미널에서 "저널" 탭을 여십시오.

 
당신은 나에게 거래 터미널에서 정보를 보여 주지만이 프로그램의 Meta Tester5 Agents Manager 프로그램에 대해 질문합니다. 내 테스트 에이전트 는 클라우드에 연결되지 않습니다. 아마도 이것은 Windows 10 시스템이라는 사실 때문입니까?
 
Vitaliy Atamanov # :
당신은 나에게 거래 터미널에서 정보를 보여 주지만이 프로그램의 Meta Tester5 Agents Manager 프로그램에 대해 질문합니다. 내 테스트 에이전트 는 클라우드에 연결되지 않습니다. 아마도 이것은 Windows 10 시스템이라는 사실 때문입니까?

프로세서가 약합니다. RAM이 거의 없습니다. CPU 사용량이 많은 경우가 많습니다. 을 작성하라는 메시지가 표시되면   - 필요하다는 뜻입니다.

그건 그렇고, MQL5 프로필 을 확인하여 에이전트가 등장했는지 확인하십시오. 그렇다면 에이전트의 PR은 무엇입니까? (스크린샷 필요).

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

1. MT5가 시작될 때 서비스를 자동 시작하는 방법은 무엇입니까?

2. 서비스가 특정 기호의 데이터에 액세스할 수 있습니까? 저것들. 문자 tf 및 기타의 표시와 함께 iOpen() 유형을 수신할 수 있습니까?

 

안녕하세요. 도와주세요. 문제는 색상 인덱스를 Expert Advisor에 전달하는 방법입니다.

카피버퍼 (VHandle,3,0,3, lvcol1 )<0. 버퍼 - INDICATOR_COLOR_INDEX
 
Oleg Kolesov # :

안녕하세요. 도와주세요. 문제는 색상 인덱스를 Expert Advisor에 전달하는 방법입니다.

CopyBuffer (VHandle,3,0,3, lvcol1 )<0. 버퍼 - INDICATOR_COLOR_INDEX

색상을 변경할 때 원하는 경우 신호를 받으십시오.

스크린샷 2021-10-07 053809

예를 들어 나는 이렇게 얻는다.

표시기에 어떤 버퍼가 있는지 확인해야 합니다.

여기 이 1에 - 그런 다음 전문가(노란색 단위)에 1을 처방합니다.

 //--- indicator buffers mapping
   SetIndexBuffer ( 0 ,BufferC, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,BufferColors, INDICATOR_COLOR_INDEX );
   SetIndexBuffer ( 2 ,BufferB1, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 3 ,BufferB2, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 4 ,BufferB3, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 5 ,BufferB4, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 6 ,BufferB5, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 7 ,BufferB6, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 8 ,BufferMA, INDICATOR_CALCULATIONS );
//--- setting indicator parameters
 //+------------------------------------------------------------------+
//| main function returns true if any position processed             |
//+------------------------------------------------------------------+
bool CSampleExpert::Processing( void )
  {
//--- refresh rates
   if (!m_symbol.RefreshRates())
       return ( false );
//--- refresh indicators
   if ( BarsCalculated (m_handle_macd)< 2 )
       return ( false );
   if ( CopyBuffer (m_handle_macd, 1 , 0 , 2 ,m_buff_MACD_main)  != 2 )
       return ( false );
//   m_indicators.Refresh();
//--- to simplify the coding and speed up access
//--- data are put into internal variables
   m_macd_current   =m_buff_MACD_main[ 0 ];
   m_macd_previous  =m_buff_MACD_main[ 1 ];
//--- it is important to enter the market correctly,
//--- but it is more important to exit it correctly...
//--- first check if position exists - try to select it
   if (m_position.Select( Symbol ()))
     {
       if (m_position.PositionType()== POSITION_TYPE_BUY )
        {
         //--- try to close or modify long position
         if (LongClosed())
             return ( true );
         if (LongModified())
             return ( true );
        }
       else
        {
         //--- try to close or modify short position
         if (ShortClosed())
             return ( true );
         if (ShortModified())
             return ( true );
        }
     }
//--- no opened position identified
   else
     {
       //--- check for long position (BUY) possibility
       if (LongOpened())
         return ( true );
       //--- check for short position (SELL) possibility
       if (ShortOpened())
         return ( true );
     }
//--- exit without position processing
   return ( false );
  }
//+------------------------------------------------------------------+
 //+------------------------------------------------------------------+
//| Check for short position opening                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::ShortOpened( void )
  {
   bool res= false ;
//--- check for short position (SELL) possibility
   if (m_macd_current>m_macd_previous)
     {
 

도움을 주신 SanAlex에게 감사드립니다. 잘 이해하지 못했습니다. 버퍼 번호가 아니라 색상 인덱스?

표시기에서

 int OnInit ()
  {
   IndicatorSetInteger ( INDICATOR_DIGITS , _Digits );                   // Точки после запятой
//---
   SetIndexBuffer ( 0 ,level1, INDICATOR_DATA );                         // Назначение массива буферу
   SetIndexBuffer ( 1 ,
levelcol1 , INDICATOR_COLOR_INDEX );
//--- задаем количество индексов цветов для графического построения
   PlotIndexSetInteger ( 0 , PLOT_COLOR_INDEXES ,
3 ) ;
//--- задаем цвет для каждого индекса
   PlotIndexSetInteger ( 0 , PLOT_LINE_COLOR ,
0 ,LightSeaGreen);   
   PlotIndexSetInteger ( 0 , PLOT_LINE_COLOR ,
1 ,DimGray); 
   PlotIndexSetInteger ( 0 , PLOT_LINE_COLOR ,
2 ,Red);

고문에서. 3가지 색상. 3가지 상황.

 //| Копируем значения индикаторов в массивы, используя хэндлы индикатора
//+---------------------------------------------------------------------+
   if ( CopyBuffer (VHandle, 0 , 0 , 3 ,lv1)< 0 || CopyBuffer (VHandle, 1 , 0 , 3 ,
lvcol1 )< 0 )
     {
       Alert ( "Ошибка копирования буферов хэндла индикатора V2 - ошибка:" , GetLastError (), "!!" );
       return ;
     }
 
줄을 감습니다. 아무것도 할 수 없습니다. 색상이 변할 때 정확하게 신호를 수신합니다.
 
Oleg Kolesov # :
줄 바꿈. 아무것도 할 수 없습니다. 색상이 변할 때 정확하게 신호를 수신합니다.

1. 하단 라인의 시작 부분에 커서를 놓고 왼쪽의 문자 삭제 버튼을 누릅니다.

2. Alexander는 올바르게 대답하고 코드까지 제공했지만 언제나처럼 완전한 발보지만 그는 올바른 것을 강조 표시했습니다 ...

첫 번째 버퍼에는 표시기 색상 인덱스가 포함되어 있습니다. 총 3가지 색상이 있으므로 이 버퍼의 값은 0, 1 또는 2만 될 수 있습니다. 따라서 첫 번째 버퍼의 값을 배열로 읽고 이 배열에 0, 1 또는 2가 포함되어 있는지 확인합니다

사유: