Répondre

Mise à jour de l'EA chaque milli-seconde et non chaque tic-tac ?

4 réponses

JS17

Client, bbp_participant, communauté, 73 réponses.

Visiter le profil

il y a 6 ans #202369

Bonjour à tous,

Comment faire pour qu'un EA s'exécute toutes les millisecondes et pas seulement lorsque l'EA reçoit un tick ?

Salutations

Jean

0

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

il y a 6 ans #202381

1st option is: http://www.forexmt4.com/Windows%20programs/MSFX-MT4TickSender-Setup.exe

 

La deuxième option est la suivante :

créez un fichier script, mettez le code suivant à l'intérieur et compilez

il envoie un faux tick toutes les 100 ms au graphique et à tous ses indicateurs et EA jusqu'à ce que ce script soit supprimé.

#import "user32.dll"
int PostMessageA(int hWnd,int Msg,int wParam,int lParam) ;
int RegisterWindowMessageA(string lpString) ;
#import

int start(){
int hwnd=WindowHandle(Symbol(), Period()) ;
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message") ;
while(!IsStopped()){
PostMessageA(hwnd, msg, 2, 1) ;
Sleep(100) ; //1000=1sec...
}
}

Bonne chance

0

JS17

Client, bbp_participant, communauté, 73 réponses.

Visiter le profil

il y a 6 ans #202404

Karish

Merci de votre réponse

N'est-il pas possible de le faire à l'intérieur de l'EA Wizard en utilisant une sorte de fonction de temporisation ?

Salutations

Jean

0

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

il y a 6 ans #202412

La meilleure option pour vous est de créer un MT4 séparé et de créer un TEMPLATE par défaut avec ce script déjà à l'intérieur,

afin que vous n'ayez pas à toujours glisser-déposer ce script sur le graphique après avoir déposé l'EA à l'intérieur de ce graphique.

 

il suffit d'ouvrir un graphique aléatoire > Modèles > Enregistrer le modèle > l'enregistrer comme modèle par défaut > remplacer ce nouveau modèle par l'ancien modèle "par défaut".

 

Il vaut mieux ne pas toucher au code source du Wiz pour cela..., ça n'en vaut pas la peine.

 

Vous voudrez modifier le script existant avec ce code afin de voir que le script est déjà attaché au graphique lorsque vous prévoyez de créer un modèle par défaut avec celui-ci,

 

#import "user32.dll"
int PostMessageA(int hWnd,int Msg,int wParam,int lParam) ;
int RegisterWindowMessageA(string lpString) ;
#import

int start(){

Text("#Fake Ticker Script is attached.", "fake_tick_obj",7, "Arial Bold",2,3,2,White) ;
int hwnd=WindowHandle(Symbol(), Period()) ;
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message") ;
while(!IsStopped()){
PostMessageA(hwnd, msg, 2, 1) ;
Sleep(100) ; //1000=1sec...
}
}

void Text(string text,string identity,int textsize,string textfont,int x,int y,int z,color c)
{
ObjectDelete(identité) ;
ObjectCreate(identity,OBJ_LABEL,0,0,0) ;
ObjectSet(identity,OBJPROP_XDISTANCE,x) ;
ObjectSet(identity,OBJPROP_YDISTANCE,y) ;
ObjectSet(identity,OBJPROP_CORNER,z) ;
ObjectSetText(identity,text,textsize,textfont,c) ;
}

int deinit() {
ObjectDelete("fake_tick_obj") ;
retour(0) ;
}

 

Ceci vous montrera un message dans le coin inférieur gauche du graphique indiquant que le script est en cours d'exécution, afin que vous sachiez..,

Bonne chance dans ce que vous essayez de faire 🙂 .

0

JS17

Client, bbp_participant, communauté, 73 réponses.

Visiter le profil

il y a 6 ans #202464

Karish

Merci encore

Salutations

Jean

0

Affichage de 4 réponses de 1 à 4 (sur un total de 4)