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

 

안녕하세요! https://www.mql5.com/ru/articles/648 기사에서 Expert Advisor를 수정하고 내 기능을 삽입하려고 합니다. 문제는 지표를 프랙탈로 대체하는 것이 불가능하다는 점이다. signal_indicator_handles[s]=iMA(Symbols[s],_Period,IndicatorPeriod[s],0,MODE_SMA,PRICE_CLOSE)인 경우 iFractals(Symbols[s], PERIOD_M15)로 대체합니다. 그런 다음 잘못된 가격이 제공됩니다. 도움을 주고 코드를 수정할 수 있습니까?

 //+------------------------------------------------------------------+
//| Получает хэндлы индикаторов                                      |
//+------------------------------------------------------------------+
void GetIndicatorHandles()
  {
//--- Пройдемся по всем символам
   for ( int s= 0 ; s<NUMBER_OF_SYMBOLS; s++)
     {
       //--- Если торговля по этому символу разрешена
       if (Symbols[s]!= "" )
        {
         //--- Если хэндл еще не получен
         if (signal_indicator_handles[s]== INVALID_HANDLE )
           {
             //--- Получим хэндл индикатора
            signal_indicator_handles[s]= iMA (Symbols[s], _Period ,IndicatorPeriod[s], 0 , MODE_SMA , PRICE_CLOSE );
             //--- Если не удалось получить хендл индикатора
             if (signal_indicator_handles[s]== INVALID_HANDLE )
               Print ( "Не удалось получить хэндл индикатора для символа " +Symbols[s]+ "!" );
           }
        }
     }
  }

//+------------------------------------------------------------------+
//| Получает значения индикаторов                                    |
//+------------------------------------------------------------------+
bool GetIndicatorsData( int symbol_number)
  {
//--- Количество значений индикаторного буфера для определения торгового сигнала   
   int NumberOfValues= 3 ;
//--- Если хэндл индикатора был получен
   if (signal_indicator_handles[symbol_number]!= INVALID_HANDLE )
     {
       //--- Установим обратный порядок индексации (... 3 2 1 0)
       ArraySetAsSeries (indicator[symbol_number].value, true );
       //--- Получим значения индикатора
       if ( CopyBuffer (signal_indicator_handles[symbol_number], 0 , 0 ,NumberOfValues,indicator[symbol_number].value)<NumberOfValues)
        {
         Print ( "Не удалось скопировать значения (" +
               Symbols[symbol_number]+ "; " +TimeframeToString( _Period )+ ") в массив indicator! Ошибка (" +
               IntegerToString ( GetLastError ())+ "): " +ErrorDescription( GetLastError ())+ "" );
         return ( false );
        }
       return ( true );
     }
//--- Если хэндл индикатора не получен, то...
   else
     {
       // ...попробуем получить его еще раз
      GetIndicatorHandles();
     }
   return ( false );
  }
  

Проверка
Print ( "++++++++indicator[symbol_number][0]" ,Symbols[symbol_number], "= " ,indicator[symbol_number].value[ 0 ]);
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
  • 2013.06.11
  • Anatoli Kazharski
  • www.mql5.com
В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно было добавлять дополнительные символы, внося небольшие изменения в код.
 
안녕하세요! 저에게 관심이 없는 카테고리의 뉴스를 끄고 MT5에서 뉴스 창을 스팸으로 보내는 것이 가능한지 알려주실 수 있나요? 그리고 그것을 하는 방법?
 
새로 생성된 차트의 chart_id를 찾는 방법을 알려주실 수 있나요?
 
손으로 만드나요?
 
Karputov Vladimir :
손으로 만드나요?

아니요.

void OnStart() { ChartOpen("GBPUSD", PERIOD_H1); }
 

안녕하세요!

이 질문을 도와주세요.

Expert Advisor 테스트 종료 시 사용한 표준 지표가 MT4 차트 창에 표시되지 않도록 하려면 어떻게 해야 하나요?

 
Sergei Konoplev :

안녕하세요!

이 질문을 도와주세요.

Expert Advisor 테스트 종료 시 사용한 표준 지표가 MT4 차트 창에 표시되지 않도록 하려면 어떻게 해야 하나요?

HideTestIndicators() 함수에 대한 도움말 보기
 
-Aleks- :

아니요.

void OnStart() { ChartOpen("GBPUSD", PERIOD_H1); }

생성된 차트의 ID는 다음과 같이 얻을 수 있습니다.

 void OnStart ()
  {
   ResetLastError ();
   long Chart_ID= ChartOpen ( "GBPUSD" , PERIOD_H1 );
   if (Chart_ID!= 0 )
       Print ( "Идентификатор созданного графика: " ,Chart_ID);
   else
       Print ( "Ошибка открытия нового графика: " , GetLastError ());
  }
 
Vitalii Ananev :
HideTestIndicators() 함수에 대한 도움말 보기
독창적인 것은 모두 간단합니다! ATP, 조언이 도움이 됨)
 
Karputov Vladimir :

생성된 차트의 ID는 다음과 같이 얻을 수 있습니다.

고맙습니다. 사용자가 만든 마지막 차트의 ID나 작동을 멈춘 다른 스크립트의 ID를 가져올 수 있습니까?
사유: