[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 432

 
LOA:

Le problème est le suivant : ..... L'indicateur ne se redessine pas lorsque de nouvelles barres sont formées. Il est redessiné si vous changez le t.f. ou la sortie.

Proboy_Order_F5 est le principal indicateur sur lequel je souhaite poser des questions.

C'est un indicateur de redécoupage et il doit être capable de rejouer l'historique. Pour ce faire, remplacez vos deux opérateurs de calcul de limite variable par le suivant :

    int limit=MathMin(Bars-1, Bars-сounted_bars+T_Life_ORD+1);

Du point de vue stylistique, utilisation systématique dans les opérateurs de variables auxquelles on n'a pas explicitement attribué de valeurs.

 
Mislaid:

Il s'agit d'un indicateur de redécoupage et il devrait être autorisé à jeter un coup d'œil à l'historique. Pour ce faire, remplacez vos deux opérateurs de calcul de limites variables par le suivant :

Dans le style, l'utilisation systématique dans les opérateurs de variables auxquelles on n'a pas attribué explicitement de valeurs est gênante.


Merci pour vos commentaires !

J'essaierai de remplacer, je suivrai vos recommandations.

À propos de variables.... Si vous voulez dire l'indicateur principal, son code n'est pas le code entier. Il ne s'agit que de sa partie initiale, la base. J'y ai ajouté d'autres astuces et fonctions définies par l'utilisateur, mais je n'ai probablement pas supprimé les surcharges. Et mieux encore, si vous le voulez bien, donnez-moi quelques exemples de ces variables (je suis en train d'apprendre et j'en ai probablement trop fait). Cela m'aidera à comprendre ce problème également.

 
LOA:


Merci pour la réponse !

Je vais essayer de le remplacer, je vais suivre votre recommandation.

À propos des variables.... Si vous voulez dire l'indicateur principal, ce n'est pas le code entier. Ce n'est que la partie initiale, la base. J'y ai ajouté d'autres astuces et fonctions définies par l'utilisateur, mais je n'ai probablement pas supprimé les surcharges. Et mieux encore, si vous le voulez bien, donnez-moi quelques exemples de ces variables (je suis en train d'apprendre et j'en ai probablement trop fait). Cela m'aidera à comprendre cette question également.

Voici un exemple avec seulement deux opérateurs. Toutes les variables proboy_Buy, Buy_Price_D, N_Buy viennent d'être déclarées mais aucune valeur initiale ne leur a été attribuée et une construction intervient immédiatement :

         //-----------------Проверяем время жизни ордера ?-------------------------------   
          if (proboy_Buy==true)
          {  
              if ( Buy_Price_D <= 0 && N_Buy >= T_Life_ORD+1) 

Et très probablement les variables suivantes devraient être déclarées en dehors de la boucle

           double    Buy_Price,Sell_Price, //цена ордера
                     St_Buy_Price,St_Sell_Price,//цена стопа
                     Pr_Buy_Price,Pr_Sell_Price;//цена профита       
           
           int       n,
                     N_Buy, N_Sell;  //номер свечи ордера 
 
Mislaid:

Un exemple de deux opérateurs seulement. Les variables proboy_Buy, Buy_Price_D, N_Buy viennent d'être déclarées, mais aucune valeur initiale ne leur a été attribuée et la construction se fait directement :

Et très probablement, les variables suivantes doivent être déclarées en dehors de la boucle




Ok. Je vais y réfléchir.

Une petite clarification : ces variables obtiennent des valeurs à la fin de la boucle, de sorte qu'elles peuvent utiliser ces valeurs lors du passage à une nouvelle itération. Voici mon idée jusqu'à présent (mais je veux apprendre à bien faire)

C'est-à-dire que l'indicateur utilise le fait de la panne sur i, et les actions ultérieures doivent être utilisées sur i-1. Vous pourriez, bien sûr, utiliser i+1 pour le fait de la panne, mais dans ce cas, si je comprends bien, la barre zéro n'est pas prise en compte.

 
Hronos:

Étrange, je pensais que ma question était un problème simple à résoudre par un expert et que ce fil de discussion était censé être destiné aux débutants.

Ou y a-t-il une aide sélective ici ?


Ceux qui essaient d'apprendre à programmer en MQL4 peuvent trouver de l'aide ici.
 
PapaYozh:

Ici, vous pouvez aider ceux qui essaient d'apprendre à programmer en MQL4.
Je ne vous demande pas d'écrire un indicateur, j'y ai mis des choses moi-même, ajoutez juste un peu de code pour qu'il s'affiche correctement sur le graphique.
 
Je pense pour ma part que si vous voulez une réponse, c'est une erreur de penser que quelqu'un est obligé de répondre ou de corriger quelque chose. Il ne reste plus qu'à espérer qu'elle ne restera pas sans réponse.
 

Bonjour !

Veuillez m'aider avec l'indicateur MA=iMA(NULL,0,TrendPeriod,0,MODE_EMA,PRICE_CLOSE,0) ;

Comment puis-je donner plusieurs valeurs à applied_price , et sélectionner la bonne en cas de besoin ?

 

Je vais réessayer.

Pouvez-vous me dire comment traiter un problème trivial ? J'ai un trou dans mon historique EUR juin 2011 et ensuite septembre et un peu de septembre est perdu

dans le dossier \terminal\history\downloads\EURUSD il y a ceci

EURUSD_2011_06_81625bcefc91bf488a04d5a1dae0c93f
EURUSD_2011_09_2557787db3eb2fe87073c783f21cdd66
EURUSD_2011_10_15793a4a4f9d001b78a82e248872bc3b

a essayé plusieurs terminaux de courtiers différents, y compris le MQ natif. J'ai également essayé sur différentes machines avec XP et Win7. J'ai essayé de supprimer symbols.raw et symgroups.raw et de les télécharger à nouveau - cela n'a pas aidé.

ou quelqu'un peut-il télécharger les fichiers

EURUSD_2011_07_xxx
EURUSD_2011_08_xxx
EURUSD_2011_09_xxx

 
Hronos:
Je pense que pour moi, après mon deuxième message, tout le monde est aussi bon pour enflammer que pour aider.
Tu devrais juste aller sur un autre fil. Qu'est-ce qui fait que les hommes sont si susceptibles ?
Raison: