Bibliothèque: MultiTester - page 42

 

Bonjour !

Est-il possible, à partir du script, de modifier les dates de début et de fin de la période d'optimisation qui ont été fixées lors du lancement du script ?


Dans ce cas, il serait possible d'élargir les options d'optimisation.


Cordialement, Alexander

 
klycko #:

Est-il possible, à partir du script, de modifier les dates de début et de fin de la période d'optimisation qui ont été définies lors de l'exécution du script ?

MTTESTER::SetValue(Settings, "FromDate", TimeToString(D'2020.01.01', TIME_DATE));
MTTESTER::SetValue(Settings, "ToDate", TimeToString(TimeCurrent(), TIME_DATE));
 
fxsaber #:

Merci de votre attention !

 
Une bibliothèque fantastique ! !!
 
fxsaber #:
Vous avez reçu un fichier opt dans un tableau d'octets. Vous devez ensuite l'introduire dans Cache.

Bonjour à tous !


La question concerne la procédure Run.

Je ne comprends pas pourquoi la commande : Settings[0] = Cache.TesterString(Pos) ;

perturbe la chaîne de caractères Settings[0].

Le texte du code figure ci-dessous et les données du journal sont jointes.

Cordialement, Alexander.


Run(Settings[0]) ; // Exécute l'optimisation génétique sur le paramètre TF

TESTERCACHE<ExpTradeSummary> Cache ;

GLOC = MTTESTER::GetLastOptCache(Bytess) ; // Récupère le fichier opt dans le tableau d'octets de Bytess

CL = Cache.Load(Bytess) ; // Introduit le tableau d'octets Bytess dans le cache

Print(" GLOC = ",GLOC," CL = ",CL) ; // Écriture et lecture du diagnostic

ProfitNow = Cache[GetMaxProfitPos(Cache)].profit ; // Profit maximum https://www.mql5.com/ru/forum/318998/page2#comment_13846951

int NomProchMaxProfit = Cache[GetMaxProfitPos(Cache)].Pass ; // Numéro de la passe avec le profit maximum

// Cache.GetInputs(IndexMaxProfitRuna,Paramas) ;

// prWrite2 = Cache.Save(OptFile) ; // Sauvegarde du résultat de l'exécution dans un fichier opt dans MQL5\Files

// prRead2 = Cache.Load(OptFile) ; // Lecture pour vérification à partir de MQL5\Files

// Print(OptFile+" write = ",prWrite2," read = ",prRead2) ; // Diagnostic de l'écriture et de la lecture

Pos = GetMaxProfitPos(Cache) ;

Cache.SaveSet(Pos) ; // Création d'un fichier set de la passe la plus rentable dans MQL5\Files


Print("Pos = ",Pos," NomProchMaxProfit = ",NomProchMaxProfit) ;

Print("Before Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nControl Genetics : \n",Settings[0]) ;


Settings[0] = Cache.TesterString(Pos) ; // Écriture des nouveaux paramètres dans la chaîne de paramètres actuelle

// Dans la commande précédente, la chaîne Settings[0] est très laide, bien que la valeur TF=20 soit correctement définie.

Print("After Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nContrôle de la génétique : \n",Settings[0]) ;


Библиотеки: TesterCache - Что такое 0xCACA?
Библиотеки: TesterCache - Что такое 0xCACA?
  • 2019.08.31
  • Good Beer
  • www.mql5.com
Да и дальше взаимодействия с Оптимизатором нет никакого. в кеше Оптимизатора по каждому проходу хранятся все стат. Бонусом идет возможность запуска любого прохода из обновленной таблицы стандартными средствами в два щелчка
Dossiers :
kbrl69.txt  12 kb
 
klycko #:

// Dans la commande précédente, la ligne Settings[0] est très laide, bien que la valeur TF=20 soit correctement définie.

Je ne comprends pas.
 
fxsaber #:
Je ne comprends pas.

Bonjour !

La commande Settings[0] = Cache.TesterString(Pos) ; définit des informations très déformées dans Settings[0], bien que la valeur optimale TF=20 soit correctement définie.

Mais la structure même de Settings[0] est déjà détruite. Même le bord droit de l'intervalle pour TF a été modifié de H1 à M12.

Dans le journal ci-joint, la ligne Settings[0] est imprimée avant et après l'exécution de la commande ci-dessus.

Je ne comprends pas pourquoi cette commande déforme autant la chaîne Settings[0].

 
klycko #:

Je ne comprends pas pourquoi cette commande déforme autant la chaîne Settings[0].

Veuillez envoyer le fichier opt à LS.

 
klycko #:

Optimisation=1 modifié, bien qu'il ne doive pas l'être

Si un GA est sélectionné, mais que le nombre de passes est faible, le testeur passe automatiquement en mode de recherche complète. C'est pourquoi le fichier opt après la sélection de l'AG montre parfois qu'il y a eu un dépassement complet. La lecture de cette valeur est correcte.

 
klycko #:

En outre, les structures de données ont été modifiées pour de nombreux paramètres :

Baza=46 Correct devrait être : Baza=46||20|||1|||50||N

Les plages de paramètres non optimisés ne sont pas écrites (exception - bool-parameters) dans le fichier opt. Par conséquent, la modification d'une telle plage n'affecte pas le générateur du nom du fichier opt. Il s'agit là d'un travail correct.

L'application de ces paramètres "réduits" n'enfreint pas les plages de paramètres d'entrée non optimisables sélectionnées précédemment.