Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 399

 

Tünaydın! https://www.mql5.com/ru/articles/648 makalesinden Expert Advisor'ı değiştiriyorum ve kendi işlevimi eklemeye çalışıyorum. Sorun, göstergeyi bir fraktal ile değiştirmenin imkansız olmasıdır. Eğer signal_indicator_handles[s]=iMA(Symbols[s],_Period,IndicatorPeriod[s],0,MODE_SMA,PRICE_CLOSE) ile değiştiririm iFractals(Symbols[s], PERIOD_M15); o zaman yanlış fiyat verilir. Yardım edip kodu düzeltebilir misiniz?

 //+------------------------------------------------------------------+
//| Получает хэндлы индикаторов                                      |
//+------------------------------------------------------------------+
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
В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно было добавлять дополнительные символы, внося небольшие изменения в код.
 
Merhaba! Bana ilgimi çekmeyen kategori haberlerini kapatıp MT5'te haber penceresini spam olarak göndermenin mümkün olup olmadığını söyler misiniz? Ve nasıl yapılır?
 
Lütfen yeni oluşturulan grafiğin chart_id'sini nasıl bulacağımı söyler misiniz?
 
Elle mi oluşturuyorsunuz?
 
Karputov Vladimir :
Elle mi oluşturuyorsunuz?

Numara.

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

Merhaba!

Bu soruya yardım edin.

Expert Advisor testinin sonunda, kullanılan standart göstergenin MT4 grafik penceresinde görüntülenmemesi için nasıl yapılır?

 
Sergei Konoplev :

Merhaba!

Bu soruya yardım edin.

Expert Advisor testinin sonunda, kullanılan standart göstergenin MT4 grafik penceresinde görüntülenmemesi için nasıl yapılır?

HideTestIndicators() işlevi için yardıma bakın
 
-Aleks- :

Numara.

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

Oluşturulan grafiğin kimliğini şu şekilde alabilirsiniz:

 void OnStart ()
  {
   ResetLastError ();
   long Chart_ID= ChartOpen ( "GBPUSD" , PERIOD_H1 );
   if (Chart_ID!= 0 )
       Print ( "Идентификатор созданного графика: " ,Chart_ID);
   else
       Print ( "Ошибка открытия нового графика: " , GetLastError ());
  }
 
Vitalii Ananev :
HideTestIndicators() işlevi için yardıma bakın
Ustaca olan her şey basit! ATP, tavsiye yardımcı oldu)
 
Karputov Vladimir :

Oluşturulan grafiğin kimliğini şu şekilde alabilirsiniz:

Teşekkür ederim. Bir kullanıcı veya çalışmayı durduran başka bir komut dosyası tarafından oluşturulan son grafiğin kimliğini almak mümkün müdür?