[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 407

 

Bonjour.

Je voulais poser une question sur les tests du système. En général, je comprends l'image, mais comme je n'ai pas eu d'expérience réelle pour obtenir une EA qui fonctionne, j'ai créé-créé, testé-testé tout... En général, je ne sais pas quand je peux m'arrêter maintenant.

Mon conseiller expert est simple ; il n'a pratiquement aucun paramètre d'optimisation. Il ne s'agit pas d'un scalping. Je l'ai négocié sur D1 pendant la période de 2000 à 2013 avec un lot minimum de 0,01 à 100 $ de dépôt. Voici le rapport.

rapport


Peut-on se fier à ces résultats ? Il n'y a que 300 transactions, mais selon la logique de la stratégie et le cadre temporel D1, il ne devrait pas y en avoir beaucoup plus. La stratégie n'a qu'un seul paramètre d'optimisation - la fidélité du signal. Si nous rendons le système plus strict à leur égard, les paramètres seront soi-disant améliorés, mais le nombre de transactions ne sera que de 175. Peut-on se fier aux résultats lorsqu'il y a autant de transactions ? Ou bien, vaut-il mieux choisir la première variante avec des indicateurs moins bons mais plus de transactions ?

rapport 2


Ou bien les deux sont inutiles et nous avons besoin d'une attente mathématique plus élevée, etc.

 
sur la paire de devises EUR/USD H4, le message "waiting for update" est allumé et ne passe pas à d'autres périodes ; que dois-je faire ?
 
shurik32:
sur la paire de devises EUR/USD H4 est allumé " waiting for update " et ne passe pas à d'autres périodes que faire ?
Entrez dans l'histoire F2 swap H4 !
 
Vinin:

Si de nouveaux ticks arrivent pendant les calculs dans l'Expert Advisor (lorsque la fonction start() est en cours d'exécution), l'Expert Advisor ne les connaîtra pas (ticks). RefreshRates() vous permet d'utiliser les derniers prix mis à jour, mais cette fonction n'accède pas au serveur. Il actualise l'environnement du marché connu par le terminal. Aucune fonction sauf celle d'échanger des adresses avec le serveur.

C'est difficile à dire pour celui qui a été attribué. Vous devriez demander aux Metakwots.

J'ai fait bloquer mon compte réel dans MRC à cause de l'ouverture et de la mise à jour fréquentes des graphiques. Il ne s'agit pas d'une fonction MQL4, mais d'un visualiseur de graphiques interne. Il se peut, par exemple, que MarketInfo() accède au serveur ou ne reçoive qu'une partie des données de l'aperçu du marché.

====================================

Autant que je me souvienne, les données de Market Watch ne doivent pas nécessairement être les mêmes que celles des variables prédéfinies. Alors que et d'où vient la mise à jour de RefreshRates() ?

Je n'ai qu'une seule réponse. Le rafraîchissement consiste à paginer et à réconcilier l'historique à partir du serveur. J'en ai été convaincu à plusieurs reprises en essayant de mettre à jour l'historique avec elle. Souvent, seule la dernière mesure est venue. Après le déchargement du terminal, un "trou" s'est formé dans le fichier HST. Mais si vous ouvrez ce graphique et le rafraîchissez, le "trou" a été comblé. A propos, lorsque RefreshRates() est exécuté dans le Gestionnaire des tâches, vous pouvez observer le chargement des données. Peut-être que le rapprochement ne se produit pas lorsque l'historique est mis à jour avec RefreshRates(), mais qu'il se produit lorsque le graphique est mis à jour.

Ainsi, il est nécessaire de contrôler si vous avez besoin d'une histoire sans trous dans le flux du conseiller expert.

hoz:
1. Qu'entendez-vous par "cyclique" ? En fait, tout conseiller expert est en boucle, car il a un cycle de démarrage. Une fois par tic.

2. Il me semble que c'est vous qui faites le commerce des cuisines, c'est pourquoi les trous de l'histoire se forment. Je remarque que ça arrive dans les cuisines boiteuses. Mais un courtier de qualité ne devrait pas avoir cette merde.

