Обсуждение статьи "Автоматический поиск дивергенций и конвергенций"

 

Опубликована статья Автоматический поиск дивергенций и конвергенций:

В статье рассматриваются всевозможные виды дивергенции: простая, скрытая, расширенная, тройная, четвертная дивергенции, конвергенция, дивергенции классов A, B и C. Создается универсальный индикатор для их поиска и отображения на графике.

На рис. 15 показан график с прикрепленным на него индикатором (в подокне) с включенным отображением стрелок на графике цены и с рисованием линий между вершинами. 


Рис. 15. Индикатор дивергенции на графике цены с отображением стрелок на графике цены и линий меду экстремумами

Автор: Dmitry Fedoseev

 
MetaQuotes Software Corp.:

Опубликована статья Автоматический поиск дивергенций и конвергенций:

Автор: Dmitry Fedoseev


Чем Ваш индикатор лучше других, можете пояснить ?

 
Пытаюсь разобраться с вашим индикатором. С OsMA он не работает. Подскажите пожалуйста почему и как я могу подключить свой кастомный индикатор?
 
Ilya Saniukevich:
Пытаюсь разобраться с вашим индикатором. С OsMA он не работает. Подскажите пожалуйста почему и как я могу подключить свой кастомный индикатор?

Работает OsMA, надо параметры правильные установить - переменные: Period1, Period2, Period3, для начала можно поставить 12, 26, 9.

Для подключения своего индикатора надо делать доработку класса в файле CUniOsc.mqh

 

Привет,

Я французский жаль, что я не говорю по-русски.
Можете ли вы объяснить, как ваше предупреждение, потому что я не могу это сделать.
Я пытался не добавить «sendNotification» никакого результата, но я стрелок, которые появляются.
Я также попытался добавить «sendNotification» в «CuniDiverExtremums» после «check = true», но я получаю постоянно предупреждает.

Вы можете проверить, если оповещения на рабочем месте, в конфигурации по умолчанию.

Спасибо.

 
plumedelan:

Привет,

Я французский жаль, что я не говорю по-русски.
Можете ли вы объяснить, как ваше предупреждение, потому что я не могу это сделать.
Я пытался не добавить «sendNotification» никакого результата, но я стрелок, которые появляются.
Я также попытался добавить «sendNotification» в «CuniDiverExtremums» после «check = true», но я получаю постоянно предупреждает.

Вы можете проверить, если оповещения на рабочем месте, в конфигурации по умолчанию.

Спасибо.


Pas clairement. Écrire en français ou en anglais.

 

Bonjour,

Je suis désolé de ne pas parler russe.
Pouvez-vous expliquer comment votre alerte fonctionne?

Chez moi ça ne fonctionne pas.

Par contre les flèches sont bien affichées.
J'ai essayé d'ajouter 'sendNotification' mais sans résultat.


        if(lcnt>m_ccnt){
            if(m_lower[lcnt-1].SignalBar==i){
               bool check=true;
               SendNotification("buy");
               for(int j=0;j<m_ccnt;j++){
                  bool result=m_conditions[j].CheckBuy


J'ai essayé d'ajouter 'sendNotification' dans 'CuniDiverExtremums' après 'check = true', mais je reçois des fausses notifications.

Pouvez vous vérifier si les alertes fonctionnent bien pour vous.

Merci.

 
plumedelan:

Bonjour,

Je suis désolé de ne pas parler russe.
Pouvez-vous expliquer comment votre alerte fonctionne?

Chez moi ça ne fonctionne pas.

Par contre les flèches sont bien affichées.
J'ai essayé d'ajouter 'sendNotification' mais sans résultat.


        if(lcnt>m_ccnt){
            if(m_lower[lcnt-1].SignalBar==i){
               bool check=true;
               SendNotification("buy");
               for(int j=0;j<m_ccnt;j++){
                  bool result=m_conditions[j].CheckBuy


J'ai essayé d'ajouter 'sendNotification' dans 'CuniDiverExtremums' après 'check = true', mais je reçois des fausses notifications.

Pouvez vous vérifier si les alertes fonctionnent bien pour vous.

Merci.


Ce n'est pas le bon endroit pour la fonction SendNotification(). À chaque exécution de la condition dans l'historique du graphique, il y aura un appel de fonction. 

Recherchez la fonction CheckAlerts () dans le code. Dans cette fonction, il y a un appel à la fonction Alert().  Ajoutez l'appel de fonction SendNotification() à la même fonction:

if(mes!=""){
      Alert(MQLInfoString(MQL_PROGRAM_NAME)+"("+Symbol()+","+IntegerToString(PeriodSeconds()/60)+"):"+mes);
      SendNotificatin(.......);
}   

Pour tester la fonction de SendNitification (), écrivez un script avec un seul appel à cette fonction, alors vous serez sûr que la fonction est appelée et vous verrez si la notification vient. Quelque chose de clair?

 

Oui, j'ai déja essayé il y a 15 jours, mais ça ne fonctionne pas, pourtant dans d'autre EA la fonction SendNotification est ok.

J'avais écrit:

Alert(MQLInfoString(MQL_PROGRAM_NAME)+"("+Symbol()+","+IntegerToString(PeriodSeconds()/60)+"):"+mes);
SendNotification(MQLInfoString(MQL_PROGRAM_NAME)+"("+Symbol()+","+IntegerToString(PeriodSeconds()/60)+"):"+mes);

Mais je vais écrire un script ce soir par exemple:

int bit0;//in the init
      if(mes!="" && bit0){  
      SendNotification(MQLInfoString(MQL_PROGRAM_NAME)+"("+Symbol()+","+IntegerToString(PeriodSeconds()/60)+"):"+mes);
      bit0=true;
      }

MERCI

 
plumedelan:

Oui, j'ai déja essayé il y a 15 jours, mais ça ne fonctionne pas, pourtant dans d'autre EA la fonction SendNotification est ok.

J'avais écrit:

Mais je vais écrire un script ce soir par exemple:


J'ai trouvé le problème. La fonction CheckAlerts () n'est pas appelée. Vous devez appeler CheckAlerts () en bas de OnCalculate ():

...
...
...

   if(ArrowsOnChart || DrawLines){
      ChartRedraw();
   }
   
   CheckAlerts(rates_total,time);
   
   return(rates_total);                
}   

Mon erreur. Désolé.

 

Merci, je vais essayer.

Причина обращения: