Risposta

Aggiornare EA ogni mili-secondo e non ogni tick?

4 risposte

JS17

Cliente, bbp_partecipante, comunità, 73 risposte.

Visita il profilo

6 anni fa #202369

Ciao a tutti,

Come faccio a far funzionare un EA ogni mili-secondo e non solo quando l'EA riceve un tick?

Saluti

Giovanni

0

Karish

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

Visita il profilo

6 anni fa #202381

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

 

La seconda opzione è:

creare un file di script inserendo il seguente codice e compilandolo

invia un falso tick ogni 100 ms al grafico e a tutti i suoi indicatori e EA fino a quando questo script non viene rimosso....

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

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

Buona fortuna

0

JS17

Cliente, bbp_partecipante, comunità, 73 risposte.

Visita il profilo

6 anni fa #202404

Karish

Grazie per la risposta

Non è possibile farlo all'interno di EA Wizard utilizzando una sorta di funzione timer?

Saluti

Giovanni

0

Karish

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

Visita il profilo

6 anni fa #202412

L'opzione migliore per voi è creare una MT4 separata e creare un TEMPLATE predefinito con questo script già al suo interno,

in modo da non dover sempre trascinare e rilasciare questo script sul grafico dopo aver rilasciato l'EA all'interno del grafico.

 

basta aprire un grafico a caso > Modelli > Salva modello > salvarlo come predefinito > sostituire il nuovo modello con il modello "predefinito" più vecchio.

 

È meglio non toccare il codice sorgente di Wiz per questo..., non ne vale la pena.

 

Si consiglia di modificare lo script già esistente con questo codice per vedere che lo script è già collegato al grafico quando si intende creare un modello predefinito con esso,

 

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

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(stringa testo,stringa identità,int textsize,stringa textfont,int x,int y,int z,colore c)
{
ObjectDelete(identity);
ObjectCreate(identity,OBJ_LABEL,0,0,0);
ObjectSet(identità,OBJPROP_XDISTANCE,x);
ObjectSet(identità,OBJPROP_YDISTANCE,y);
ObjectSet(identità,OBJPROP_CORNER,z);
ObjectSetText(identity,text,textsize,textfont,c);
}

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

 

Questo mostrerà un messaggio nell'angolo in basso a sinistra del grafico che indica che lo script è in esecuzione, in modo da sapere..,

in bocca al lupo per quello che stai cercando di fare 🙂

0

JS17

Cliente, bbp_partecipante, comunità, 73 risposte.

Visita il profilo

6 anni fa #202464

Karish

Grazie ancora

Saluti

Giovanni

0

Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)