Mais RefreshRates() sert à mettre à jour les variables de l'environnement du marché, et non à la pagination. Bien sûr, ce n'est pas une pagination.

4. D'où vient la dernière mesure ?

5. Hmm. Eh bien, si vous tirez les données du marché par MarketInfo(), comme je le comprends, il ne devrait pas y avoir d'erreurs. Et si on le contourne, alors bien sûr. Ça ressemble à ça. Je ne l'ai pas encore vérifié, mais il semble que ce soit la même logique.

1. Comme ça :

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2. il ne dépend pas d'un courtier. Il s'agit d'une particularité du terminal et de son fonctionnement avec le serveur. Pour une raison quelconque, RefreshRates() ne rafraîchit pas l'historique comme il rafraîchit le graphique.

3. auriez-vous déjà lu l'aide? C'est reparti :

Rafraîchissez les données dans des variables prédéfinies et des tableaux de séries chronologiques. Cette fonction est utilisée lorsque le conseiller expert ou le script a effectué des calculs pendant une longue période et a besoin de données actualisées. Elle renvoie VRAI si les données sont mises à jour, sinon FAUX. Les données ne peuvent pas être mises à jour uniquement parce qu'elles correspondent à l'état actuel du terminal client. Les conseillers experts et les scripts travaillent avec leur propre copie des données historiques. La copie des données sur le symbole actuel est créée lors du lancement initial du conseiller expert ou du script. À chaque nouveau lancement du conseiller expert (rappelons que le script est exécuté une fois et ne dépend pas des ticks entrants), la copie initialement créée est mise à jour. Un ou plusieurs nouveaux ticks peuvent apparaître pendant que le conseiller expert ou le script est en cours d'exécution, de sorte que les données peuvent devenir obsolètes.

4. De quoi parlons-nous ? Nous parlons de la mise à jour des données dans le fil de discussion sur les conseillers experts.

5. Le code EA ci-dessus montre comment et où les données sont mises à jour. Si IsRefreshRates n'est pas inclus, les données sont mises à jour uniquement dans MarketInfo().

 
 

J'ai négocié avec succès sur alpari avec ilan 2.0 (1.6) avec des paramètres raisonnables, jusqu'à ce que des alertes commencent à arriver à propos de fréquentes requêtes improductives qui chargent le serveur pour rien. Il s'est avéré que dans un marché rapide, alpari augmente le niveau de réglage minimum possible du stop loss à 2 spreads, ce qui correspond à 40 pips, parfois moins. Mais mon EA semble fixer cette valeur dans une fourchette de 15-55 pips, ce que j'ai compris en lisant le code de l'EA. Mais alpari n'en était pas satisfait et j'ai été menacé de blocage, j'ai donc cessé de négocier. Je ne connais pas vraiment mql4, j'ai juste édité ces lignes dans le code, qui me semblaient les seules responsables du problème, c'est dans l'onglet de tout ilan, près du début :

double PrevCl ;

double CurrCl ;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice) ;

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Où j'ai bêtement changé les chiffres 15 en 40 pour résoudre le problème, mais plus loin j'ai appris d'alpari que le problème n'est pas résolu, c'est-à-dire que j'ai fait quelque chose de mal, ce qui n'est pas surprenant. Pouvez-vous me conseiller pour modifier correctement le code de l'EA afin qu'il place le niveau de stop loss dans la fourchette 40-55 pips au lieu de 15-55. Je sais que la fourchette de 40 à 55 points n'est pas assez grande pour un stop-loss confortable et qu'elle est trop éloignée du prix, ce qui réduit le bénéfice. Mais je n'ai pas le choix, je ne veux pas quitter Alpari, c'est confortable là-bas. Il n'y a pas de paramètre correspondant dans les paramètres standard de l'EA.

 
Dmido:

Bonjour.

Je voulais poser une question sur les tests du système. En général, je comprends l'image, mais comme je n'ai pas eu d'expérience réelle pour obtenir une EA qui fonctionne, j'ai créé-créé, testé-testé tout... En général, je ne sais pas quand je peux m'arrêter maintenant.

