[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 913
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
J'ai lu le post d'ivandurak et j'ai immédiatement réalisé qu'après chaque tick, seul le démarrage est déclenché, donc si vous ouvrez la variable globalement, il semble que la valeur soit sauvegardée.
Il doit donc en être ainsi.
Ainsi, le compilateur n'accepte catégoriquement pas la ligne int KolBars=Bars ; il dit 'Bars' - initialisation attendue C:\Program Files (x86)\Alpari ÌÒ4\expertsÁëù.mq4 (8, 13)
Étonnant !!!!! Déclaration de variable normale. Mais peu importe.
Je vais demander l'essentiel - comment déboguer un EA le week-end, si les ticks ne vont pas ?????.
A quoi sert le testeur ?
À PROPOS DE L'ALGORITHME GÉNÉTIQUE! !!
Dans mon cas, les poids du réseau neuronal sont sélectionnés. Si vous exécutez une optimisation sans algorithme génétique, cela prendra un TRES long moment.
Il n'y a pas de pseudo-aléatoire dans le code.
Bien que l'algorithme du gène essaie également de nombreuses variantes, il agit également selon un certain programme (dans un seul et même intervalle et dans des conditions identiques). Je ne comprends pas pourquoi nous obtenons des résultats différents.
D'ailleurs personne n'a posé la question pour tester le travail de l'ALGORITHME GEN. Exactement : exécuter deux fois l'optimisation et comparer les résultats.... Essayer.
À PROPOS DE L'ALGORITHME GÉNÉTIQUE ! !!
Dans mon cas, les poids du réseau neuronal sont sélectionnés. Si vous exécutez une optimisation sans algorithme génétique, cela prendra un TRES long moment.
Il n'y a pas de pseudo-aléatoire dans le code.
Bien que l'algorithme du gène essaie également de nombreuses variantes, il agit également selon un certain programme (dans un seul et même intervalle et dans des conditions identiques). Je ne comprends pas pourquoi nous obtenons des résultats différents.
D'ailleurs personne n'a posé la question pour tester le travail de l'ALGORITHME GEN. Exactement : exécutez l'optimisation deux fois et comparez les résultats....A essayez.
Aidez-vous.
https://www.mql5.com/ru/articles/1409https://www.mql5.com/ru/articles/1408 https://www.mql5.com/ru/articles/1511
Chers experts ! Veuillez m'indiquer la fonction qui modifie le lot et le nombre d'ordres en fonction de la valeur du solde.
À PROPOS DE L'ALGORITHME GÉNÉTIQUE !!!
D'ailleurs, personne n'a posé la question de TESTER le travail de l'ALGORITHME DU GENE. Exactement : exécutez l'optimisation deux fois et comparez les résultats....A essayez.
Vous travaillez avec mql depuis longtemps, d'après ce que je comprends, gen. alg. utilise des nombres pseudo aléatoires pour tracer les paquets de configuration initiale, et seulement ensuite commence à considérer par des définitions données où et quoi chercher.
https://www.mql5.com/ru/articles/1408
Le schéma de fonctionnement de l'algorithme génétique
1.initier l'instant initial t=0. Formez aléatoirement une population initiale composée de k individus. B0 = {A1,A2,...,Ak)
2. ...
Chers experts ! Veuillez m'indiquer la fonction qui change le lot et le nombre d'ordres en fonction de la valeur de la balance.
https://www.mql5.com/ru/code/8192
L'auteur utilise le lot dynamique et le nombre maximum d'options.
MaxOrders_Desc = "si 0, le nombre de positions ouvertes simultanément n'est pas limité à 1-3" ;
MaxOrders = 1 ;
Lots_Desc = "If 0 Apply Dynamic Lot" ;
Lots = 1 ;
Veuillez m'indiquer s'il est possible d'ouvrir des ordres de différentes paires de devises en un seul cycle alors qu'après avoir vérifié la condition d'entrée, une erreur 4051 continue de s'afficher.
while(true)
{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // aucun ordre ouvert pour les première et deuxième paires de devises plus les critères d'ouverture
{
RefreshRates() ; // Mise à jour des données
double bid = MarketInfo(Symb2,MODE_BID) ;
Alert("Trying to open Buy and Sell. Waiting for reply.") ;
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0) ; //open Buy
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0) ;
if (Ticket > 0 && Ticket1 > 0) // It worked :)
{
Alert ("Buy and Sell order opened ",Ticket,Ticket1) ;
return ; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Gestion des erreurs
continue ; // Retenter
return ; // Exit start()
}
Ainsi, le compilateur n'accepte catégoriquement pas la ligne int KolBars=Bars ; il dit 'Bars' - initialisation attendue C:\Program Files (x86)\Alpari ÌÒ4\expertsÁåë.mq4 (8, 13)
Je vais demander l'essentiel - comment déboguer un EA le week-end, si les ticks ne vont pas ?????.
Bon après-midi ! !! LOL !!!!!! ''pour'' - expression trop complexe C:\Program Files (x86)\Alpari MT4\experts\bred.mq4 (34, 1)
"for" - expression trop complexe C:\Program Files (x86)\Alpari ??4\experts\ ???????.mq4 (34, 1)
Est-il possible de déboguer un EA le week-end en mode test de la même manière que lorsqu'on reçoit des ticks sur la plateforme, en obtenant des réponses des fonctions Commentaire, Alerte, ?
Veuillez m'indiquer s'il est possible d'ouvrir des ordres de différentes paires de devises en un seul cycle alors qu'après avoir vérifié la condition d'entrée, une erreur 4051 continue de s'afficher.
while(true)
{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // aucun ordre ouvert pour les première et deuxième paires de devises + il y a des critères ouverts
{
RefreshRates() ; // Rafraîchir les données
double bid = MarketInfo(Symb2,MODE_BID) ;
Alert("Essayer d'ouvrir Achat et Vente. Attendre la réponse...") ;
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//ouverture de l'achat
if(GetLastError()==4051)Alert("Symb1"+Symb1+" Lts "+Lts+" Ask "+Ask) ;
//si(Ticket>0)Sleep(50);sinon continuez ;
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0) ;
if(GetLastError()==4051)Alert("Symb2"+Symb2+" Lts "+Lts+" bid "+bid) ;
if (Ticket > 0 && Ticket1 > 0) // Cela a marché :)
{
Alerte ("Ordre d'achat ou de vente ouvert",Ticket,Ticket1) ;
return ; // Sortie
}
if (Fun_Error(GetLastError())==1) // Traitement des erreurs
continue ; // réessayer
return ; // Sortie de start()
}