Si, pendant une longue exécution à froid (avec téléchargement depuis le serveur), CopyTicks modifie l'ordre, cela se produira (non pas sur le serveur, mais dans le terminal - OnTradeTransaction) avec un décalage important.
Par exemple, en mode normal 100 ms, en mode supérieur - 2000 ms.
Il faut apprendre à travailler avec les tiques avec parcimonie d'une manière ou d'une autre. Ça ne marche pas.
Comment rendre CopyTicks par ticks les plus proches rapide et ne pas consommer des centaines de mégaoctets ?
#property description"Если ваш робот использует тики (таких не встречал!),"#property description"то вы сталкиваетесь либо с тормозами,"#property description"либо с запредельным использованием памяти."#property description"Что не позволит вам спокойно поставить робота на VPS.\n"#property description"Для тех, кто считает возможным для себя участие в деле исправления этого бага,"#property description"просто опубликуйте результат выполнения этого скрипта по ссылке ниже.\n"#property description"https://www.mql5.com/ru/forum/342090/page81#comment_20534660"#property description"Эта ссылка доступна к копировнию в буфер обмена в Журнале (Эксперты)."#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279constbool Init = EventSetTimer(1);
// Вызывается CopyTicks для каждого символа из Обзора рынка.void CopyTicks_Test()
{
staticMqlTick Ticks[2000];
for (int i = SymbolsTotal(true) - 1; !IsStopped() && (i >= 0); i--)
{
conststring Symb = SymbolName(i, true);
if (!SymbolInfoInteger(Symb, SYMBOL_CUSTOM))
{
CopyTicks(Symb, Ticks, COPY_TICKS_ALL, TimeCurrent() * 1000, 1);
// CopyTicksRange(Symb, Ticks, COPY_TICKS_ALL, TimeCurrent() * 1000);
}
}
}
// Вызывается CopyTicksRange для каждого символа из Обзора рынка.void CopyTicksRange_Test()
{
staticMqlTick Ticks[2000];
for (int i = SymbolsTotal(true) - 1; !IsStopped() && (i >= 0); i--)
{
conststring Symb = SymbolName(i, true);
if (!SymbolInfoInteger(Symb, SYMBOL_CUSTOM))
{
// CopyTicks(Symb, Ticks, COPY_TICKS_ALL, TimeCurrent() * 1000, 1);CopyTicksRange(Symb, Ticks, COPY_TICKS_ALL, TimeCurrent() * 1000);
}
}
}
#define PRINT(A) Print(#A + " = " + (string)(A))
voidOnDeinit( constint )
{
PRINT(SymbolsTotal(true));
PRINT(TerminalInfoInteger(TERMINAL_MEMORY_USED));
Print("https://www.mql5.com/ru/forum/342090/page81#comment_20534660");
}
voidOnTimer()
{
staticint Count = 0;
_BV(CopyTicks_Test(), 1); // Очень много потребляет CPU, выполняется медленно, память не использует.
_BV(CopyTicksRange_Test(), 1); // Очень много потребляет RAM, выполняется быстроComment(TimeCurrent());
if (Count++ > 9)
ExpertRemove();
}
Merci, les logs montrent bien le problème de CopyTicks.
Sab, indicateur d'espionnage ne travaillez-vous pas avec lui ?, j'ai beaucoup de questions
Grâce à l'identifiant, au lieu de la chaîne de caractères, le robot reçoit le symbole de travail, mais aujourd'hui, deux terminaux ont un statut différent sur les transactions.
sur M1 dans spyro via calculated=, il y a une vérification pour un nouveaucalcul et ensuite envoyé au robot
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Si, pendant une longue exécution à froid (avec téléchargement depuis le serveur), CopyTicks modifie l'ordre, cela se produira (non pas sur le serveur, mais dans le terminal - OnTradeTransaction) avec un décalage important.
Par exemple, en mode normal 100 ms, en mode supérieur - 2000 ms.
Comment rendre CopyTicks par ticks les plus proches rapide et ne pas consommer des centaines de mégaoctets ?
Chaîne de recherche: Oshibka 024.
Il faut apprendre à travailler avec les tiques avec parcimonie d'une manière ou d'une autre. Ça ne marche pas.
Comment rendre CopyTicks par ticks les plus proches rapide et ne pas consommer des centaines de mégaoctets ?
Chaîne de recherche: Oshibka 024.
Merci, les logs montrent bien le problème de CopyTicks.
Merci, les logs montrent bien le problème de CopyTicks.
Sab, indicateur d'espionnage ne travaillez-vous pas avec lui ?, j'ai beaucoup de questions
Grâce à l'identifiant, au lieu de la chaîne de caractères, le robot reçoit le symbole de travail, mais aujourd'hui, deux terminaux ont un statut différent sur les transactions.
sur M1 dans spyro via calculated=, il y a une vérification pour un nouveau calcul et ensuite envoyé au robot
Sub, indicateur d'espionnage, vous ne travaillez pas avec ? J'ai beaucoup de questions.
Seulement sous MT4 - dans KB mensonges.
Seulement sous MT4 - dans KB mensonges.
ne regardez pas les bases personnalisées, c'est pour les faibles
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
MT5 et la vitesse en action
Dzmitry Manannikov, 2021.02.05 14:38
Si vous augmentez le nombre de symboles, vous verrez apparaître le problème de l'utilisation élevée de la mémoire.
Je ne regarde pas les bases personnalisées, c'est pour les faibles.
Je ne répondrai pas aux messages que je ne comprends pas.