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

 
fore-x:

Veuillez indiquer comment apprendre au programme à se souvenir des dernières variables utilisées. Je dois me souvenir du symbole, de l'intervalle de temps, de la case, de l'inverse, de la largeur et du nombre de barres. Une fois les paramètres sélectionnés par un utilisateur, ils seraient enregistrés quelque part et par la suite, si les paramètres sont enregistrés quelque part, ils seraient chargés à partir de là. Que faut-il utiliser, que faut-il faire ?

Appuyez sur F7

Cela ouvrira les propriétés de l'EA.

Dans l'onglet "Paramètres d'entrée", appuyez sur le bouton "Enregistrer".

Vous pouvez charger les paramètres enregistrés de la même manière.

 

Une image (avec l'algorithme) ne tient pas, alors je l'ai jointe.

Voici l'essentiel. (1) L'EA doit ouvrir un ordre et définir s\l, t\p, lot. (2) Ensuite, s'il y a eu un profit dans la transaction, il la répète simplement.(3) S'il y a une perte, il change certaines valeurs et un nouvel ordre avec elles, et ainsi de suite, jusqu'à ce qu'il y ait une transaction profitable. (4) Ensuite, il restaure les valeurs initiales du point 1 et répète tout. Il n'est pas possible d'organiser un cycle (point 3) et d'en sortir s'il y a eu un profit dans la transaction, et de restaurer les paramètres initiaux après en être sorti.

 
enya:

Aide avec quelques fonctions. L'image (avec l'algorithme) n'est pas insérée, donc je l'ai jointe.

il semble que vous ne les ayez pas attachés.

Mais en fait, ce fil de discussion est destiné aux programmeurs novices, pas aux traders novices.

C'est ici que vous discutez des erreurs dans le code.

Avez-vous au moins une ébauche de code de votre algorithme ?

 
sergeev:
il semble que vous ne les ayez pas attachés.

.

il y a un problème avec la boucle et le rétablissement des valeurs initiales après la sortie de la boucle.

 
Quel genre de plan peut-il y avoir ? 10 lignes. La question est "à quoi ressemble le Do while de VB et comment mettre la valeur du bénéfice (résultat) de la dernière commande dans une variable" ?
 
Veuillez me conseiller sur la manière de me débarrasser de l'erreur " symbol name for MarketInfo function must be a string".
 
enya:
La question est "à quoi ressemble l'analogique Do while de VB et comment puis-je mettre la valeur de profit (résultat) de la dernière commande dans une variable ?

Lisez d'abord le tutoriel https://book.mql4.com/ru/

Il n'existe pas d'analogue complet de la boucle do avec des vérifications avant et après, mais il existe un while normal (la vérification après peut être représentée par for).

Les programmes ne sont pas exactement linéaires, il est plus facile de se concentrer sur les événements, plutôt que de faire tourner en boucle la procédure de démarrage.

Voici un schéma approximatif,

1. mettre SL, TP...

2. vérifier le nombre d'ordres ouverts, s'il y en a moins d'un, un nouvel ordre est ouvert.

La logique du schéma fonctionnel souffre encore, il y a beaucoup de questions auxquelles il ne répond pas. Par exemple, que se passera-t-il si plusieurs EA sont lancés, ou que se passera-t-il si nous redémarrons l'EA avant de fermer un ordre, etc.

 
dofer-dert:
Veuillez me conseiller sur la manière de me débarrasser de l'erreur " symbol name for MarketInfo function must be a string".

La fonction MarketInfo a besoin d'une chaîne de caractères comme nom d'outil. Veuillez fournir une chaîne pour l'utiliser.
 

qu'est-ce qui pourrait ne pas aller avec ça

ici dans le code

{

si (lot1 < MarketInfo(NULL,MODE_MINLOT)) {lot1=MarketInfo(NULL,MODE_MINLOT);lot2=lot1*2;lot3=lot1*3;lot4=lot1*4;lot5=lot1*5;

}

ou ici

STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL) ;

 
 MarketInfo(Symbol(),MODE_MINLOT)