Ceux qui voulaient voir des graphiques sans barres manquantes - ici =) - page 9

 
J'ai compris la raison pour laquelle les développeurs ont interdit aux EA de travailler sur les graphiques hors ligne.
Je pense que cela a à voir avec le fait que pour les graphiques hors ligne, l'offre et la demande retournent 0. C'est-à-dire que pour les conseillers experts qui veulent ouvrir sur le marché, c'est impossible. Mais j'ai trouvé la solution suivante pour mon EA qui ne fonctionne qu'avec des ordres en attente : changer Bid et Ask pour _Bid() et _Ask() en utilisant la substitution automatique. _MarketInfo() renvoie le spread pour l'instrument négocié.

int _MarketInfo(string symb_for_work)
{
   if(symb_for_work=="USDCHFm") return(4);
   if(symb_for_work=="CHFJPYm") return(5);
   if(symb_for_work=="GBPUSDm") return(3);
   if(symb_for_work=="USDCADm") return(5);
   if(symb_for_work=="USDJPYm") return(3);
   if(symb_for_work=="EURGBPm") return(4);
   if(symb_for_work=="AUDUSDm") return(4);
   if(symb_for_work=="EURCHFm") return(4);
   if(symb_for_work=="EURJPYm") return(5);
   if(symb_for_work=="EURUSDm") return(2);
   if(symb_for_work=="NZDUSDm") return(6);
   if(symb_for_work=="AUDJPYm") return(6);   
 
return(0);
}
 
double _Bid()
{
   return(Close[0]);
}
 
double _Ask()
{
   return(Close[0]+_MarketInfo(symbol_for_trade)*Point);
}
Je pense que l'idée est claire. A en juger par les premiers résultats de l'EA révisée, les ordres s'ouvrent normalement. C'est maintenant le week-end, je le testerai donc en détail lorsque le trading commencera la semaine prochaine. Je pense que je pourrai réaliser ce que je voulais initialement.
 
IMHO, un non-sens ...
Si les développeurs ont vu que "pour les graphiques hors ligne, Bid et Ask renvoient 0",
qu'est-ce qui les empêche de le réparer ?
 

Les graphiques hors ligne peuvent être mis à jour assez rarement, par exemple. Et pendant l'intervalle d'actualisation, par exemple 1 à 2 minutes, l'offre et la demande réelles peuvent être assez éloignées de ce qui est affiché dans le graphique hors ligne. Et RefreshRates() ne sera d'aucune aide ici. Eh bien, il doit y avoir d'autres raisons que celle déjà découverte. Mais seuls les développeurs peuvent répondre à cette question.

 
solandr:

Les graphiques hors ligne peuvent être mis à jour assez rarement, par exemple. Et pendant l'intervalle d'actualisation, par exemple 1 à 2 minutes, l'offre et la demande réelles peuvent être assez éloignées de ce qui est affiché dans le graphique hors ligne. Et RefreshRates() n'aidera pas du tout. Eh bien, il doit y avoir d'autres raisons que celle déjà découverte. Mais seuls les développeurs peuvent répondre à cette question.

Exact, si la carte n'est pas mise à jour, l'offre deviendra obsolète.
Mais il en sera de même pour Close[0] !

Vous ne pouvez pas utiliser des prix sciemment erronés dans un conseiller expert de trading.
Utilisez MarketInfo( MODE_BID ) et MarketInfo( MODE_ASK ) pour obtenir un nouveau prix.)
 

En fait, je suis assez satisfait de Close[0] ;o)
Je ne suis pas pressé. Je ralentis même volontairement l'Expert Advisor ;o) selon le principe suivant :

1. Si le prix actuel est éloigné d'au moins 50 pips du fournisseur, celui-ci ne peut modifier l'ordre du fournisseur que s'il est nécessaire de le déplacer d'au moins 10 pips.
2. Si le prix actuel se situe dans une fourchette de 25...50 pips par rapport à l'ordre, le conseiller expert est autorisé à modifier l'ordre uniquement s'il est nécessaire de le modifier de 5 pips ou plus.
3. Si le prix actuel est plus proche de 25 pips de l'ordre, le conseiller expert déplacera les ordres en attente de 2 pips ou plus.

