Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 125
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
Je l'aurais fait de cette façon :
P.S. Répondu en même temps))))
Je ne comprends pas :
si ouvert sur la première barre, en regardant de zéro à zéro ?
Je ne comprends pas :
si elle est ouverte sur la première barre, est-ce qu'on regarde de zéro à zéro ?
Il s'agit d'une petite couverture dans le cas où le prix d'ouverture de l'ordre est déjà nettement supérieur au Low au moment de l'ouverture. C'est-à-dire que nous n'utilisons pas la barre d'ouverture pour la recherche. C'est à cela que sert PERIOD_M1.
Je le ferais différemment. En général, je ne commencerais à chercher que lorsque la position a duré plus d'une mesure. Après tout, le meilleur prix peut se trouver juste sur le bar d'ouverture, et nous allons le gaspiller...
Je suis d'accord. Il serait probablement plus efficace de se souvenir du prix minimum (ou maximum) pour chaque ordre ouvert dans le tableau à chaque tick, et de fermer les ordres lorsque la condition est atteinte, plutôt que de rechercher à nouveau le minimum à partir du moment où l'ordre a été ouvert, pour ainsi dire :
Et en cas de problèmes tels que la perte de connexion, le redémarrage du conseiller, etc., nous devrions modifier de temps en temps le stoploss aux ordres.J'ai fait valoir que le tableau doit être passé ici par référence. Sinon, la fonction devra travailler avec un seul tableau strictement défini. Même si vous l'avez défini globalement.
Hmm. Cela dépend du tableau qui est passé à la fonction appelante. Si c'est un tableau spécifique, alors la fonction appelée fonctionnera avec lui... Parce que c'est...
Si, par exemple,
En l'appelant de cette façon :
Il fonctionne avec le tableau OrdersMassive.
Et donc :
Avec le tableau massiveOfOrders.
Pouvez-vous me dire comment connaître la taille du spread, au moment de l'ouverture d'une transaction, ou, mieux, comment l'afficher dans le journal ?
Si (spread) == une certaine valeur, alors... faites quelque chose... (Par exemple, ouvrir un ordre ou imprimer sa valeur dans le journal). Ou vice versa, s'il n'est pas égal ou supérieur (inférieur) à une certaine valeur, alors nous l'affichons dans le journal et faisons quelque chose. Vous pouvez faire ce que vous voulez.
Je vais répéter la question que j'ai posée hier. Je ne veux pas le poster dans un fil séparé. Si quelque chose n'est pas clair, je répondrai à toutes les questions.
J'ai toujours du mal à fermer les positions requises. La situation est la suivante :
1) La fermeture des postes fait l'objet d'un suivi.
2. Dès que la dernière position a été fermée à la ligne de prise... ...toutes les positions ouvertes et en attente doivent être fermées immédiatement. Tout est fermé et trié par lots, c'est-à-dire les grands lots d'un coup, puis les plus petits. Il s'agit uniquement d'acquérir de l'expérience en matière de commandes.
La mise en œuvre est la suivante :
Dans start() à chaque tick :
Nous sommes intéressés par la clôture des ordres de marché puisque l'ordre en attente est supprimé au besoin. Voici ce que nous avons :
Pour une raison quelconque, certaines des commandes ne sont pas fermées. J'imprime certains segments quand je les vois, je ne comprends rien. Voici un exemple :
Dans le commentaire, vous pouvez voir que lastOOTHist = 01:30:00, bien que cela ne soit pas réellement correct. Si nous vérifions lastOOTHist dans la fenêtre des résultats, nous verrons que
leurs heures de fermeture sont différentes...
Qu'est-ce qui ne va pas ici ?
Hmm. Cela dépend du tableau qui est passé à la fonction appelante. Si c'est un tableau spécifique, alors la fonction appelée fonctionnera avec lui... Parce que c'est...
Si, par exemple,
En l'appelant de cette façon :
Il fonctionne avec le tableau OrdersMassive
Et donc :
Avec le tableau massiveOfOrders.
Lorsque vous passez une variable (tableau) à une fonction par valeur, une variable locale est créée dans la fonction et vous la déclarez dans l'en-tête : maFonction(int ma_var). De cette façon, les changements de cette variable ne peuvent pas être vus en dehors de la fonction. Et dans le cas d'un tableau, le compilateur vous le rappellera.
Si vous voulez que les changements de la valeur de la variable soient visibles à l'extérieur (en dehors de la fonction), passez les variables par référence : myFunct(int & my_var)
Cela dépend du tableau qui est passé à la fonction appelante. S'il y a un certain tableau, alors la fonction appelée fonctionnera avec lui... C'est comme ça...
Si, par exemple,
En l'appelant comme ça :
Il fonctionne avec le tableau OrdersMassive
Et par là :
Avec le tableau massiveOfOrders