[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 243

 
quelle est la valeur maximale du glissement ?
 
joo:
J'ai essayé différents projets - même problème.
Ajouter un fichier .def. Il existe de nombreuses différences entre MT5 et MT4 à cet égard, et pour le meilleur.
 
TheXpert:
Ajouter un fichier .def. Il y a beaucoup de différences entre MT5 et MT4 à cet égard, et pour le meilleur.

Je l'ai ajouté, ça n'a pas aidé.

 

Bonjour à tous. Pouvez-vous me dire comment convertir une variable int en chaîne de caractères, de sorte que la longueur de la chaîne soit toujours la même - 2 caractères (juste que j'ai différents deux chiffres et un chiffre, et c'est ennuyeux). Des conseils sur ce qu'il faut fuir, je ne demande pas une solution spécifique :) Merci d'avance.


PS : En principe, vous pouvez faire (si x < 10) et ajouter un zéro à gauche, mais peut-être y a-t-il une fonction de conversion de données intégrée ?

 
joo:

Je l'ai ajouté, ça n'a pas aidé.

Je ne l'ai probablement pas ajouté correctement.
 

Mes amis, dites-moi quelle est ma logique...

En résumé :

 bool signal_MACD() 
  { 
    bool signal_MACD = false; //изначально сигнал стоит false
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); //это текущий бар MACD
    for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)
      {
            if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,j)*tmp)>0.0) //если текущий бар MACD находится по одну сторону с одним из баров MACD, сдвинутых на 2 назад
            { 
              if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp)<0.0) //если текущий бар MACD находится по разные стороны с одним из баров MACD, сдвинутых на 1 назад

              {
            
                 signal_MACD = true; 
                 break; 
            
              }   
            } 
      }      
    } 
    return(signal_MACD);
  } 

C'est-à-dire que le MACD était d'un côté de 0, puis s'est retrouvé de l'autre côté et est revenu à nouveau. Le MACD traverse la ligne du zéro et revient... mais dans le testeur de stratégie, c'est loin d'être le cas... la question est... Pourquoi ?

 
nadya:
Quelle est la valeur maximale du glissement ?

De combien avez-vous besoin ?


Pyro:

Bonjour à tous. Pouvez-vous s'il vous plaît conseiller comment convertir int variable à la chaîne, de sorte que la longueur de la chaîne a toujours été le même - 2 caractères (juste elle j'ai différents se produit et à deux chiffres et à une valeur, et il ennuie). Conseil sur ce que pour exécuter à partir, je ne demande pas une solution spécifique :) Merci à l'avance.


PS : En principe, vous pourriez faire (if x < 10) et ajouter un zéro à gauche, mais peut-être y a-t-il une fonction de conversion de données intégrée ?

Je fais toujours exactement ça.
 
nemo811:
Je ne rigole pas...

C'est juste que la répartition à différents moments de la journée et sur différents jours peut être très différente. Il n'y a donc pas de quoi rire.
 
prorab:

J'ai fait quelque chose avec le fichier modifiable <indicator.mq4>, soit en le déplaçant quelque part, soit en le copiant sous un autre nom, mais après la compilation, dans la liste des indicateurs du terminal, le nom est devenu gris et inactif.

Cependant, l'indicateur est disponible par le biais du menu latéral dans la barre de la fenêtre de gauche dans l'"arbre de liste" et est glissé sur le graphique.

Si vous avez rencontré une telle situation, veuillez indiquer comment y remédier ?

Sincèrement.

Vous ne le croirez pas !

La raison était banale - trop d'indicateurs dans le dossier <indicateurs> !

Une fois que j'ai déplacé les *.mq4 inutiles vers <Arxiv>, en réduisant de 2/3 le nombre d'indicateurs dans le dossier, tout fonctionne.

Qui l'aurait cru ?

 
CLAIN:

Mes amis, dites-moi quelle est ma logique...

En résumé :

C'est-à-dire que le MACD était d'un côté de 0, puis s'est retrouvé de l'autre côté et est revenu à nouveau. Le MACD traverse la ligne du zéro et revient... mais dans le testeur de stratégie, c'est loin d'être le cas... la question est... Pourquoi ?

for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)

Après cela, imprimez les valeurs i et j et voyez ce qui se passe.

Je suppose que la deuxième boucle doit être corrigée par

for(int j=i+1;j<=7;j++)