Nous sommes le 22 Jan 2017, 11:08

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 12 messages ] 
Auteur Message
 Sujet du message: Tester le close[0]
MessagePosté: 10 Déc 2016, 15:57 
Hors ligne
Nouveau

Inscription: 03 Sep 2015, 23:04
Messages: 6
Bonjour

J ai utilisé un ea builder en ligne et j'ai pu constater que si l on teste le Close de la bougie en cours pour declencher un trade, en backtest, cela fonctionne.

Mais en live ?

Je ne comprends pas comment cela est possible puisque la bougie n est fermee qu une fois qu un autre est ouverte...

Je verrais bien à la reouverture du marché mais pour l instant j en appelle à vos lumieres

merci

stephane


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 10 Déc 2016, 17:27 
Hors ligne
Membre assidu

Inscription: 21 Oct 2015, 13:07
Messages: 103
Le Close est la dernière cotation de la bougie. En cours ou pas.
Attention, si tu BT en Close[0] tu BT la modélisation MT4 !
voir Tickstory.


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 10 Déc 2016, 22:12 
Hors ligne
Nouveau

Inscription: 03 Sep 2015, 23:04
Messages: 6
Merci pour ta réponse.

Donc si j ai bien compris, le close est le premier tick quand on est au deuxieme tick.

Par conte je ne comprends pas ce que signifie
Citation:
tu BT la modélisation MT4


C'est qu il va chercher le close reel de la bougie qu il connait forcement ...

Merci


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 15 Déc 2016, 12:05 
Hors ligne
Membre actif
Avatar de l’utilisateur

Inscription: 29 Sep 2016, 15:10
Messages: 45
il ne faut pas utiliser Close[0] mais
Code:
double c = iClose(...,0)


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 15 Déc 2016, 15:34 
Hors ligne
VideoBourse family
Avatar de l’utilisateur

Inscription: 21 Sep 2014, 20:30
Messages: 745
@steph06

si tu en es à te poser ce type de question, je te conseille d'acheter le bouquin (dispo en pdf) de mon ami Henri Baltzer, "programmer en mql4".

Tres bien fait, simple, exemples, progressivité.

Je peux te connecter avec lui au cas où


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 16 Déc 2016, 16:40 
Hors ligne
Membre assidu

Inscription: 28 Sep 2015, 15:18
Messages: 471
Oui je n'ai entendu dire que du bien de ce bouquin.

Par ailleurs la doc des ruskofs est vraiment inepte.

Il y a un phénomène vraiment piégeux dans Metatrader, c'est que le système dans son ensemble réagit différemment selon que l'on soit en optimisation, en backtest ou en prod (démo ou réel). En gros ça marche pareil mais il y a quelques pièges ou le débutant va tomber à pieds joint.

