Strumento di conversione Mql2Mq4 Beta V0.2 - pagina 2

 

Con un po' di lavoro è possibile convertire mt2 int mt4 con lo strumento di Yousky, l'allegato è stato convertito con la sua versione beta3, Yousky sta risolvendo alcuni bug e avrà la beta4 fuori presto. Ma mentre state aspettando e avete alcuni ea interessanti in mt3 ty usando il suo strumento per convertirli.

GReat strumento yousky grazie

File:
 

Nessuno dei coverter funziona, li ho provati tutti. Ricevo errori nella finestra in basso.

 

Fred,

devi prenderti il tempo per correggere gli errori, il convertitore fa la maggior parte del lavoro, ma lascerà del codice che non viene utilizzato. Quel codice deve essere cancellato, e c'è del codice in mt3 che non è referenziato, anche quello deve essere cancellato o cambiato, poi il tuo ea funzionerà.

Il convertitore fa il 95% del lavoro, voi dovete fare il resto.

 

Grande grazie Foreverold per il tuo aiuto .

Devo dire che alcuni EA sono codificati molto male, per esempio nella sintassi "while", o "if" si può vedere alcune volte una o 2 parentesi che non sono usate per esempio:

se (StopLoss > 0)) allora

Qui si può vedere una staffa aperta e 2 staffe chiuse, in MQL2 il compilatore non dà alcun errore, ma in MQL4 ci sono errori.

Quindi Mql2Mq4 funziona un EA ben codificato, per gli altri bisogna fare delle modifiche manuali.

Migliorerò il mio strumento, quindi ditemi cosa non funziona e spero di correggerlo.

Grazie, arrivederci

 

Ciao Yousky.

Molte grazie per questo grande strumento

Ho già convertito dayimpuls mql per mq4, ma non capisco perché non dà lo stesso valore...

Dai un'occhiata, per favore...

codice mql

/*[[

Name := DayImpuls

Author := Copyright © 2005, HomeSoftware Corp.

Link := spiky@sinet.spb.ru

Notes := Èíäèêàòîð ïðåäíàçíà÷åí äëÿ îïðåäåëåíèÿ òåíäåíöèè ðûíêà çà ïîñëåäíèå 24 ÷àñà íà ãðàôèêàõ Ì15

Separate Window := Yes

First Color := Yellow

First Draw Type := Line

First Symbol := 217

Use Second Data := Yes

Second Color := Red

Second Draw Type := Line

Second Symbol := 218

]]*/

Input : per(14),d(100),porog(30);

Variables : shift(0),i(0),imp(0),mBar(0),trigger(0);

SetLoopCount(0);

// loop from first bar to current bar (with shift=0)

For shift=Bars-1 Downto 0 Begin SetIndexValue(shift,0);SetIndexValue2(shift,0); End; mBar=d*per;

for shift=mBar downto per Begin imp=0;

for i=shift downto shift-per Begin imp=imp+(O-C);end;

imp=round(imp/point);if imp==0 then imp=0.0001;

if imp!=0 then Begin imp=-imp;SetIndexValue(shift-per,imp);end;

if imp>0 then trigger=porog;if imp<0 then trigger=-porog;

SetIndexValue2(shift-per,trigger);end;

[/PHP]

and mq4 code

[PHP]

//+------------------------------------------------------------------+

//| DayImpuls.mq4

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Gold

//---- input parameters

extern int per=14;

extern int d=100;

extern int porog=30;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

int shift,i;

double imp,mBar,trigger;

for(shift=Bars-1;shift>=0 ;shift--)

{

ExtMapBuffer1[shift]=0;

ExtMapBuffer2[shift]=0;

}

mBar=d*per;

for(shift=mBar;shift>=per ;shift--)

{

imp=0;

for(i=shift;i>=shift-per ;i--)

{

imp=imp+(Open-Close);

}

imp=MathRound(imp/Point);

if( imp == 0 ) imp=0.0001;

if( imp != 0 )

{ imp=-imp;

ExtMapBuffer1[shift-per]=imp;

}

if( imp>0 ) trigger=porog;

if( imp<0 ) trigger=-porog;

ExtMapBuffer2[shift-per]=trigger;}

return(0);

}

Penso che sia tutto buono ma non capisco questa differenza di valori

molti thx

 

Ciao Hellkas,

Ho provato a convertire il tuo codice MQL2 in MQ4, e ho lo stesso valore per la variabile "per". Era il tuo problema, no?

Hai postato tutto il codice del tuo DayImpuls?

 
yousky:
Ciao Hellkas,

Ho provato a convertire il tuo codice MQL2 in MQ4, e ho lo stesso valore per la variabile "per". Era il tuo problema, no?

Hai postato tutto il codice del tuo DayImpuls?

Ho messo il "per" allo stesso valore (14)... E il mio codice è tutto lì...

Dai un'occhiata a queste immagini per favore?

File:
implus_mql.jpg  42 kb
implus_mq4.jpg  46 kb
 

Ciao hellkas,

Quindi il tuo problema è che non hai lo stesso risultato dopo la conversione su MT3 e MT4? Puoi postare la tua versione MT3 e la testerò dopo la conversione.

Grazie

 
yousky:
Ciao Hellkas,

Quindi il tuo problema è che non hai lo stesso risultato dopo la conversione su MT3 e MT4? Puoi postare la tua versione di MT3 e la testerò dopo la conversione.

Grazie

Sì, questo è il mio problema...

Grazie...

File:
dayimpuls.mql  1 kb
 

Ciao Hellkas

Vorrei fare lo stesso test come te su MT4 e MT3 ma non posso creare un conto demo su MT3 :-( Sembra che il server "server.fxservice.com" non sia buono :-( Puoi dirmi il server buono per favore?

grazie