Ce schéma nous permet de réduire le nombre de mouvements d'ordres en attente au moins 5 fois, si ce n'est plus ! :o) Il s'agit de 0 (la nuit) à 20 (pendant les événements d'actualité) mouvements par heure, en moyenne, pour un montant total d'environ 60 ordres en attente (pour 12 devises) ! C'est-à-dire qu'il n'y a probablement pas plus de 200 mouvements par jour, et pas tous les jours. En général, je pense que dans le trading manuel, les gens peuvent déplacer les ordres encore plus, s'ils suivent exactement une certaine stratégie et jouent avec le même nombre de paires de devises ! ;o)

 

komposter, une fois de plus un GRAND MERCI pour avoir développé un Expert Advisor qui fusionne les bougies du jour du dimanche avec celles du lundi ! !!
Je travaille avec votre script depuis un mois maintenant sur le réel. Je lance le script pour traiter 19 paires de devises (toutes disponibles chez InterbankFX) pour 600 barres intraday chacune. Je règle le temps de rafraîchissement des graphiques à 1 minute. Tout fonctionne sans problème sur le CPU VIA C3 800 MHz !

J'ai remarqué une petite fonctionnalité, je suppose qu'il s'agit d'une fonctionnalité du terminal, et non du conseiller expert, dont je n'ai personnellement rien à redire ! Lorsque je travaille dans Metaeditor et que j'essaie de compiler un EA qui n'est même pas attaché à un graphique, le terminal génère des erreurs dans ses logs. En même temps, ce fait se révèle stable à la fois sur le processeur 800MHz, ainsi que sur le P4 3GHz et le Celeron 2GHz. Construire 198. Je ne l'ai pas essayé sur 200 car il y a quelques problèmes avec les mises à jour sur InterbankFX (la demande de mise à jour apparaît mais les builds ne sont pas téléchargés - mais cela n'a pas d'importance).
******************************
2006.12.09 03:26:29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileFlush
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : handle -1 invalide dans FileWriteDouble
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileWriteInteger
2006.12.09 03:26:29 29 WithoutSunday_4 : poignée invalide -1 dans FileSeek
2006.12.09 03:26:29 29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_AUDNZDm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
2006.12.09 03:26:29 29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_NZDJPYm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
2006.12.09 03:26:29 29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_AUDCADm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
2006.12.09 03:26:29:29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_EURCADm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
2006.12.09 03:26:29 29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_EURAUDm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
2006.12.09 03:26:29 29 WithoutSunday_4 EURUSDm,Daily : Alerte : FileOpenHistory("WS_GBPCHFm1440. hst", FILE_BIN | FILE_WRITE ) - Erreur #4102
2006.12.09 03:26:29 : FileOpen - trop de fichiers ouverts
*****************************

Habituellement, après son apparition, je redémarre simplement le terminal et tout continue à fonctionner normalement 24 heures sur 24 !
J'écris ceci à titre d'information et non pour que vous essayiez de régler le problème. Je pense que vous ne pouvez pas vous passer de l'aide des développeurs.

Je vous écris avec la demande suivante. Le Conseiller Expert pour le calcul des régressions linéaires et paraboliques mentionné ci-dessus dans cette branche fonctionne sur la base des cotations générées par ce script. Les calculs de régression sont basés sur les paramètres moyens des barres, c'est-à-dire qu'une valeur de (O+H+L+C)/4 est prise comme valeur de référence. Mais à en juger par mes observations à long terme, je suppose que ce modèle de lectures (O+H+L+C)/4 n'est pas tout à fait réussi. Je place un stop pour un ordre qui est ouvert sur la frontière du niveau de confiance de 95% sur la frontière de 99,9%. Cependant, dans certains cas, le prix a dépassé la limite de l'intervalle de confiance de 99,9 % de quelques pips seulement. En outre, le nombre de ces cas est supérieur à la valeur admissible selon les données statistiques ! C'est pourquoi je voulais vraiment vérifier mon hypothèse selon laquelle si nous prenons le modèle par High et Close comme base de calcul, cette limite sera statistiquement plus précise. Le conseiller expert est très volumineux - 184kB dans un fichier mq4. Il existe de nombreux endroits où les citations sont référencées. Si je corrige l'EA pour un nouveau modèle, outre le fait que cela demande beaucoup de travail, il y a une forte probabilité d'introduire des erreurs dans un algorithme de calcul assez complexe qui, à mon avis, est déjà bien testé et fonctionne de manière fiable.