Pour en revenir à la question posée, tout d'abord quand on a besoin du prix, soit c'est un prix échantillonné (au sens de l'échantillonnage en théorie du signal) et donc selon le time frame, on prend le prix de la bar closed c'est à dire le close de la bar1, pas de la bar0. Dans un indic on prend donc close[1] (ou close[indice] si on est dans la boucle d'init ou de prise en compte de plusieurs nouvelles barres).

Si pour quelques raisons que ce soit l'indic utilise en sus de l'échantillonnage du time frame chaque tick, le prix du tick (depuis les builds 600 comportant la nouvelle interface d'appel) est effectivement obtenu avec close[0]. Attention, ici close est le nom de la variable attribuée au paramètres de la fonction d'appel de l'indic : OnCalculate(...) En nom de variable on met ce qu'on veut. Les exemples d'indicateurs fournis avec mt4 montrent comment s'en servir pour écrire un indic. Attention au nom des variables, close avec c minuscule peut être piégeux car différent peu de Close avec majuscule qui est le tableau global accessible (pas d'erreur de compil, mais ça va pas marcher en backtest).

Dans un EA, on utilise iClose qui donne exactement le même résultat que ce tableau : Close[i], quand on fait référence à la paire et au time frame du graphique sur lequel l'EA est attaché. On peut donc avoir le prix du dernier tick par Close[0], ou l'iClose(.., 0...) approprié. Personnellement je trouve cela inélégant et préfère Bid tout simplement.

Pour en revenir à la petite histoire et si ma mémoire ne me joue pas des tours, il était donc possible avant les releases 600 d'écrire pour back test dans l'indic tmpPrix=Close[0] en pensant disposer du prix du tick fournis par le tester. Que neni ! On obtenait par avance le futur prix de Close de la bar alors que ceci était sensé être correctement modélisé. Avec une telle information sur le futur, y avait moyen d'écrire des machins salement gagnants sans même sur optimiser. :mrgreen:

_________________
Mieux vaut être broker et en bonne santé que trader et malade.


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 16 Déc 2016, 20:59 
Hors ligne
VideoBourse family
Avatar de l’utilisateur

Inscription: 21 Sep 2014, 20:30
Messages: 745
Jeff719 a écrit:
On peut donc avoir le prix du dernier tick par Close[0], ou l'iClose(.., 0...) approprié. Personnellement je trouve cela inélégant et préfère Bid tout simplement.


Oui parfaitement, prendre Bid.

@Jeff719, et toi comment as tu appris le MQL4 ? Juste avec le forum MQL ?
Tu fais un peu de MT 5 également ?


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 16 Déc 2016, 22:52 
Hors ligne
Membre assidu

Inscription: 28 Sep 2015, 15:18
Messages: 471
Disons que je suis un vieux programmeur - j'ai peut être écrit un demi million de lignes dans ma carrière - avec qq sources exemple, mql c'était brossé en quelques jours.

J'ai compris après quelques mois d'expérience des marchés que ça allait être compliqué. Lorsqu'un jeune crétin de commercial broker explique au prétexte que la syntaxe ressemble à C++, qu'ainsi les particuliers disposent de presque les mêmes outils que les professionnels... j'ai été saisi du fait que ça allait être très dur, lorsque vos fournisseurs d'informations en fait vous enfument.

Parce qu'avant les releases 600, mql4 c'était un méchant petit langage procédural évoquant le Pascal d'il y a 30 ans. D'ailleurs la semi compil évoque le Pcode.

Je n'ai pas encore fait de mql5. Avec le marché US et IB, il faudra bien... 8)

_________________
Mieux vaut être broker et en bonne santé que trader et malade.


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 17 Déc 2016, 13:12 
Hors ligne
Membre actif
Avatar de l’utilisateur

Inscription: 29 Sep 2016, 15:10
Messages: 45
Jeff719 a écrit:
On peut donc avoir le prix du dernier tick par Close[0], ou l'iClose(.., 0...) approprié. Personnellement je trouve cela inélégant et préfère Bid tout simplement.



sauf que sur MT5 il n'y a pas Ask et Bid... Donc c'est une bonne habitude d'utiliser iClose.

Jeff


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 17 Déc 2016, 22:54 
Hors ligne
VideoBourse family
Avatar de l’utilisateur

Inscription: 21 Sep 2014, 20:30
Messages: 745
Bien vu.


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 18 Déc 2016, 11:31 
Hors ligne
Membre assidu

Inscription: 28 Sep 2015, 15:18
Messages: 471
ionone a écrit:

sauf que sur MT5 il n'y a pas Ask et Bid... Donc c'est une bonne habitude d'utiliser iClose.

Merci!

Tiens, si tu maitrise 4 et 5, ce serait bien de saupoudrer à l'occasion ces remarques. Les différences pour passer de 4 à 5. Un papier d'ensemble est assommant tant à lire qu'à écrire, surtout que c'est par petites touches qu'on mémorise.

_________________
Mieux vaut être broker et en bonne santé que trader et malade.


Haut
 Profil  
 
 Sujet du message: Re: Tester le close[0]
MessagePosté: 19 Déc 2016, 13:11 
Hors ligne
Membre actif
Avatar de l’utilisateur

Inscription: 29 Sep 2016, 15:10
Messages: 45
Jeff719 a écrit:
ionone a écrit:

sauf que sur MT5 il n'y a pas Ask et Bid... Donc c'est une bonne habitude d'utiliser iClose.

Merci!

Tiens, si tu maitrise 4 et 5, ce serait bien de saupoudrer à l'occasion ces remarques. Les différences pour passer de 4 à 5. Un papier d'ensemble est assommant tant à lire qu'à écrire, surtout que c'est par petites touches qu'on mémorise.

je vais modérer mon propos, il y a un Ask et un Bid que l'on peut récupérer mais pas directement par Ask et Bid, il faut utiliser :

Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
et
Bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);


pour utiliser MT5, je recommande fortement d'utiliser cTrade pour manager les ordres car sinon c'est un casse-tête sans fin, pour ouvrir un simple ordre il faut plusieurs dizaines de lignes...cTrade simplifie tout ça...

Jeff


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 12 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com
phpBB SEO