Auto-Forex

Auto-Forex

Le Forex Auto - Indicateurs et Experts Advisor sur Metatrader
 
Nous sommes le Dim 1 Aoû 2010 02:19

Heures au format UTC




Poster un nouveau sujet Répondre au sujet  [ 5 messages ] 
Auteur Message
 Sujet du message: programmation mt4
MessagePosté: Dim 13 Sep 2009 03:11 
Hors ligne
Forex apprenti
Forex apprenti

Inscription: Lun 8 Juin 2009 19:10
Messages: 110
Il faut vraiment être perspicace pour comprendre certaines erreurs d'exécution. Je suis resté un moment sur des erreurs 4107 ... en fait les choses se passaient ainsi

une routine aa() { double a; a=.... bb(a); } appelle une routine bb() avec un paramètre a. Rien de spécial dans la routine bb(); et pourtant j'avais des erreurs 4107 mais pas systématiquement.

L'erreur était du au fait que la variable a est locale à aa() ! Donc si elle est utilisée immédiatement après sa création, pas de problème mais si elle est réutilisée en une seconde utilisation de aa() à travers start(), sa valeur est perdue.

Il faut donc réagir ainsi: déclarer a en tant que variable globale. Sa valeur sera conservée.

Il semble donc que les variables locales soient crées et détruites dès que la routine est fermée.


Haut
 Profil  
 

programmation mt4

 

 Sujet du message: Re: programmation mt4
MessagePosté: Dim 13 Sep 2009 11:38 
Hors ligne
Forex connaisseur
Forex connaisseur
Avatar de l’utilisateur

Inscription: Lun 26 Jan 2009 21:12
Messages: 179
Localisation: France
SAlut,
c'est le propre des variables locales... le MQL est en ce point identique au langage C et certainement à beaucoup de langages dérivés.
Les variables déclarées dans une fonction, donc locales à la fonction, sont en fait créées dans la pile du uP. A la sortie de la fonction, la pile est "vidée" et restituée telle qu'elle était avant l'exécution de la fonction.
Il faudrait se renseigner, mais logiquement, les variables déclarées à l'intérieur de la fontion start() devraient aussi être locales à cette fonction. Et donc ne pas être globales.
Les variables globales sont celles déclarées hors des fonctions, en début de fichier, et encore... elles ne sont globales qu'au fichier en cours d'exécutions (pas utilisables par un autre programme)...

Il est parfois utile de connaître un peu le fonctionnement des uP pour comprendre comment fonctionne un programme...

@+

_________________
##-----m--°|°--m--------##
Cignus - "petit joueur"
#####################
PipMaker V1.4 (EURAUD) en réel
Image
Balance 435$ au démarrage de Pipmaker (LotSize=0.02; LotIncrement=0.02; ProfitTarget=2)
AccountSentry (protection à 400$)


Haut
 Profil  
 
 Sujet du message: Re: programmation mt4
MessagePosté: Dim 13 Sep 2009 11:57 
Hors ligne
Forex apprenti
Forex apprenti

Inscription: Lun 8 Juin 2009 19:10
Messages: 110
Citation:
Il est parfois utile de connaître un peu le fonctionnement des uP pour comprendre comment fonctionne un programme...


A titre d'information, j'ai construit mon premier micro-ordinateur en 1977. J'ai programmé en assembleur le 6800, le 8080, le z80, le 6502, le 68000 et le 8086, ainsi que le 8048-8051 (sur la carte de développement IMSAI) (non compris la programmation assembleur du pdp15) et ai réalisé plusieurs cartes électroniques. Une variable locale peut parfaitement être vue comme autre chose qu'un indice dans une pile mais comme une facilité au niveau du compilateur (mais pour mt4 il semble que ce soit du p-code, donc pas un vrai compilateur. Ce qui expliquerait que le futur mt5 serait 15 à 20 fois plus rapide que le mt4 et aussi rapide que du C: un vrai compilateur ?)

reférences: http://pagesperso-orange.fr/bruno.vivie ... e%20PICARD
(mon nom est claude Picard)


Haut
 Profil  
 
 Sujet du message: Re: programmation mt4
MessagePosté: Dim 13 Sep 2009 12:37 
Hors ligne
Forex connaisseur
Forex connaisseur
Avatar de l’utilisateur

Inscription: Lun 26 Jan 2009 21:12
Messages: 179
Localisation: France
:lol:

Pardon, claudeH, si tu as pris pour toi la dernière phrase de mon post précédent...
Ce n'était d'ailleurs qu'une remarque comme ça...
Au vu des posts que tu as pu écrire précédemment, il semblait évident que tes connaissances en informatiques sont bien complètes et probablement plus complètes que les miennes...
Pour info aussi (on va se faire un club :D) je suis électroniciens de formation, j'ai également construit des trucs à base de 6809, 68000 et maintenant 68hc12, en passant un peu par le 8086... J'ai programmé en assembleur et langage C ces bidules... Enfin, bon, c'était rigolo... J'ai un peu perdu la main.
Pour ce qui est de MT4, je pense que cela ressemble plus à Java et qu'effectivement pas un vrai compilateur (un interpréteur avec machine virtuelle)... Si MT5 devient un vrai compilateur, alors, là, oui, cela devrait booster les backtests :D
Personnellement, une des seules vrai amélioration que j'aurais voulu voir, est la possibilité de travailler en x ticks, mais cela ne semble pas encore prévu...

Sinon, tu as commencé à regarder le MQL5 ?
Y aura de grosses différences ?

Bien à toi.

_________________
##-----m--°|°--m--------##
Cignus - "petit joueur"
#####################
PipMaker V1.4 (EURAUD) en réel
Image
Balance 435$ au démarrage de Pipmaker (LotSize=0.02; LotIncrement=0.02; ProfitTarget=2)
AccountSentry (protection à 400$)


Haut
 Profil  
 
 Sujet du message: Re: programmation mt4
MessagePosté: Dim 13 Sep 2009 15:41 
Hors ligne
Forex apprenti
Forex apprenti

Inscription: Lun 8 Juin 2009 19:10
Messages: 110
Pour l'instant il semblait que Metaquotes se dirigeait vers la NFA toute voile dehors mais depuis quelques temps, silence radio. Il me semble que cela signifie que de lourdes modifications ont été faites et que NFA n'est plus aussi à l'ordre du jour qu'il y paraît. Heureusement. Un grand nombre de Brokers ayant suivi la NFA voient fondre comme neige au Soleil leurs clientèles au profit des non NFA. Il est donc probable que Metaquotes a senti le vent mauvais venir aussi de son côté...

Puisque tu es électronicien de formation, je suppose que tu as apprécié la carte X-Bus qui date de 1982-83...

Mais ma formation est toute autre: je suis professeur de mathématiques agrégé et diplômé de 3e cycle.


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

Heures au format UTC


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 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
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Template made by DEVPPL Flash Games - Traduction par: phpBB-fr.com
phpBB SEO

Accueil du site - Forum - RSS - Sitemap -