Mon conseiller expert est simple ; il n'a pratiquement aucun paramètre d'optimisation. Il ne s'agit pas d'un scalping. Je l'ai négocié sur D1 pendant la période de 2000 à 2013 avec un lot minimum de 0,01 à 100 $ de dépôt. Voici le rapport.


Peut-on se fier à ces résultats ? Il n'y a que 300 transactions, mais selon la logique de la stratégie et le cadre temporel D1, il ne devrait pas y en avoir beaucoup plus. La stratégie n'a qu'un seul paramètre d'optimisation - la fidélité du signal. Si nous rendons le système plus strict à leur égard, les paramètres seront soi-disant améliorés, mais le nombre de transactions ne sera que de 175. Peut-on se fier aux résultats lorsqu'il y a autant de transactions ? Ou bien, vaut-il mieux choisir la première variante avec des indicateurs moins bons mais plus de transactions ?



Ou bien les deux sont inutiles et nous avons besoin d'une attente mathématique plus élevée, etc.


10 % par an, c'est bon ou mauvais ?
 
Andrew245:

J'ai négocié avec succès sur alpari avec ilan 2.0 (1.6) avec des paramètres raisonnables, jusqu'à ce que des alertes commencent à arriver à propos de fréquentes requêtes improductives qui chargent le serveur pour rien. Il s'est avéré que dans un marché rapide, alpari augmente le niveau de réglage minimum possible du stop loss à 2 spreads, ce qui correspond à 40 pips, parfois moins. Mais mon EA semble fixer cette valeur dans une fourchette de 15-55 pips, ce que j'ai compris en lisant le code de l'EA. Mais alpari n'en était pas satisfait et j'ai été menacé de blocage, j'ai donc cessé de négocier. Je ne connaissais pas vraiment mql4, j'ai juste édité ces lignes dans le code, qui me semblaient les seules responsables du problème, c'est dans l'onglet de tout ilan, près du début :

double PrevCl ;

double CurrCl ;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice) ;

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Où j'ai bêtement changé les chiffres 15 en 40 pour résoudre le problème, mais plus loin j'ai appris d'alpari que le problème n'est pas résolu, c'est-à-dire que j'ai fait quelque chose de mal, ce qui n'est pas surprenant. Pouvez-vous me conseiller pour modifier correctement le code de l'EA afin qu'il place le niveau de stop loss dans la fourchette 40-55 pips au lieu de 15-55. Je sais que la fourchette de 40 à 55 points n'est pas assez grande pour un stop-loss confortable et qu'elle est trop éloignée du prix, ce qui réduit le bénéfice. Mais je n'ai pas le choix, je ne veux pas quitter Alpari, c'est confortable là-bas. Il n'y a pas de paramètre correspondant dans les paramètres standard de l'EA.


Si vous changez les paramètres du stoploss, pourquoi changez-vous les paramètres de l'indicateur ?
 
pako:

si vous changez les paramètres du stop loss, pourquoi changez-vous les paramètres de l'indicateur ?

Je l'avais deviné, mais je ne les trouve pas, les paramètres de stop loss
 
Zhunko:

C'est difficile à dire pour celui qui a été attribué. Vous devriez demander aux Metakwots.

J'ai immédiatement pris Victor au mot, mais... afin de dissiper les doutes, j'ai simplement écrit aux méta-citations.

Zhunko:

J'ai fait bloquer mon compte réel dans MRC à cause de l'ouverture et de la mise à jour fréquentes des graphiques. Il ne s'agit pas d'une fonction de MQL4, mais d'un visualiseur de graphiques interne.

Qu'entendez-vous par " ouverture fréquente d'un graphique " ? Je comprends ce que vous voulez dire par la mise à jour des variables d'environnement de marché, mais je ne comprends pas ce que vous entendez par l'ouverture et la mise à jour d'un graphique...

Zhunko:

Peut-être, par exemple, que MarketInfo() accède au serveur ou ne reçoit qu'une partie des données de la synthèse du marché.

J'ai écrit au service d'assistance, je reviendrai ici dès qu'ils auront répondu !
Raison: