Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 714
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
Bonjour à tous, j'ai déjà posé une question similaire à la page 711, malheureusement personne n'a répondu, peut-être que maintenant quelqu'un...
Je fais ça :
J'amène la situation en position cumulée zéro (verrouillage), puis je ferme le verrou.
Maintenant, le détail.
1. Calcul de la position globale :
Inverser les ordres
Si nous achetons, notre position globale est augmentée du lot de l'ordre.
En cas de vente, la position globale est réduite du lot de l'ordre.
Fin du cycle de recherche des commandes
2. Créer un emplacement :
si la position globale est supérieure à zéro, nous vendons ;
si la position globale est inférieure à zéro, nous achetons ;
Sinon, nous ne faisons rien.
La taille du lot est égale à la position globale.
3. Fermer beaucoup (positions chevauchées)
Boucle sans fin ( while (true) )
Remettre à zéro les ticks des ordres d'achat et de vente.
boucle sur les commandes
if (buy) valider le ticket pour un ordre d'achat
if (sell) valider le ticket d'ordre de vente
fermer la boucle de la commande
si( il y a une vente et un achat) alors un cross-close
sinon, sortir de la boucle sans fin (break)
fin de la boucle infinie
Maintenant nous programmons cet algorithme dans le langage choisi (MQL4)
les gars, dites-moi si je fixe une heure de clôture pour un ordre en attente
Data_1=iTime(Symbol(),PERIOD_D1,0) +86400 ; //le temps de vie de la commande
si elle est déjà sur le marché (c'est-à-dire qu'elle a déjà été exécutée), elle sera fermée ou non.
les gars, dites-moi si je fixe une heure de clôture pour un ordre en attente
Data_1=iTime(Symbol(),PERIOD_D1,0) +86400 ; //le temps de vie de la commande
si elle est déjà sur le marché (c'est-à-dire qu'elle a déjà été exécutée), elle sera fermée ou non.
pas de
Bonjour à tous, je n'ai jamais travaillé avec des opérations de fichiers mais j'ai dû le faire et je n'arrive pas à comprendre.
La tâche consiste à écrire des données dans un fichier csv plusieurs fois par jour.
C'est-à-dire qu'aujourd'hui 24.09.2014 les données sont écrites dans une ligne dans différentes cellules du type
A B C
1 Date | valeur | valeur
si les données d'aujourd'hui ont changé, nous écrasons la ligne du 24.09.2014.
si c'est un nouveau jour, nous réécrivons la nouvelle ligne.
Je suis en train de fumer et je ne peux pas...
Bonjour à tous, je n'ai jamais travaillé avec des opérations de fichiers mais j'ai dû le faire et je n'arrive pas à comprendre.
La tâche consiste à écrire des données dans un fichier csv plusieurs fois par jour.
C'est-à-dire qu'aujourd'hui 24.09.2014 les données sont écrites dans une ligne dans différentes cellules du type
A B C
1 Date | valeur | valeur
si les données d'aujourd'hui ont changé, nous écrasons la ligne du 24.09.2014.
si c'est un nouveau jour, nous réécrivons la nouvelle ligne.
Je suis en train de fumer et je ne peux pas...
Probablement quelque chose comme ça.
et comment réécrire la dernière ligne si les données ont changé ?
comment réécrire la dernière ligne si les données ont changé ?
FileSeek(), aide.
Si les données ont changé, nous devrions mettre le pointeur à l'endroit où nous allons l'écraser avec fileseek, l'écraser avec la méthode standard filewrite..., se souvenir de la fin du fichier et le couper avec la fonction WinApi
Ou bien, en utilisant la méthode standard, écrire la position à la fin du fichier, là où l'information utile se termine, et ensuite lire cette position. (Vous pouvez écrire la position dans un autre fichier).
Mais de toute façon, il vaut mieux le tailler, et il n'y a pas d'outil de taille standard ((
c'estZhunko12.09.2014 20:19#
Ce serait intéressant en tant que fonctions WinApi