[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 317
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Pourquoi l'option la plus simple ne vous suffit-elle pas ?
Je suppose que parfois il faut regarder un problème sous un angle différent. Bien, merci.
hoz, à je me demandais comment raccourcir encore plus le si.Regardez : si on met une variable
on a cnt=cnt+step, où
Mais 1=cnt/cnt, a -cnt=cnt/(-1), la seule différence est le dénominateur. Rappelons maintenant que x^0=1, x^1=x, c'est-à-dire que nous pouvons mettre notre variable booléenne _if dans l'exposant, c'est-à-direstep=cnt/a*(cnt^_if); où
Mais ±a est supposé être 2*_if-1, c'est à dire
Ou nous simplifions
Wow, vous avez simplifié les choses. Je ne comprends pas votre logique.
J'ai pensé que nous allions descendre à si... :-)))
J'ai aussi compris que je ne comprenais rien. Pas même ces icônes que je ne comprends pas... :)
Les barres d'un seul signe sont en hausse, c'est-à-dire haussières.
Comment faire en sorte que lorsqu'un paramètre de tendance est passé à cette fonction, qui sera responsable du transfert de la tendance principale supposée du moment, le calcul soit basé sur ce paramètre.
C'est-à-dire que si la tendance == baisse, la fonction dans la boucle était comme maintenant, et sila tendance == hausse, l' Open[i ] et le Close[i] étaient échangés dans la boucle, de sorte que les conditions étaient respectées. Dans ce cas, le prix de clôture de la barre sera inférieur au prix d'ouverture et la différence sera négative.
Ou pour simplifier encore plus
Δ est la différence, c'est-à-direClose[i] - Open[i], ^ est le signe de puissance. const - constante dans cette expression, c'est-à-direi_sizeOfSequentialCorrectionBar * pt, notation mathématique standard, je n'ai rien inventé. 2*bVar-1 est similaire à±1, bVar étant ici une variable bool. Et l'expression 2*bVar-1 prend les valeurs non pas 0 et 1, mais -1 et +1.≥ est MQL4 >=, également une notation mathématique standard.step est un pas, c'est-à-dire que dans cnt++ le pas est 1, et dans cnt=0 le pas est -cnt. Quoi d'autre n'était pas clair dans les notations ?
Comment puis-je suggérer - comment faire pour que MT4 supprime automatiquement les logs gratuits (ou ne les crée pas du tout) ? Je dois utiliser des sociétés de courtage à 5 chiffres, ces journaux commencent à grossir en un jour (de 1,6 gb), et la place sur le serveur virtuel est limitée. Merci d'avance.
Vous pouvez le faire vous-même :
Bibliothèque 1, bibliothèque 2.
==============
Bien que le dernier fichier (courant) soit ouvert par le terminal. Il n'est pas facile de le supprimer. Mais vous pouvez supprimer le contenu, qui est écrit au début.
La création de journaux n'est pas désactivée.
==============
1. Créez un lien symbolique (library1) vers le dossier logs dans le dossier files.
2. Supprimez tous les fichiers inutiles à l'aide des outils MQL4.
Ouvrez le fichier actuel en utilisant MQL4. Modifiez-le selon vos besoins.
4. Fermez le dossier.
5. Vous pouvez supprimer le lien. Vous n'êtes pas obligé de le faire. Ce sera utile plus tard.
==============
Vous pouvez également créer un fichier script (BAT) et l'exécuter dans le conseiller expert. Le script est le même que ci-dessus. Seulement sans créer de lien. Travailler avec des fichiers, bien sûr, en utilisant les outils Windows.
Comment puis-je conseiller de supprimer automatiquement les journaux gratuits (ou de ne pas les créer du tout) ?
Parce que sur certains DCs à 5 chiffres, ces logs pour une journée atteignent une taille effrayante (de 1.6 gb), et l'espace sur le vps est limité. Merci d'avance.
des journaux quoi ?
Quelle est l'erreur ?
Bonjour ! J'ai besoin d'aide pour affiner mon robot primitif. Pour commencer, je vais vous expliquer ma stratégie simple qui permet de savoir plus clairement où l'aide est nécessaire et dans quel but.
L'essence de TS :
1. Si le prix d'ouverture est inférieur à la MA et que le prix de clôture est supérieur, nous achetons.
2. Si le prix d'ouverture est supérieur à la MA et que le prix de clôture est inférieur, nous devons vendre.
Si le prix s'est écarté de X% du prix le plus favorable, alors nous fermons l'ordre. Ceci est similaire à un stop suiveur mais au lieu de pips X% de la distance d'ouverture de l'ordre et du meilleur prix. Comme indiqué sur la photo :
AB - distance entre l'ouverture de l'ordre et le prix le plus favorable ; BC=X% de AB ; C - clôture de l'ordre.
J'ai écrit les points 1 et 2 dans le programme :
De manière générale, j'ai besoin d'aide pour écrire une fonction de clôture des ordres pour mon TS (point 3) et pour adapter le code existant à la fonction.
P.S. Et je sais que le TS n'est pas bon.
Ou simplifier encore plus.
Ici, Δ signifie la différence, c'est-à-dire queClose[i] est Open[i], et ^ est un signe de degré. const - constante dans cette expression, c'est-à-direi_sizeOfSequentialCorrectionBar * pt, notation mathématique standard, je n'ai rien invent é.2*bVar-1 est similaire à±1, bVar étant ici une variable bool. Et l'expression 2*bVar-1 prend les valeurs non pas 0 et 1, mais -1 et +1.≥ est MQL4 >=, également une notation mathématique standard.step est un pas, c'est-à-dire que step est égal à 1 dans cnt++, et step est égal à -cnt dans cnt=0. Quoi d'autre n'était pas clair dans les notations ?
gyfto, merci pour l'explication. Mais il y a un point. De toute façon, nous ne pouvons pas résoudre le problème en changeant le chiffre de sortie de l'expression. À l'heure actuelle, lorsque la mise à zéro se produit, les prix d'ouverture et de clôture doivent être "échangés". C'est-à-dire qu'à mon sens, l'universalité ne peut être atteinte. C'est ce que je me suis demandé.
Vadim a écrit il y a quelque temps que mettre une fonction à l'intérieur de la boucle ralentit le code d'un ordre de grandeur. Je me demande si cela s'applique uniquement aux cas où une fonction calcule ses valeurs à chaque itération de la boucle ou à tout autre cas ? Par exemple, jusqu'à ce que je finisse d'écrire l'Expert Advisor, j'ai réécrit la fonction que j'essayais de simplifier en utilisant le schéma suivant:
J'ai fait en sorte que les compteurscntUp etcntDn soient différents, car ils peuventavoir une valeur à la fois, puis une autre lorsque les barres de calcul sont utilisées dans un cycle.Et le compteur peut additionner une valeur et continuer à additionner une autre valeur. Et si la variable est la même, le nombre de barres d'une caractéristique sera ajouté au compteur de barres d'une autre caractéristique.
C'est là que le conseil est nécessaire, peut-être est-il préférable de résumer d'une autre manière ?
Le problème est que le conseiller expert n'est pas encore très important. J'ai les wagons et cette fonction. J'ai l'impression qu'au lieu d'être longue, la chouette vend et vice versa. J'essaie de comprendre comment cela peut se produire. Peut-être qu'il y a un problème ici ?