[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 332

 
Vinin:

Qu'entendez-vous par profil de marché ?


C'est ici :
" Le profil demarché comme moyen de représenter graphiquement l'acceptation ou le rejet d'un prix dans le temps".

J'ai trouvé l'indicateur http://fxcoder.ru/indicators/tpo

Mais je ne sais pas comment prendre la bonne décision, alors j'ai voulu demander aux experts...

 
first_may:


Ici :
"Le profil de marché comme moyen de représenter graphiquement l'acceptation ou le rejet d'un prix dans le temps".

J'ai trouvé l'indicateur http://fxcoder.ru/indicators/tpo

Mais je ne sais pas comment prendre la bonne décision, alors j'ai voulu demander aux experts...


Alors vous semblez poser la mauvaise question. Ce fil est destiné à un autre usage
 
Vinin:

Alors il semble que vous l'ayez posée au mauvais endroit. Ce fil de discussion n'est pas destiné à cet effet.



Où puis-je aller ?

Il y a aussi cet indicateur : https://www.mql5.com/ru/code/8115#20318

Je me demande comment l'analyser ? Cette question ne trouve pas de réponse ici ?

 

Bonjour à tous ! Joyeux 9 mai ! Jour de la Victoire !

Les pros ont besoin de votre aide.

if ( торговые условия)
     {                                          
      Opn_S=true;                              
      }
if ( торговые условия)
     {                                          
      Opn_B=true;                            
     }
if ( торговые условия)
     { 
     Cls_S=true;
     }
     else
if ( торговые условия)
     { 
     Cls_B=true;
     }

Après ce code, j'ai besoin d'un code qui agira séparément du code ci-dessus.

C'est-à-dire que la position sera ouverte et maintenue par d'autres critères définis, et quand ils disparaissent pour sortir de la position et commencer à agir sur les conditions de négociation d'origine (code ci-dessus).

L'essence de la stratégie est la suivante : deux barres ne touchant pas l'EMA min achètent, deux barres ne touchant pas l'EMA max vendent.

Quel code est nécessaire pour l'implémenter.

J'essaie de mettre cela en critères (je ne suis pas sûr que ce code soit une bonne solution) :

else
    for(i=0;i<=Quant_Bars-1;i++)  
   if (Low[i]> MA_3_t)
     {
     Opn_B=true;
     }
      return(false);

Il passe sans erreur, mais lorsque j'ajoute un critère de vente, il émet des erreurs - c'est un problème.

Une autre - comment couper un critère de l'accomplissement qui est au-dessus ?

La troisième consiste à paramétrer l'EMA en fonction du nombre de barres quotidiennes (chaque barre doit se référer à l'EMA correspondant à son jour).

 
first_may:



Où puis-je aller ?

Il y a aussi cet indicateur : https://www.mql5.com/ru/code/8115#20318

Je me demande comment l'analyser ? Cette question ne trouve pas de réponse ici ?


C'est là que vous pourriez poser la question
 

Les amis, pouvez-vous me dire pourquoi le nom d'utilisateur et le mot de passe ne s'enregistrent pas... ou toute personne qui pourrait savoir et conseiller...

Le message "4032291" s'affiche : connect failed (No connection).

Le Ping vérifie - cela signifie qu'il y a une connexion. Sinon, il n'y a pas de connexion pour une raison quelconque.

Et comment utiliser ce mql4 ?

 
Vinin:

C'est comme ça que vous pouvez poser une question là-bas.


Y aura-t-il une réponse ? La dernière entrée est datée du 11.05.2010 00:44...
 
first_may:


Répondront-ils ? La dernière entrée est datée du 11.05.2010 00:44...
L'auteur de la publication y figure, cliquez et posez-lui une question dans un message privé !
 

Artyom et Boris, merci d'avoir "mâché" ma question. Il y a des périodes où je peux rester bloqué sur des choses assez simples, comme ce fut le cas cette fois-ci...

Maintenant, il y a une nouvelle question.

J'ai ajouté à la fonction qui calcule le montant des ordres ouverts t, recherche les ordres d'un type spécifié avec des profits spécifiés et compare leurs profits avec une certaine valeur spécifiée (actuellement 0). De plus, s'il n'y a pas d'ordres ouverts, 2 drapeaux avec la valeur True sont retournés avec les paramètres de la fonction FindOrders(), cela signifie que vous pouvez envoyer un ordre, mais s'il y a des ordres, le profit est vérifié pour s'assurer qu'il est supérieur à la valeur fixée, s'il est inférieur à la valeur fixée, 2 drapeaux avec la valeur False sont retournés avec les paramètres de la fonction FindOrders(), ainsi quand il y a des ordres perdants dans une certaine direction, il n'y aura pas d'investissements dans la direction perdante.

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
int FindOrders(bool& long, bool& short)
{
   int t, total = OrdersTotal() - 1;
   
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
          if (OrderSymbol() != Symbol()) continue;
              if (OrderMagicNumber() != i_magic) continue;
              {
                 if (OrderType() < 0)              // Ордера отсуствуют, значит можно послать ордер..
                     {
                        long = true;               // .. на покупку
                        short = true;              // .. на продажу
                     }
                 
                 if (OrderType() == OP_BUY)        // Найден ордер типа OP_BUY
                 {
                     if (OrderProfit() > 0)        // Если профит ордера выше заданного значения, то..
                         long = true;              // .. разрешена покупка
                 }

                 if (OrderType() == OP_SELL)       // Найден ордер типа OP_SELL
                 {
                     if (OrderProfit() > 0)        // Если профит ордера выше заданного значения, то..
                         short = true;             // .. разрешена продажа
                 }
                 
                 t++;
              }
   }
   
   return (t);
}

Après cela, j'appelle la fonction FindOrders() dans la fonction signal :

//+-------------------------------------------------------------------------------------+
//| Получаем общий торговый сигнал                                                      |
//+-------------------------------------------------------------------------------------+
int GetGeneralSignal()
{
   bool short = false,
        long = false;
        
   if (FindOrders(short, long) > 3)
       return (SIGNAL_NO);

   if (long == false)
       return (SIGNAL_NO);
   if (GetRSI(1) < i_RSIToUpLimit)
      if (GetRSI(0) > i_RSIToUpLimit)
      {
         return (SIGNAL_BUY);
      }
           
   if (short == true)
       return (SIGNAL_NO);
   if (GetRSI(1) > i_RSIToDnLimit)
      if (GetRSI(0) < i_RSIToDnLimit)
      {
         return (SIGNAL_SELL);
      }
            
   return (SIGNAL_NO);
}

Les commandes n'ont pas été ouvertes du tout. La logique semble être correcte. Peut-être, pouvez-vous voir où j'ai fait une erreur ?

Je comprends que tout peut être fait plus facilement avec une fonction séparée et je peux le faire. Mais je veux comprendre pourquoi cela ne fonctionne pas dans cette version.

 
Bonjour chers programmeurs !

L'analyse suivante est nécessaire : le programme doit analyser les paramètres qui lui sont donnés et sortir le résultat dans une fenêtre séparée sous la forme d'un tableau avec une série de dates. Cela signifie que le programme doit analyser l'historique et afficher les dates nécessaires.

Est-il possible de faire cela dans MQL4 ou est-il préférable d'exporter l'historique et d'analyser les données à l'aide d'un programme écrit dans un autre langage ?

Merci d'avance !