Questions des débutants MQL4 MT4 MetaTrader 4 - page 147
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
EA doit lire à partir d'un fichier un tableau de données sous la forme : date integer1 integer2 integer3 integer4, peut être de n'importe quel type de fichier, sauf bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
il est supprimé de ce dossier.
Voici le code.
pouvez-vous spécifier le chemin du dossier à partir duquel le fichier ne sera pas supprimé par le testeur ? J'ai compris que tous les fichiers sont supprimés de ce dossier pendant les tests, mais lorsque le fichier est créé par programme, il est placé dans ce dossier.
EA doit lire à partir d'un fichier un tableau de données sous la forme : date integer1 integer2 integer3 integer4, peut être de n'importe quel type de fichier, sauf bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
il est supprimé de ce dossier.
Voici le code.
Peut-être faut-il préciser le chemin du dossier à partir duquel le fichier ne sera pas supprimé par le testeur ? J'ai compris que tous les fichiers sont supprimés de ce dossier lors des tests, mais lors de la création programmatique d'un fichier, celui-ci est placé dans ce dossier.
Peut-être devrions-nous utiliser FileCopy avec le drapeau FILE_COMMON. Le nouveau test fonctionne à partir de zéro, cela pourrait être un problème.
Vous devriez peut-être utiliser FileCopy avec l'option FILE_COMMON. Le nouveau test fonctionne à partir de zéro, cela peut être un problème.
cela fonctionne si vous copiez le fichier dans un dossier pendant le test ))) maintenant pour trouver le délimiteur
J'ai commencé à écrire un panneau de trading en MQL4 et voici le paradoxe. Tout semble correct, mais chaque fois que je change de TF, les lignes et le texte des autres indicateurs sont dessinés au-dessus de mon panneau.
Voici ce que j'ai vérifié : lors de la modification du TF, le paramètre OBJPROP_BACK = false. Cela signifie que tout va bien de ce côté.Des idées sur ce sujet ?
P.S. En fait, je l'ai vérifié maintenant et le code source (que j'ai pris comme prototype) se comporte de la même manière. Après avoir modifié TF, il dessine des lignes normales au-dessus du panneau et des lignes créées par les indicateurs qui n'utilisent pas OOP.
https://www.mql5.com/ru/code/19220
J'ai commencé à écrire un panneau de trading en MQL4 et voici le paradoxe. Tout semble correct, mais chaque fois que je change de TF, les lignes et le texte des autres indicateurs sont dessinés au-dessus de mon panneau.
Voici ce que j'ai vérifié : lors de la modification du TF, le paramètre OBJPROP_BACK = false. Donc tout va bien de ce côté.Des idées sur ce sujet ?
P.S. En fait, je l'ai vérifié maintenant, le code source (que j'ai pris comme prototype) se comporte de la même façon. Après avoir modifié TF, il dessine des lignes normales au-dessus du panneau et des lignes créées par les indicateurs qui n'utilisent pas OOP.
https://www.mql5.com/ru/code/19220
Lorsque l'on change d'horizon temporel, les objets créés par d'autres programmes sont supprimés et de nouveaux sont créés immédiatement. Dans le panneau, les objets ne sont pas supprimés, ils sont donc "anciens". Sur le graphique, le principe "celui qui est le dernier est en haut" s'applique.
Vous devez supprimer les objets du panneau avec DeInit(), puis en créer de nouveaux.
J'ai commencé à écrire un panneau de trading en MQL4 et voici le paradoxe. Tout semble correct, mais chaque fois que je change de TF, les lignes et le texte des autres indicateurs sont dessinés au-dessus de mon panneau.
Voici ce que j'ai vérifié : lorsque le TF est modifié, le paramètre OBJPROP_BACK = false. Donc, tout va bien de ce côté.Des idées sur ce sujet ?
P.S. En fait, je l'ai vérifié maintenant, le code source (que j'ai pris comme prototype) se comporte de la même façon. Après avoir modifié TF, il dessine des lignes normales au-dessus du panneau et des lignes créées par les indicateurs qui n'utilisent pas OOP.
https://www.mql5.com/ru/code/19220
Lorsque l'on change d'horizon temporel, les objets créés par d'autres programmes sont supprimés et de nouveaux sont créés immédiatement. Dans le panneau, les objets ne sont pas supprimés, ils sont donc "anciens". Sur le graphique, le principe "celui qui est le dernier est en haut" s'applique.
Vous devez supprimer les objets du panneau à l'aide de la fonction DeInit(), puis en créer de nouveaux.
il est préférable d'attraper la création d'un nouvel objet dans les événements et de redessiner le panneau.
Lorsque vous changez d'heure, les objets créés par d'autres programmes sont supprimés et de nouveaux sont créés immédiatement. Dans le panneau, les objets ne sont pas supprimés, ils sont donc "anciens". Le principe du "dernier en haut est le dernier en haut" s'applique dans le graphique.
Vous devez supprimer les objets du panneau à l'aide de la fonction DeInit(), puis en créer de nouveaux.
Pouvez-vous m'en dire un peu plus sur la façon de le redessiner ?
il est préférable d'attraper la création d'un nouvel objet dans les événements et de redessiner le panneau.
ps. Je viens de me souvenir - vous devez également vérifier le nom de l'objet créé pour vous assurer qu'il ne s'agit pas de votre objet (préfixe le nom de vos objets).
ou au lieu du nom, comparez le type d'objet.
RSI3 = iRSI(_Symbol, _Period, RSIPeriod, PRICE_CLOSE, 1) ;
RSI4 = iRSI(_Symbol, _Period, RSIPeriod, PRICE_CLOSE, 2) ;
bool RSItf = RSI3 > 30 && 30 > RSI4 ;
if(RSItf == true)
{
}
else
{
ordersend(_Symbol, OP_SELL, lot, Bid, Slippage, 0, 0, NULL, Magic, 0, clrRed) ;
}
bool RSItf = RSI3 > 70 && 70> RSI4 ;
if(RSItf == true)
{
}
else
{
ordersend(_Symbol, OP_BUY, lot, Ask, Slippage, 0, 0, NULL, Magic, 0, clrBlue) ;
}
Citoyens, dites-moi si je le fais bien ! !! J'ai besoin que le conseiller expert négocie lorsque le prix n'est pas entré dans la zone 30 ou 70, et lorsqu'il l'est, il ne négocie pas ! Est-ce la bonne façon de procéder ?
C'est quelque chose comme ça, pour autant que je comprenne, vous avez besoin