[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 - 2. - page 178

 
unnnamed:

Merci Eddie, mais ce n'est pas ça.

Pourquoi pas ? Créez ces objets sur un graphique et placez-les sur tous les autres.

sans nom:
J'ai besoin d'un indicateur qui affiche les informations saisies sur tous les graphiques. Par exemple, je sélectionne "AUDUSD - up, GBPUSD - down" dans la fenêtre graphique et NZDUSD (l'indicateur est affiché dessus) sera automatiquement mis à jour sous forme d'icônes et de texte en mode temps réel. Est-il possible de faire une telle chose et dans quelle direction commencer à chercher ?

Vous pouvez le faire ici, et je peux le faire moi-même.

 
Roman.:


Solution :

Pour acheter (vendre - par analogie) :

1. fracture MA - obtenir les valeurs MA sur les barres 3, 2 et 1 - comparer. Si les valeurs MA sur les barres 3>2 et 2<1, c'est un break.

2. ensuite - fractale - pénétration - un signal pour conclure un marché

3 En ce qui concerne l'énumération des MA - placez-la dans des variables externes (optimisables) :

Period_MA (vous pouvez définir de 2 à 240 avec l'étape 2), MODE - (méthode de calcul de la MA - gamme de changements de 0 à 3 étape 1), PRICE_TYPE - (constante de prix - gamme de changements de 0 à 6 étape 1), J'ai entendu dire que lorsque l'on travaille dans la journée la MA compte sur les valeurs moyennes (le prix de clôture n'est pas important), lorsque l'on travaille sur les bougies journalières la MA compte sur les prix de clôture des jours.

PÉRIODE - vous le modifiez manuellement à chaque optimisation ultérieure - 1,5,15,30,60,240...

Appuyez sur F1 sur l'iMA - relisez attentivement tout ce qui s'y trouve.

Et bien sûr, optimisez le TP et le Stop Loss comme d'habitude.

P.S. N'oubliez pas d'écrire une information sur les résultats du test... :-)))

J'ai testé tous les TFs de M1 à H1 avec l'optimisation de toutes les MA jusqu'à la période = 120. Le résultat est que cette stratégie n'est pas rentable. La meilleure variante était à H1 avec une optimisation pendant 16 jours et des tests pendant les 3 jours suivants. Mais à la fin, cette variante donne aussi des pertes.
 
unnnamed:

Merci Eddie, mais ce n'est pas ça. J'ai relu mon message et j'ai compris qu'il était trompeur. J'ai joint une photo, il y a une description plus détaillée.

Je pense que c'est faisable avec les classes mt5... il y a plus de fonctions
 
eddy:

Soyez plus précis.

un tableau sont des variables avec le même nom mais un nombre différent

Par exemple il y a un drapeau, il peut être écrit manuellement if (!A ) then ClsB[3] =true.

Je n'arrive pas à trouver comment faire en sorte que i prenne la valeur 3 automatiquement, c'est pourquoi je demande un exemple. Dans le tutoriel, comme il est là avec un tableau prédéfini Open[i] - n'est pas tout à fait clair, au moins pour moi ! Je pense que tous les génies de la programmation ont commencé quelque part et ne sont pas nés avec une calculatrice dans leur cordon ombilical...

if (Cls_B[i]||Cls_S[i]) LotCt=NormalizeLot(OrderLots()/(4-i)); 
 

Qu'entendez-vous par "automatique" ? La programmation est une automatisation. Si i n'est pas réglé par un paramètre externe, il est réglé automatiquement.

Quelle valeur de i voulez-vous ?

 
volshebnik:
Testé toutes les TFs de M1 à H1 avec optimisation de toutes les MAs jusqu'à la période = 120. Résultat : cette stratégie n'est pas rentable. La meilleure variante était à H1 avec une optimisation pendant 16 jours et des tests pendant les 3 jours suivants. Mais au final, cette variante donne également une perte.


Qui pourrait en douter... Tout aurait dû être clair comme le jour, à mon avis. :-)))

Je vous ai aidé dans vos recherches pour arriver à CETTE solution.

 
eddy:

Qu'entendez-vous par "automatique" ? La programmation est une automatisation. Si i n'est pas réglé par un paramètre externe, il est réglé automatiquement.

Quelle valeur de i voulez-vous ?

Pour résoudre ce problème joliment :
if (Cls_1) LotCt=NormalizeLot(OrderLots()/4); 
             else if (Cls_2) LotCt=NormalizeLot(OrderLots()/3);
                  else if (Cls_3) LotCt=NormalizeLot(OrderLots()/2);  
Sous la forme de. Cela peut être simple... Mais je continue à obtenir une erreur
if (Cls_[i]) LotCt=NormalizeLot(OrderLots()/(4-i)); 
 
100yan:
Pour résoudre ce problème à merveille :
Sous la forme de. Cela peut être simple... Mais je continue à avoir une erreur.
Formulez la condition en mots, aidez.
 
100yan:
Pour résoudre ce problème joliment :
Sous la forme de. Ça peut être simple... Mais je continue à avoir une erreur.

1) la manière dont vous avez configuré le tableau Cls_.

2) En principe, pourquoi en avez-vous besoin dans ce problème ? Il suffit de sauvegarder 1/2/3 dans Cls_ et d'écrire :

 LotCt=NormalizeLot(OrderLots()/(4-Cls_)); 
 
Bonjour ! Si dans un indicateur situé sur une certaine paire, disons Eurodollar, j'écris Buffer1[0]=Close[i], j'obtiens le prix de cette paire. Mais si je veux partager avec Close[i] une autre paire, disons GBPdollar ?
Raison: