en général, c'est https://www.mql5.com/ru/docs/dateandtime/timetostruct
Merci beaucoup pour ces informations précieuses.
Je comprends ce qu'est la structure et comment elle fonctionne, mais je n'ai pas encore compris tous les détails.
Je n'ai pas encore pleinement saisi les subtilités qui y sont associées. J'apprends beaucoup mieux la nouvelle matière grâce à des exemples clairs. Je vous serais très reconnaissant si vous pouviez me montrer comment écrire le code de la condition suivante dans mql5 J'ai déjà appris comment ouvrir un ordre en utilisant la structure
si(Hour()==10)
pour ouvrir une commande.
Vous n'avez pas besoin d'écrire le motif pour ouvrir la commande..... seulement l'écriture de la condition.
Je comprends ce qu'est la structure et comment elle fonctionne, mais je n'ai pas encore saisi les tenants et les aboutissants...
J'apprends mieux les nouvelles matières avec des exemples. J'apprends beaucoup mieux la nouvelle matière grâce à des exemples clairs. Je vous serais très reconnaissant si vous pouviez me montrer comment écrire le code de la condition suivante dans mql5 J'ai appris à ouvrir un ordre en utilisant la structure
si(Hour()==10)
pour ouvrir une commande.
Vous n'avez pas besoin d'écrire le motif pour ouvrir la commande..... Juste un enregistrement de l'état.
Bonjour à tous ! J'essaie de passer de mql4 à mql5. J'ai créé un code simple qui ouvre les commandes pour les tester. Dans le testeur, mon EA ouvre des ordres. J'ai placé la fonction Print() au début de la fonction void OnTick() et mon Expert Advisor entrerait dans cette fonction à chaque tick et l'imprimerait à chaque tick du journal. Et au cinquième passage, le conseiller expert ne saisit aucune des fonctions Print() et n'imprime rien dans le journal des immatriculations. La visualisation et l'optimisation sont désactivées dans Expert Advisor. Veuillez me conseiller sur la manière de modifier le code afin que Print() soit imprimé dans le journal à chaque tick, comme dans l'exemple 4. Merci d'avance à ceux qui m'aideront.
Voici mon code
inputint StopLoss=30; // Stop Lossinputint TakeProfit=100; // Take Profitinputdouble Lot=0.1; // Количество лотов для торговлиint A; ////+------------------------------------------------------------------+voidOnTick()
{
Print( "====================================================", TimeCurrent() ) ;
//--- Объявляем структуры, которые будут использоваться для торговлиMqlTick latest_price; // Будет использоваться для текущих котировокMqlTradeRequest mrequest; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult; // Будет использоваться для получения результатов выполнения торговых запросовif(!SymbolInfoTick(_Symbol,latest_price))
{
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена Bid
mrequest.sl = NormalizeDouble(latest_price.ask + StopLoss*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask - TakeProfit*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type= ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend(mrequest,mresult);
}
return;
}
J'ai augmenté le dépôt de l'EA jusqu'à 100 000. Par conséquent, à chaque tick, Print() est imprimé dans le journal..... Mais pas une seule transaction n'a été ouverte.
Mais j'ai besoin qu'il ouvre des offres et que Print() soit imprimé.
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
Bonjour à tous ! J'essaie de passer de mql4 à mql5. J'ai créé un code simple qui ouvre les commandes pour les tester. Dans le testeur, mon EA ouvre des ordres. J'ai placé la fonction Print() au début de la fonction void OnTick() et mon Expert Advisor entrerait dans cette fonction à chaque tick et l'imprimerait à chaque tick du journal. Et au cinquième passage, le conseiller expert ne saisit aucune des fonctions Print() et n'imprime rien dans le journal des immatriculations. La visualisation et l'optimisation sont désactivées dans Expert Advisor. Veuillez me conseiller sur la manière de modifier le code afin que Print() soit imprimé dans le journal à chaque tick, comme dans l'exemple 4. Merci d'avance à ceux qui m'aideront.
Voici mon code
J'ai augmenté le dépôt de l'EA jusqu'à 100 000. En conséquence, à chaque tick, Print() est imprimé dans le journal..... Mais pas une seule transaction n'a été ouverte.
Mais j'ai besoin que les transactions soient ouvertes et que Print() soit imprimé.
Regardez les journaux, regardez ce qui est imprimé, les informations y sont saisies à chaque étape. Très probablement, quelque chose ne va pas avec l'ouverture des ordres et l'EA ne fonctionne pas.
je pense qu'il est possible de l'utiliser aussi 100500 fois par tick, car la sortie sera augmentée des millions de fois par seconde
plus il y a de symboles dans la fenêtre de surveillance du marché, plus la charge du terminal sera importante, et respectivement, si vous appelez des données à partir d'un grand nombre de symboles différents, vous obtiendrez également des décalages.
c'est-à-dire que si vous utilisez le terminal de manière raisonnable, rien ne se figera - dans la fenêtre de surveillance du marché, il y a dix symboles que vous utilisez
je n'ai pas vérifiécombien de graphiques vous pouvez ouvrir en même temps, mais je pense que si vous limitez l'historique à 1000 barres, alors je pense que le terminal ouvrira probablement deux douzaines de fenêtres de graphiques sans aucun problème.
Regardez les journaux pour voir ce qu'il imprime, il y a des informations enregistrées à chaque étape. Il est fort probable qu'il y ait un problème avec l'ouverture des ordres et que l'EA ne fonctionne pas.
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : historique mis en cache depuis 2019.01.02 06:00
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 (Alpari-MT5-Demo) : chaque tick généré
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : le test des experts\GRAAL.ex5 du 2020.09.01 00:00 au 2020.09.03 00:00 a commencé avec les entrées:
2020.10.27 06:40:45.348 Core 1 StopLoss=30
2020.10.27 06:40:45.348 Core 1 TakeProfit=100
2020.10.27 06:40:45.348 Core 1 Lot=0.1
2020.10.27 06:40:45.348 Core 1 solde final 10000.00 pips
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : 111967 ticks, 2880 barres générées. Test réussi en 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb de mémoire utilisée dont 35 Mb de données historiques, 64 Mb de données tick
2020.10.27 06:40:45.348 Core 1 fichier journal "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" écrit
2020.10.27 06:40:45.371 Core 1 connexion fermée
Je le teste pour une période d'un jour. Cela signifie que le conseiller expert doit ouvrir 1440 ordres. C'est peut-être un problème. Peut-être y a-t-il des limites au nombre d'ordres ouverts en même temps. Si je l'ai vérifié, c'est peut-être parce que lorsque j'avais 10 000 sur le dépôt de mon EA, il n'a ouvert que 300 ordres et a manqué le reste pour une raison liée à l'argent (comme je l'ai compris à partir des écritures de journal). Plus tard, j'ai augmenté le dépôt d'EA à 100 000 et il n'avait plus le droit de sauter. Et il a arrêté d'ouvrir des commandes.
Mais ensuite j'ai diminué le dépôt de l'EA à 10 000 à nouveau. Cependant, mon conseiller expert n'ouvre toujours rien et écrit toujours les valeurs que j'ai indiquées ci-dessus.
J'ai créé un autre EA. J'y ai téléchargé le même code. J'ai un dépôt de 10 000. J'ai le même problème : je n'ai pas ouvert de commandes. Veuillez me conseiller sur la manière de faire fonctionner mon EA correctement. Il envoie le même message, sauf que ma ligne jaune surlignée a 271 au lieu de 270 mb J'ai Windows 10. J'ai un système d'exploitation 64 bits et 8 Go de RAM. Merci.
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : 111967 ticks, 2880 barres générées. Test réussi à 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb de mémoire utilisée dont 35 Mb de données historiques, 64 Mb de données tick
2020.10.27 06:40:45.348 Core 1 fichier journal "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" écrit
2020.10.27 06:40:45.371 Core 1 connexion fermée
Je le teste pour une période d'un jour. Cela signifie que le conseiller expert doit ouvrir 1440 ordres. C'est peut-être un problème. Peut-être y a-t-il des limites au nombre d'ordres ouverts simultanément. Si je l'ai vérifié, c'est peut-être parce que lorsque j'avais 10 000 sur le dépôt de mon EA, il n'a ouvert que 300 ordres et a manqué le reste pour une raison liée à l'argent (comme je l'ai compris à partir des écritures de journal). Plus tard, j'ai augmenté le dépôt d'EA à 100 000 et il n'avait plus le droit de sauter. Et il a arrêté d'ouvrir des commandes.
Mais ensuite j'ai encore réduit le dépôt de l'EA à 10.000. L'EA n'ouvre toujours rien et écrit toujours ce que j'ai indiqué en haut. Veuillez me conseiller pour que mon EA fonctionne normalement. J'essaierai toujours de le faire fonctionner comme avant.
S'il y a 1440 ordres par jour, le conseiller expert doit vérifier le début de la minute ou, plus facilement, l'apparition de la barre d'une minute. Et il s'ouvre en ce moment. Vous ne l'avez pas et donc l'EA ouvre une position à chaque tick, ce qui est une condition difficile en soi selon notre symbole à la cotation actuelle. Cette condition peut ne pas être remplie, et les tiques ne seront pas détectées. Et à un moment donné, une erreur critique se produira.
Egalement le type d'exécution de l'ordre (ordre de création d'une position) Tout ou rien.
inputint StopLoss=30; // Stop Lossinputint TakeProfit=100; // Take Profitinputdouble Lot=0.1; // Количество лотов для торговлиint A; ////+------------------------------------------------------------------+voidOnTick()
{
Print( "====================================================", TimeCurrent() ) ;
//--- Объявляем структуры, которые будут использоваться для торговлиMqlTick latest_price; // Будет использоваться для текущих котировокMqlTradeRequest mrequest; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult; // Будет использоваться для получения результатов выполнения торговых запросовif(!SymbolInfoTick(_Symbol,latest_price))
{
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена Bid
mrequest.sl = NormalizeDouble(latest_price.ask + StopLoss*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask - TakeProfit*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type= ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend(mrequest,mresult); // получите (запросите) результаты исполнения / сделки и распечатайте, будет понятней
}
return;
}
int M = TimeMinute(TimeCurrent());
int TimeServer()
{
Print(M, " - Tекущее время сервера");
}
Pouvez-vous me le dire s'il vous plaît !
Pourquoi l'heure du serveur n'est-elle pas mise à jour lorsque de nouveaux ticks arrivent ?
Au moment où l'EA démarre, tout fonctionne comme il se doit, mais ensuite le temps passe, mais la nouvelle valeur de la minute en cours n'entre pas dans la variable.
C'est-à-dire que le Conseiller Expert fonctionne en fonction du nombre obtenu dans la variable int M = TimeMinute(TimeCurrent()) ;
En fait, cette ligne de code provient de la référence et elle ne fonctionne pas.
Par exemple, je le démarre à 12-l'heureactuelle renvoyée par le serveur correspond à l'heure dans la variable, mais ensuite la variable reste à 12, bien qu'il soit déjà 15-20 minutes à l'horloge
Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов. В обработчике OnTick() данная функция вернет время пришедшего обрабатываемого тика. В других случаях (например, вызов в обработчиках OnInit(), OnDeinit(), OnTimer() и так далее) это –...
utiliserhttps://www.mql5.com/ru/docs/dateandtime/timecurrent
deuxième version de l'appel de fonction
en général, c'est https://www.mql5.com/ru/docs/dateandtime/timetostructMerci beaucoup pour ces informations précieuses.
Je comprends ce qu'est la structure et comment elle fonctionne, mais je n'ai pas encore compris tous les détails.
Je n'ai pas encore pleinement saisi les subtilités qui y sont associées. J'apprends beaucoup mieux la nouvelle matière grâce à des exemples clairs.
Je vous serais très reconnaissant si vous pouviez me montrer comment écrire le code de la condition suivante dans mql5
J'ai déjà appris comment ouvrir un ordre en utilisant la structure
si(Hour()==10)
pour ouvrir une commande.
Vous n'avez pas besoin d'écrire le motif pour ouvrir la commande..... seulement l'écriture de la condition.
Merci encore pour votre aide.
doit être la façon dont vous voulez déterminer le prix et l'heure de la barre :
Ou plutôt ce sont les coordonnées du clic de la souris dans les valeurs temps + prix sur le graphique, la barre doit être définie via iBarShift().Oui, c'est ça, comme on le comprend mieux. Merci)
Merci beaucoup pour ces informations précieuses.
Je comprends ce qu'est la structure et comment elle fonctionne, mais je n'ai pas encore saisi les tenants et les aboutissants...
J'apprends mieux les nouvelles matières avec des exemples. J'apprends beaucoup mieux la nouvelle matière grâce à des exemples clairs.
Je vous serais très reconnaissant si vous pouviez me montrer comment écrire le code de la condition suivante dans mql5
J'ai appris à ouvrir un ordre en utilisant la structure
si(Hour()==10)
pour ouvrir une commande.
Vous n'avez pas besoin d'écrire le motif pour ouvrir la commande..... Juste un enregistrement de l'état.
Merci encore pour votre aide.
Merci beaucoup pour votre aide. Tout est maintenant clair et compréhensible.
Bonjour à tous !
J'essaie de passer de mql4 à mql5. J'ai créé un code simple qui ouvre les commandes pour les tester. Dans le testeur, mon EA ouvre des ordres. J'ai placé la fonction Print() au début de la fonction void OnTick() et mon Expert Advisor entrerait dans cette fonction à chaque tick et l'imprimerait à chaque tick du journal. Et au cinquième passage, le conseiller expert ne saisit aucune des fonctions Print() et n'imprime rien dans le journal des immatriculations. La visualisation et l'optimisation sont désactivées dans Expert Advisor.
Veuillez me conseiller sur la manière de modifier le code afin que Print() soit imprimé dans le journal à chaque tick, comme dans l'exemple 4.
Merci d'avance à ceux qui m'aideront.
Voici mon code
J'ai augmenté le dépôt de l'EA jusqu'à 100 000. Par conséquent, à chaque tick, Print() est imprimé dans le journal..... Mais pas une seule transaction n'a été ouverte.
Mais j'ai besoin qu'il ouvre des offres et que Print() soit imprimé.
Bonjour à tous !
J'essaie de passer de mql4 à mql5. J'ai créé un code simple qui ouvre les commandes pour les tester. Dans le testeur, mon EA ouvre des ordres. J'ai placé la fonction Print() au début de la fonction void OnTick() et mon Expert Advisor entrerait dans cette fonction à chaque tick et l'imprimerait à chaque tick du journal. Et au cinquième passage, le conseiller expert ne saisit aucune des fonctions Print() et n'imprime rien dans le journal des immatriculations. La visualisation et l'optimisation sont désactivées dans Expert Advisor.
Veuillez me conseiller sur la manière de modifier le code afin que Print() soit imprimé dans le journal à chaque tick, comme dans l'exemple 4.
Merci d'avance à ceux qui m'aideront.
Voici mon code
J'ai augmenté le dépôt de l'EA jusqu'à 100 000. En conséquence, à chaque tick, Print() est imprimé dans le journal..... Mais pas une seule transaction n'a été ouverte.
Mais j'ai besoin que les transactions soient ouvertes et que Print() soit imprimé.
Regardez les journaux, regardez ce qui est imprimé, les informations y sont saisies à chaque étape. Très probablement, quelque chose ne va pas avec l'ouverture des ordres et l'EA ne fonctionne pas.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Nous avons déjà discuté de la nécessité d'accéder de manière répétée aux données du terminal à partir de MQL4, puis de OrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716.
je pense qu'il est possible de l'utiliser aussi 100500 fois par tick, car la sortie sera augmentée des millions de fois par seconde
plus il y a de symboles dans la fenêtre de surveillance du marché, plus la charge du terminal sera importante, et respectivement, si vous appelez des données à partir d'un grand nombre de symboles différents, vous obtiendrez également des décalages.
c'est-à-dire que si vous utilisez le terminal de manière raisonnable, rien ne se figera - dans la fenêtre de surveillance du marché, il y a dix symboles que vous utilisez
je n'ai pas vérifiécombien de graphiques vous pouvez ouvrir en même temps, mais je pense que si vous limitez l'historique à 1000 barres, alors je pense que le terminal ouvrira probablement deux douzaines de fenêtres de graphiques sans aucun problème.
100
Regardez les journaux pour voir ce qu'il imprime, il y a des informations enregistrées à chaque étape. Il est fort probable qu'il y ait un problème avec l'ouverture des ordres et que l'EA ne fonctionne pas.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Merci pour le conseil.
Ça ne marche vraiment pas. C'est écrit.
2020.10.27 06:40:45.311 Tester EURUSD : l'historique des données commence à partir de 2018.01.02 00:00
2020.10.27 06:40:45.312 Core 1 se connectant à 127.0.0.1:3000
2020.10.27 06:40:45.312 Core 1 connecté
2020.10.27 06:40:45.320 Core 1 autorisé (agent build 2650)
2020.10.27 06:40:45.323 Testeur EURUSD,M1 (Alpari-MT5-Demo) : test des experts\GRAAL.ex5 du 2020.09.01 00:00 au 2020.09.03 00:00
2020.10.27 06:40:45.327 Core 1 synchronisation commune terminée
2020.10.27 06:40:45.328 Testeur La qualité de l'historique analysé est de 100%.
2020.10.27 06:40:45.348 Core 1 test experts\GRAAL.ex5 sur EURUSD,M1 thread terminé
2020.10.27 06:40:45.348 Core 1
2020.10.27 06:40:45.348 Core 1 connexion (build 2650)
2020.10.27 06:40:45.348 Core 1 info de compte trouvé avec la devise USD
2020.10.27 06:40:45.348 Core 1 1482 octets de paramètres de test chargés
2020.10.27 06:40:45.348 Core 1 1724 octets de paramètres d'entrée chargés
2020.10.27 06:40:45.348 Core 1 calculer le profit en pips, dépôt initial 10000, effet de levier 1:100
2020.10.27 06:40:45.348 Core 1 initialisé avec succès
2020.10.27 06:40:45.348 Core 1 731 octets de données d'initialisation totales reçues
2020.10.27 06:40:45.348 Core 1 Intel Core i5-6400 @ 2.70GHz, 7883 MB
2020.10.27 06:40:45.348 Core 1 EURUSD : symbole à synchroniser
2020.10.27 06:40:45.348 Core 1 EURUSD : symbole déjà synchronisé, 18 octets reçus
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : historique mis en cache depuis 2019.01.02 06:00
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 (Alpari-MT5-Demo) : chaque tick généré
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : le test des experts\GRAAL.ex5 du 2020.09.01 00:00 au 2020.09.03 00:00 a commencé avec les entrées:
2020.10.27 06:40:45.348 Core 1 StopLoss=30
2020.10.27 06:40:45.348 Core 1 TakeProfit=100
2020.10.27 06:40:45.348 Core 1 Lot=0.1
2020.10.27 06:40:45.348 Core 1 solde final 10000.00 pips
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : 111967 ticks, 2880 barres générées. Test réussi en 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb de mémoire utilisée dont 35 Mb de données historiques, 64 Mb de données tick
2020.10.27 06:40:45.348 Core 1 fichier journal "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" écrit
2020.10.27 06:40:45.371 Core 1 connexion fermée
Je le teste pour une période d'un jour. Cela signifie que le conseiller expert doit ouvrir 1440 ordres. C'est peut-être un problème. Peut-être y a-t-il des limites au nombre d'ordres ouverts en même temps.
Si je l'ai vérifié, c'est peut-être parce que lorsque j'avais 10 000 sur le dépôt de mon EA, il n'a ouvert que 300 ordres et a manqué le reste pour une raison liée à l'argent (comme je l'ai compris à partir des écritures de journal). Plus tard, j'ai augmenté le dépôt d'EA à 100 000 et il n'avait plus le droit de sauter. Et il a arrêté d'ouvrir des commandes.
Mais ensuite j'ai diminué le dépôt de l'EA à 10 000 à nouveau. Cependant, mon conseiller expert n'ouvre toujours rien et écrit toujours les valeurs que j'ai indiquées ci-dessus.
J'ai créé un autre EA. J'y ai téléchargé le même code. J'ai un dépôt de 10 000. J'ai le même problème : je n'ai pas ouvert de commandes.
Veuillez me conseiller sur la manière de faire fonctionner mon EA correctement. Il envoie le même message, sauf que ma ligne jaune surlignée a 271 au lieu de 270 mb
J'ai Windows 10. J'ai un système d'exploitation 64 bits et 8 Go de RAM.
Merci.
Merci pour le conseil.
Ça ne marche vraiment pas. C'est écrit.
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 : 111967 ticks, 2880 barres générées. Test réussi à 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb de mémoire utilisée dont 35 Mb de données historiques, 64 Mb de données tick
2020.10.27 06:40:45.348 Core 1 fichier journal "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" écrit
2020.10.27 06:40:45.371 Core 1 connexion fermée
Je le teste pour une période d'un jour. Cela signifie que le conseiller expert doit ouvrir 1440 ordres. C'est peut-être un problème. Peut-être y a-t-il des limites au nombre d'ordres ouverts simultanément.
Si je l'ai vérifié, c'est peut-être parce que lorsque j'avais 10 000 sur le dépôt de mon EA, il n'a ouvert que 300 ordres et a manqué le reste pour une raison liée à l'argent (comme je l'ai compris à partir des écritures de journal). Plus tard, j'ai augmenté le dépôt d'EA à 100 000 et il n'avait plus le droit de sauter. Et il a arrêté d'ouvrir des commandes.
Veuillez me conseiller pour que mon EA fonctionne normalement.
J'essaierai toujours de le faire fonctionner comme avant.
S'il y a 1440 ordres par jour, le conseiller expert doit vérifier le début de la minute ou, plus facilement, l'apparition de la barre d'une minute. Et il s'ouvre en ce moment. Vous ne l'avez pas et donc l'EA ouvre une position à chaque tick, ce qui est une condition difficile en soi selon notre symbole à la cotation actuelle. Cette condition peut ne pas être remplie, et les tiques ne seront pas détectées. Et à un moment donné, une erreur critique se produira.
Egalement le type d'exécution de l'ordre (ordre de création d'une position) Tout ou rien.
Pouvez-vous me le dire s'il vous plaît !
Pourquoi l'heure du serveur n'est-elle pas mise à jour lorsque de nouveaux ticks arrivent ?
Au moment où l'EA démarre, tout fonctionne comme il se doit, mais ensuite le temps passe, mais la nouvelle valeur de la minute en cours n'entre pas dans la variable.
C'est-à-dire que le Conseiller Expert fonctionne en fonction du nombre obtenu dans la variable int M = TimeMinute(TimeCurrent()) ;
En fait, cette ligne de code provient de la référence et elle ne fonctionne pas.
Par exemple, je le démarre à 12-l'heureactuelle renvoyée par le serveur correspond à l'heure dans la variable, mais ensuite la variable reste à 12, bien qu'il soit déjà 15-20 minutes à l'horloge