// Возвращает true, если полностью выполнился OnTick() на последнее событие NewTick в тестере - окончание бэктеста. Иначе - false.staticbool BACKTEST::IsEnding(void)
{
return(::TesterStatistics(STAT_BALANCEMIN) > 0);
}
Slava: Et renvoyer le résultat de la mesure comme code de retour de OnTester.
Je n'ai pas encore testéGetTickCount dans le testeur. J'ai supposé que cette fonction sera émulée par le testeur, ce qui peut être logique dans certaines situations.
Au fait, comment comprendre l'heure actuelle dans le testeur à la ms près ? SymbolInfoTick+Tick.time_msc permet de connaître l'heure de l'appel OnTick du symbole principal. Et donc même pour vérifier l'exactitude du mode de glissement du testeur. Mais il semble qu'il n'y ait pas d'autre moyen.
Vraiment, je voulais demander autre chose. Afin d'automatiser un lot dans l'optimiseur avec le rejet des premières et dernières valeurs, je dois agir à travers les cadres (pour passer OnTester-result), ou cela va fausser le résultat ?
Vraiment, je voulais demander autre chose. Afin d'automatiser les bancs dans l'optimiseur avec le rejet de la première et de la dernière valeur, je dois agir à travers les cadres (pour passer le OnTester-result), ou cela va fausser le résultat ?
Elle ne doit pas. Il est envoyé après la mesure. Essayez
Est-ce que GetMicrosecondCount ralentit plus le testeur que GetTickCount (ou est-il émulé) ?
Ou l'échec de EventSetMillisecondTimer était-il intentionnel ?
Je voulais dire GetMicrosecondCount. Je ne peux pas dire avec certitude si ça ralentit le serveur. Elle peut avoir un effet indirect. Par conséquent, il est préférable d'utiliser la fonction native GetTickCount du système.
GetMicrosecondCount est utilisé pour mesurer les courtes périodes d'exécution du code. Pour mesurer un grand nombre d'exécutions OnTick, il est préférable d'utiliser GetTickCount.
Essayez d'utiliser GetMicrosecondsCount au lieu de GetTickCount lorsque vous obtenez des résultats stables. Vous m'en parlerez ici. Peut-être que je m'inquiète trop à ce sujet.
Il existe deux tableaux d'historique courant dont les données sont accessibles via les fonctions d'historique : le tableau des commandes et le tableau des transactions.
Leur contenu ne peut être influencé que par les fonctions HistorySelect. Et cela se passe comme suit
Dans les ordres, il est possible de définir le champ Request.expiration jusqu'à et y compris LONG_MAX + 2. Sa valeur sera entièrement disponible via ORDER_TIME_EXPIRATION si l'ordre est actif (pas dans la table d'historique).
L'identifiant de position des transactions de solde est égal à zéro. Il est donc facile d'écrire, par exemple, cette fonction
// Возвращает сумму всех балансовых не торговых операций (начисления + списания)double GetSumBalanceOperations( void )
{
double Res = 0;
if (HistorySelectByPosition(0))
for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
Res += HistoryDealGetDouble(HistoryDealGetTicket(i), DEAL_PROFIT);
return(Res);
}
DEAL_ENTRY de ces transactions est DEAL_ENTRY_IN (0).
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.
Vous avez oublié de préciser que le début de la mesure se situe au début du premier OnTick. La fin de la mesure se situe au début de OnDeinit.
// После окончания бэктеста сначала вызывается OnTester, затем OnDeinitDans le sujet
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Bugs, bugs, questions
fxsaber, 2016.08.25 11:13
Cycle de vieOu au début du OnTester, comme
Et renvoyer le résultat de la mesure comme code de retour de OnTester.
Je n'ai pas encore testéGetTickCount dans le testeur. J'ai supposé que cette fonction sera émulée par le testeur, ce qui peut être logique dans certaines situations.
Au fait, comment comprendre l'heure actuelle dans le testeur à la ms près ? SymbolInfoTick+Tick.time_msc permet de connaître l'heure de l'appel OnTick du symbole principal. Et donc même pour vérifier l'exactitude du mode de glissement du testeur. Mais il semble qu'il n'y ait pas d'autre moyen.
Vraiment, je voulais demander autre chose. Afin d'automatiser un lot dans l'optimiseur avec le rejet des premières et dernières valeurs, je dois agir à travers les cadres (pour passer OnTester-result), ou cela va fausser le résultat ?
Vraiment, je voulais demander autre chose. Afin d'automatiser les bancs dans l'optimiseur avec le rejet de la première et de la dernière valeur, je dois agir à travers les cadres (pour passer le OnTester-result), ou cela va fausser le résultat ?
N'utilisez pas de minuterie à microseconde pour les mesures de masse. Utilisez le GetTickCount normal en millisecondes.
Est-ce queGetMicrosecondCount ralentit plus le testeur que GetTickCount (ou est-il émulé) ?
Ou l'échec de EventSetMillisecondTimer était-il intentionnel ?
Est-ce que GetMicrosecondCount ralentit plus le testeur que GetTickCount (ou est-il émulé) ?
Ou l'échec de EventSetMillisecondTimer était-il intentionnel ?
Je voulais dire GetMicrosecondCount. Je ne peux pas dire avec certitude si ça ralentit le serveur. Elle peut avoir un effet indirect. Par conséquent, il est préférable d'utiliser la fonction native GetTickCount du système.
GetMicrosecondCount est utilisé pour mesurer les courtes périodes d'exécution du code. Pour mesurer un grand nombre d'exécutions OnTick, il est préférable d'utiliser GetTickCount.
Essayez d'utiliser GetMicrosecondsCount au lieu de GetTickCount lorsque vous obtenez des résultats stables. Vous m'en parlerez ici. Peut-être que je m'inquiète trop à ce sujet.
Leur contenu ne peut être influencé que par les fonctions HistorySelect. Et cela se passe comme suit
DEAL_ENTRY de ces transactions est DEAL_ENTRY_IN (0).