Aide au codage - page 251

 

Pas encore, je le ferai s'il est d'accord. Malheureusement, il y a un décalage horaire au Japon, donc je dois attendre plus tard.

 
Ovo:
Pas encore, je le ferai s'il est d'accord. Malheureusement, il y a un décalage horaire au Japon, donc je dois attendre plus tard.

Équipe de nuit ________________________

Ma pensée initiale était la suivante :

Supposons que TimeCurrent() et CopyRates() fonctionnent correctement. Dans ce cas, il retournerait ce résultat vrai seulement s'il n'y avait aucune donnée dans le fichier historique d'une minute (ou si une seule barre était sauvegardée dans ce fichier historique), ce qui est difficile à croire.

Donc, si pour une raison quelconque, TimeCurrent() renvoie 0 dans certains cas, vous obtiendrez cette erreur.

Ou, si tout ce qui précède est exclu, CopyRates() peut fonctionner de manière erronée. Je n'ai pas eu de problèmes avec elle mais dans metatrader 5 il y a des cas fréquents où une fonction très similaire (CopyTime()) fait un non-sens complet : sur un tick elle fonctionne, sur le tick suivant elle retourne "invalid time frame error" et puis sur le tick suivant elle fonctionne à nouveau correctement (la variable time frame n'a jamais changé pendant ce temps bien sûr). Puisque la base pour les deux est la même maintenant, il n'est pas difficile de supposer quelque chose de similaire.

________________________

Nous devrions garder à l'esprit ce que CJA a dit une fois : "Après tout, nous parlons du nouveau metatrader 4" qui est tout sauf sans bug.

 
mladen:
Équipe de nuit

________________________

Ma pensée originale était la suivante :

Supposons que TimeCurrent() et CopyRates() fonctionnent correctement. Dans ce cas, le résultat ne serait vrai que s'il n'y avait aucune donnée dans le fichier historique d'une minute (ou si une seule barre était enregistrée dans ce fichier historique), ce qui est difficile à croire.

Donc, si pour une raison quelconque, TimeCurrent() renvoie 0 dans certains cas, vous obtiendrez cette erreur.

Ou, si tout ce qui précède est exclu, CopyRates() peut fonctionner de manière erronée. Je n'ai pas eu de problèmes avec elle mais dans metatrader 5 il y a des cas fréquents où une fonction très similaire (CopyTime()) fait un non-sens complet : sur un tick elle fonctionne, sur le tick suivant elle retourne "invalid time frame error" et puis sur le tick suivant elle fonctionne à nouveau correctement (la variable time frame n'a jamais changé pendant ce temps bien sûr). Puisque la base pour les deux est la même maintenant, il n'est pas difficile de supposer quelque chose de similaire.

________________________

Nous devrions garder à l'esprit ce que CJA a dit une fois : "Après tout, nous parlons du nouveau metatrader 4" qui est tout sauf sans bug.

Lol, cela semble effrayant. Je dépend totalement de cette commande. J'ai effectué quelques tests et elle ne s'est pas comportée de manière très logique, mais pas non plus de manière aléatoire. J'espère donc qu'ils ont fait un meilleur travail qu'avec le MT5.

 

Bonjour,

Quelqu'un peut-il m'aider à coder ce qui suit :

J'ai besoin du code pour ouvrir des ordres d' achat et de vente en attente (martingale je pense que c'est le nom pour cela) à la distance "a + x + y" du point de départ à un certain temps "z".

distance "x" = spread à l'heure "z" + 0.1 pip, stop minimum autorisé par mon courtier.

distance "y" = pips pour transformer l'ordre en attente en ordre de marché.

De cette façon, cette martingale ouvrira un ordre d'achat en attente au point de fixation ("a") + Spread + 0.1 pip ("x") + "y" pips, et fixera un stop loss à "x" avec "y" pips SL.

"y" pips = 1 pour un spread supérieur à 35 points

"y" pips = 2 pour un écart inférieur à 35 points.

L'idée est d'inclure la variable de l'écart dans les points de l'ordre en attente d'ouverture de l'ea et pas seulement un ordre en attente d'achat ou de vente avec un montant de pips pour tous les cas.

Merci

Daniel

 

J'ai besoin d'un script pour le contrôle du temps

Je veux que l'ea démarre à une heure spécifique gm+2 et s'arrête à une heure spécifique.

Je veux que le temps de démarrage et le temps de fermeture soient ouverts.

 
dasssi:
J'ai besoin d'un script pour le contrôle du temps

je veux que l'ea démarre à un moment précis gm+2 et s'arrête à un moment précis

Je veux dire le temps de démarrage et le temps de fermeture de tous les comptes ouverts.

dasssi

Première question : pourquoi ne pas ajouter un filtre temporel dans l'EA lui-même ?

PS : cela peut être fait, mais alors cela arrête ou active tous les experts, pas seulement un, c'est pourquoi je pose la question supérieure.

 

Bonjour, quelqu'un peut-il m'aider à comprendre pourquoi ce code ne fonctionne pas...(il fonctionnait bien dans le build 509)

dans le build 610 il compile sans erreurs mais mon terminal se bloque et ne peut pas charger...

int start()

{

int counted_bars=IndicatorCounted() ;

if(counted_bars>0) counted_bars-- ;

int limit=Bars-counted_bars ;

for(int i=0 ; i<limit ; i++)

{

BUFFER_1 = iCustom(NULL,0, "MYindicator",Period,3,iBarShift(NULL,0,Time,false)) ;

 

il y avait un problème de compilation mais je l'ai résolu et j'ai changé l'ea.

merci

 
mladen:
Équipe de nuit ________________________

Ma pensée initiale était la suivante :

Supposons que TimeCurrent() et CopyRates() fonctionnent correctement. Dans ce cas, le résultat ne serait vrai que s'il n'y avait aucune donnée dans le fichier historique d'une minute (ou si une seule barre était enregistrée dans ce fichier historique), ce qui est difficile à croire.

Donc, si pour une raison quelconque, TimeCurrent() renvoie 0 dans certains cas, vous obtiendrez cette erreur.

Ou, si tout ce qui précède est exclu, CopyRates() peut fonctionner de manière erronée. Je n'ai pas eu de problèmes avec elle mais dans metatrader 5 il y a des cas fréquents où une fonction très similaire (CopyTime()) fait un non-sens complet : sur un tick elle fonctionne, sur le tick suivant elle retourne "invalid time frame error" et puis sur le tick suivant elle fonctionne à nouveau correctement (la variable time frame n'a jamais changé pendant ce temps bien sûr). Puisque la base pour les deux est la même maintenant, il n'est pas difficile de supposer quelque chose de similaire.

________________________

Nous devrions garder à l'esprit ce que CJA a dit une fois : "Après tout, nous parlons du nouveau metatrader 4" qui est tout sauf sans bug.

Lol, finalement vous aviez raison. Après avoir remplacé le TimeCurrent par un integer, le code fonctionne tout autour du globe. Il semble que cela dépendait du fuseau horaire. Cela a pris un jour de ma vie.

 
dasssi:
Il y avait un problème de compilation mais je l'ai résolu et j'ai changé l'EA.

Btw : voici un indicateur (pas un script) qui peut activer ou désactiver tous les EAs et scripts à un moment donné. Les limites de temps devraient être votre heure locale (ordinateur). Il ne dépend pas du tick, donc il peut désactiver ou activer le trading même si les ticks n'arrivent pas.

Dossiers :