[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 66
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Eh bien, oui... Alors comment se fait-il que je ne puisse pas assigner des valeurs à un tableau ? Je veux dire, j'ai déjà imprimé tout ce que je peux...
Les réservations de commandes...
J'ai donné un exemple de fonction utilisant un tableau dynamique (p.64).
dim=ArrayResize(Buy,Raz); - устанавливает размерность Raz для массива Buy. Только после этого можно что-то запомнить в элементе массива с номером Raz-1
Aide pour refaire à la fermeture du bar
Fermer les positions au prix du marché
//| Paramètres :|
//| sy - nom de l'instrument (" - tout symbole,|//|NULL - symbole actuel)|
//| op - opération(-1 - toute position) |
//||mn - MagicNumber (-1 - toute magie)|
//+----------------------------------------------------------------------------+
void ClosePositions(string sy="", int op=0, int mn=-1) {
if(last>=Time[0]) return ; // si l'heure de la barre a déjà été vérifiée, alors quittez immédiatement, c.-à-d.c'est-à-dire attendre la nouvelle barre
last=Time[0] ; //
int i, k=OrdersTotal() ;
if (sy=="0") sy=Symbol() ;
for (i=k-1 ; i>=0 ; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) ClosePosBySelect() ;
}
}
}
}
}
Vous ne devez pas retravailler les fonctions de quelqu'un d'autre - Kim les a bien faites. Il suffit de les utiliser correctement.
Comment savez-vous que le bar a déjà été fermé avant qu'un nouveau ne s'ouvre ? Vous devez donc appeler la fonction pour clôturer l'ordre lorsque la nouvelle barre commence à se former. La manière de détecter ce moment a été montrée à de nombreuses reprises : dans le tutoriel, dans la FAQ et sur le forum. Lis quelque chose, s'il te plaît.
Tout d'abord, il est tout à fait réaliste d'entasser 6 gigas en dix minutes. Vous obtenez une empreinte pour chaque tique, pourquoi en avez-vous besoin ?
Et deuxièmement, tu es sûr que ça change ?
Il faudrait utiliser une sorte de sémaphore pour qu'il s'imprime une fois...
quelque part comme ceci....merci les gars pour votre aide, mais je n'ai pas pu trouver ce dont il a besoin. la boucle s'accroche, crache sur les conditions, "raccroche" l'ordinateur et charge des gigaoctets de logs.....
a dû être amputé !
Je l'ai remplacé par une série de "si"... et j'ai mis des drapeaux là où c'était nécessaire... ...et ça a marché. Le code est juste devenu plus long et plus moche...
au revoir pendant le fonctionnement. Nous ne nous reverrons plus jamais !
:))))
adieu à la fonction "while". Nous ne nous reverrons plus jamais !
Et, de manière générale, un programme n'est pas un programme sans boucles.
Écrivez un fragment qui fonctionne.
Je veux vous rendre votre foi en cet opérateur.