C'est pourquoi je voudrais vous demander d'améliorer la dernière version du script afin qu'il forme les cotations de la période H12 à partir des chandeliers quotidiens reçus.
La barre H12 qui s'ouvre à 00:00 devrait avoir les valeurs O=H=L=C=Low de la barre quotidienne initiale.
La barre H12 qui s'ouvre à 12:00 devrait avoir les valeurs O=H=L=C=Haut de la barre quotidienne initiale.
De plus, le conseiller expert doit être capable d'échanger les valeurs, c'est-à-dire que la barre H12 à 00:00 = haut de la barre quotidienne initiale, la barre H12 à 12:00 = bas de la barre quotidienne initiale.
Pendant les mises à jour des graphiques en temps réel, le conseiller expert doit passer la ou les dernières barres H12 du jour en cours sans traitement, c'est-à-dire avec les valeurs actuelles de O,H,L,C pour chaque barre H12.
Le traitement des barres décrit ci-dessus ne doit être effectué qu'après la fermeture de la bougie quotidienne, lorsqu'il n'y a plus de changements dans les barres H12 du jour fermé.
Si vous pouvez m'aider à améliorer le script existant selon la méthode décrite, cela accélérera TRES fortement la vérification du modèle High-Low en termes d'analyse statistique des canaux. Je promets de présenter ici les résultats des comparaisons. Je pense qu'il sera intéressant pour de nombreuses personnes intéressées par le traitement des données statistiques de les lire. MERCI d'avance ! !!

 
solandr:

InterbankFX rencontre quelques problèmes avec la mise à jour (l'invitation à la mise à jour apparaît, mais le build n'est pas téléchargé - mais cela n'a pas d'importance).

Depuis les nouveaux serveurs réels, il n'y a pas vraiment de mise à jour. Avec le serveur de démonstration liveupdate, il se connecte sans problème.
 

Pour ma part, je vais d'abord essayer de vérifier le calcul du canal pour le High seulement et le Low seulement individuellement. Je verrai les résultats. Si les canaux obtenus à l'aide de différents échantillons coïncident en longueur, nous pouvons probablement nous passer d'un nouveau script pour la période H12. C'est-à-dire que nous utiliserons les données sur High pour les limites supérieures des canaux, et les données sur Low pour les limites inférieures. Peut-être que je vous ennuie pour rien avec mes demandes si tout peut être résolu beaucoup plus facilement dans mon EA ? Je pense qu'il n'est pas difficile à mettre en œuvre dans mon conseiller expert.

 
komposter J'ai un problème ici, pouvez-vous me dire ce qu'il faut faire ? Tous les détails sont ici http://forum.kimiv.ru/viewtopic.php?t=177.
 
solandr:

J'ai remarqué une petite chose, qui je suppose est une caractéristique du terminal et non de l'EA, à laquelle je n'ai personnellement pas à me plaindre ! Lorsque l'Expert Advisor est en cours d'exécution et que je compile un EA dans Metaeditor, qui n'est même pas attaché à un des graphiques, il y a une erreur dans les journaux du terminal.

Désolé de ne pas avoir répondu depuis longtemps - je viens de rentrer de vacances...

Le problème, il me semble, est que EA ne ferme pas les fichiers ouverts. La question est de savoir pourquoi il ne le fait pas =)
La seule hypothèse est que, pendant la compilation, la fonction de démarrage des EA qui fonctionnent est arrêtée de force.

Et au prochain "démarrage", les fichiers sont rouverts, mais il n'y a "pas assez d'espace" (maximum 32 fichiers ouverts).

L'Expert Advisor lui-même ne gère pas cette situation correctement - même si un fichier n'a pas été ouvert, il essaie quand même d'y écrire des données.
Corrigé - ajouté une ligne =)
if ( HistoryHandle[curChart] < 0 ) continue ;


attached Expert Advisor.



Concernant les tableaux H12. "Vous avez du temps mais pas d'argent" ne me concerne pas =)
Bien que ces deux valeurs soient également inversement liées - plus il y a de temps libre, moins il y a d'argent et vice versa.

En ce moment, je ne peux pas faire de travail de charité - j'ai trop de travail.
Et le forum est de 5 pages (*30 sujets) non lus....
Dossiers :
Raison: