Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 74
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
il existe une variable
int Niveau = 0 ;
Pendant que le programme est en cours, il est en constante évolution. Aidez-moi à écrire une condition : si le niveau n'a PAS changé, alors ne faites rien. Si le niveau a changé (peu importe s'il a augmenté ou diminué), alors faites une action { opérateur }.
entrer une autre variable
int Niveau1 = 0 ;
int Niveau = 0 ;
si (Level !=Level1)
{} ;
et ensuite Niveau1 =Niveau
mais je ne comprends vraiment pas pourquoi nous avons besoin de tirer un tableau à chaque tick si nous pouvons le faire après chaque opération de transaction.
entrer une autre variable
int Niveau1 = 0 ;
int Niveau = 0 ;
si (Level !=Level1)
{} ;
et ensuite Niveau1 =Niveau
Je ne comprends pas vraiment pourquoi j'ai besoin d'extraire un tableau à chaque tick, si je peux le faire après chaque opération de transaction.
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
De plus, j'ai besoin que cela se produise lorsque SELL_Lvl augmente :
Mais, comme la conditionSELL_Lvl>0 est remplie, la ligne est à nouveau tracée, mais par une nouvelle valeur deSELL_NoLossLevel. Existe-t-il un moyen plus simple et plus évident de redessiner la ligne, en fonction deSELL_Lvl ?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
Je dois ensuite faire en sorte que la ligne se redessine lorsque SELL_Lvl augmente :
Mais puisque la conditionSELL_L_Lvl>0 est remplie, la ligne doit être redessinée à nouveau, mais à une nouvelle valeur deSELL_NoLossLevel. Existe-t-il un moyen plus simple et plus évident de redessiner la ligne, en fonction de la valeur deSELL_Lvl ?
Transférer l'objet à la nouvelle valeur sans le supprimer ni le recréer :
Transférer l'objet à la nouvelle valeur sans le supprimer ni le recréer :
C'est certainement une option, mais je voudrais que la ligne soit redessinée par la valeur deSELL_NoLossLevel selon queSELL_Lvla changé ou non.
comme ceci if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level") ;}
La ligne est redessinée à chaque tick alors que j'ai besoin qu'elle ne soit redessinée que siSELL_Lvl change.
Bien sûr, c'est une variante, mais je voudrais que la ligne soit redessinée parSELL_NoLossLevel selon queSELL_Lvl a changé ou non.
comme ceci if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level") ;}
La ligne est redessinée à chaque tick, alors que j'ai besoin qu'elle ne soit redessinée que siSELL_Lvl change.
Expliquez clairement la condition du redécoupage des lignes, avec des valeurs de prix réelles.
Pour la ligne en surbrillance : de combien a-t-elle changé ? Qu'est-ce qui indique le fait que SELL_Lvl a changé ?
je veux savoir quelle fonction utiliser pour fermer un ordre en attente dans mcl5.
Il est préférable de passer en revue, de déterminer le bon et par la documentation
Supprimer une commande en cours
Ordre commercial pour supprimer un ordre en attente. Il faut spécifier 2 champs :
Il est préférable de passer en revue, d'identifier le bon et de suivre la documentation .
Rédigez clairement les conditions du redécoupage des lignes, avec des valeurs de prix réelles, et vous comprendrez alors ce que vous devez faire.
Sur la mise en évidence : de combien a-t-elle changé ? Qu'est-ce qui indique le fait que SELL_Lvl a changé ?
Je sais comment trouver le prix d'une commande minimale, mais j'apprécierais que vous me disiez comment trouver un ticket de commande minimale.
Il existe un exemple dans la documentation.
Il serait probablement préférable de passer en revue les ordres dans la boucle et, à condition que l'ordre suivant soit inférieur au précédent, de le sélectionner pour continuer à travailler avec lui. Ainsi, lorsque nous sortons de la boucle, l'ordre à supprimer sera sélectionné.
Ou vous pouvez d'abord enregistrer sa position dans la liste des commandes dans la boucle et, après la sortie de la boucle, le sélectionner par l'index enregistré.