Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 248
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
Pourquoi lisez-vous à partir d'un fichier ? Vous avez le fichier entier dans la variable ReadCBOE, vous pouvez l'utiliser,
Pas de problème avec ça, mais toute la ligne ne rentre pas dans la variable ! MT a ses propres restrictions sur la longueur de la ligne, alors que le fichier est écrit à l'info du site, et le fichier se termine </body></html> alors que la ligne - s'interrompt à 65k caractères (environ). Dans tous les cas, la taille finale du fichier est de 69KB.
Lire l'article. En fait, il n'y a aucun moyen dans la nature de lire une ligne donnée d'un fichier, vous devez lire toutes les lignes jusqu'à une ligne donnée... L'article contient une fonction permettant de lire un fichier texte ligne par ligne.
Wow, merci, je ne l'ai pas trouvé moi-même, j'aurais dû chercher par balise HTML.
C'est comme ça que ça marche. Je l'ai vérifié.
Quoi qu'il en soit, il y a une erreur, et la voici :
Tu es une héroïne, Junko, qui répare silencieusement le code et... comme si c'était ce qui s'était passé. Vous allez me dire que c'était comme ça, et que je ne le suis pas ? Ah oui ?
Réparé quoi ? Vérification de NULL ? C'est bien. Qu'est-ce qu'il y a ? Si je trouve une erreur, je la répare.
Tu ne le répares pas. J'ai vu ça. Même quand tu l'as fait remarquer, tu ne l'as pas corrigé. Vous aimez faire des erreurs et ne pas les corriger ? Et tu t'en vantes ?
=============
Je suis excusé. Je n'écris presque jamais en MQL4. J'ai écrit tout ce dont j'ai besoin. Je ne travaille pas avec des descripteurs et des erreurs. Ils ont été écrits il y a longtemps, encapsulés et oubliés.
En C++, les descripteurs sont généralement comparés à NULL.
De toute façon, il y a une erreur, et ici c'est
Écrivez autre chose, ou supprimez le fichier, ou mettez un drapeau d'écriture seule dessus.
Réparé quoi ? Vérification de NULL ? C'est bien. Qu'est-ce qu'il y a ? Si je trouve une erreur, je la répare.
Tu ne le répares pas. J'ai vu ça. Même quand tu l'as fait remarquer, tu ne l'as pas corrigé. Vous aimez faire des erreurs et ne pas les corriger ? Et tu t'en vantes ?
=============
Je suis excusé. Je n'écris presque jamais en MQL4. J'ai écrit tout ce dont j'ai besoin. Je ne travaille pas avec des descripteurs et des erreurs. Ils ont été écrits il y a longtemps, encapsulés et oubliés.
En C++, les descripteurs sont généralement comparés à NULL.
Ce n'est pas le cas. Ça marche. C'est juste que ce code n'écrase pas le fichier. Vous regardez un fichier qui a déjà été écrit. Ça n'a pas l'air de fonctionner. En fait, il a été écrit là où il devait l'être, mais la suite de la ligne est toujours l'ancienne.Écrivez autre chose, ou supprimez un fichier ou définissez un drapeau d'écriture seule.
Oui, ça marche... Merci.
extern int OpenMM = 25; // Время открытия ордеров (минуты).
extern int CloseHH = 23; // Время закрытие/удаление ордеров (часы).
extern int CloseMM = 45; // Время закрытие/удаление ордеров (минуты).
Cette partie du code fonctionne et ne fait l'objet d'aucune plainte. Les commandes sont passées le vendredi à 23 h 45, heure de clôture normale. La fonction DeleteOrders() fonctionne bien.
if (!IsTradeAllowed()) return(0); // Пропустить тик, если терминал занят.
if (Close_All_Orders) // Разрешение на закрытие ордеров.
if (DayOfWeek() >= 5 && // Если пятница и закрытие ордеров разрешено, то
TimeHour(TimeCurrent()) >= CloseHH && // в назначенный час
TimeMinute(TimeCurrent()) >= CloseMM ) // в назначенные минуты -
{ DeleteOrders(); return(0); } // все ордера закрываются.
Le code pour l'ouverture des commandes se fait par analogie. Le code ne fonctionne pas du tout dans la forme spécifiée.
Cependant, si nous supprimons ou commentons la ligne avec les minutes, tout fonctionne bien et les ordres s'ouvrent à 14h00. La fonction OpenOrders() fonctionne bien.
Quel peut être le problème dans cette ligne de code (ou une autre) : TimeMinute(TimeCurrent()) >= OpenMM ?
if (TimeHour(TimeCurrent()) >= OpenHH && // В назначенный час,
TimeMinute(TimeCurrent()) >= OpenMM ) // в назначенные минуты -
{ OpenOrders(); return(0); } // открыть ордера.
PS : En fait, il y a pas mal d'EA sur Internet qui ouvrent et ferment des ordres en fonction du temps. Mais, pour une raison ou une autre, ils peuvent ne pas être satisfaisants. Je voudrais traiter l'erreur ci-dessus...
Merci...
Bon après-midi. Aidez-moi à résoudre cette erreur.
Tout semble être correct, cela devrait fonctionner. J'ai essayé votre code dans le mien - il fonctionne avec des minutes. Mais seulement de 14 h 25 à 14 h 59, de 15 h 25 à 15 h 59, etc.
C'est peut-être mieux.