Discussione sull’articolo "Migrazione da MQL4 a MQL5" - pagina 10 1...345678910111213 Nuovo commento Vitaly Muzichenko 2017.07.08 02:46 #91 -Aleks-:Non riesco a capire come utilizzare la funzioneIl compilatore avverte'OBJPROP_TIME1' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2891 12'OBJPROP_TIME1' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2891 12'OBJPROP_PRICE1' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2893 12'OBJPROP_PRICE1' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2893 12'OBJPROP_TIME2' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2895 12'OBJPROP_TIME2' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2895 12'OBJPROP_PRICE2' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2897 12'OBJPROP_PRICE2' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2897 12'OBJPROP_TIME3' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2899 12'OBJPROP_TIME3' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2899 12'OBJPROP_PRICE3' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2901 12'OBJPROP_PRICE3' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2901 12Cambiare ObjectSetInteger(...) in ObjectSetMQL4(...) nelle righe in cui si verifica l'errore.In generale, è più facile da riscrivere, è molto veloce cambiare lì, letteralmente 2 minuti di tempo. Aleksey Vyazmikin 2017.07.08 20:52 #92 Vitaly Muzichenko:Cambiare ObjectSetInteger(...) in ObjectSetMQL4(...) nelle righe in cui si verifica l'errore.In generale, è più facile da riscrivere, è molto veloce cambiarlo lì, letteralmente 2 minuti di tempo.Non capisco o non funziona.Avevo una funzione di questo tipo//+------------------------------------------------------------------+ //Funzione per la visualizzazione di informazioni sullo schermo| //+------------------------------------------------------------------+ void Label(string _name,int _window,int _x,int _y,string _text,int _font,color _color,int corner) { ObjectDelete(0,_name); ObjectCreate(0,_name,OBJ_LABEL,_window,0,0); ObjectSet(_name,OBJPROP_CORNER,corner); ObjectSet(_name,OBJPROP_XDISTANCE,_x); ObjectSet(_name,OBJPROP_YDISTANCE,_y); ObjectSetText(_name,_text,_font,"Arial",_color); }Per farla funzionare in MQL5, ho aggiunto dall'articolo bool ObjectSetText(string name, string text, int font_size,string font="", color text_color=CLR_NONE) { int tmpObjType=(int)ObjectGetInteger(0,name,OBJPROP_TYPE); if(tmpObjType!=OBJ_LABEL && tmpObjType!=OBJ_TEXT) return(false); if(StringLen(text)>0 && font_size>0) { if(ObjectSetString(0,name,OBJPROP_TEXT,text)==true && ObjectSetInteger(0,name,OBJPROP_FONTSIZE,font_size)==true) { if((StringLen(font)>0) && ObjectSetString(0,name,OBJPROP_FONT,font)==false) return(false); if(text_color>-1 && ObjectSetInteger(0,name,OBJPROP_COLOR,text_color)==false) return(false); return(true); } return(false); } return(false); } bool ObjectSet(string name, int index, double value) { switch(index) { case OBJPROP_TIME1: ObjectSetInteger(0,name,OBJPROP_TIME,(int)value);return(true); case OBJPROP_PRICE1: ObjectSetDouble(0,name,OBJPROP_PRICE,value);return(true); case OBJPROP_TIME2: ObjectSetInteger(0,name,OBJPROP_TIME,1,(int)value);return(true); case OBJPROP_PRICE2: ObjectSetDouble(0,name,OBJPROP_PRICE,1,value);return(true); case OBJPROP_TIME3: ObjectSetInteger(0,name,OBJPROP_TIME,2,(int)value);return(true); case OBJPROP_PRICE3: ObjectSetDouble(0,name,OBJPROP_PRICE,2,value);return(true); case OBJPROP_COLOR: ObjectSetInteger(0,name,OBJPROP_COLOR,(int)value);return(true); case OBJPROP_STYLE: ObjectSetInteger(0,name,OBJPROP_STYLE,(int)value);return(true); case OBJPROP_WIDTH: ObjectSetInteger(0,name,OBJPROP_WIDTH,(int)value);return(true); case OBJPROP_BACK: ObjectSetInteger(0,name,OBJPROP_BACK,(int)value);return(true); case OBJPROP_RAY: ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,(int)value);return(true); case OBJPROP_ELLIPSE: ObjectSetInteger(0,name,OBJPROP_ELLIPSE,(int)value);return(true); case OBJPROP_SCALE: ObjectSetDouble(0,name,OBJPROP_SCALE,value);return(true); case OBJPROP_ANGLE: ObjectSetDouble(0,name,OBJPROP_ANGLE,value);return(true); case OBJPROP_ARROWCODE: ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(int)value);return(true); case OBJPROP_TIMEFRAMES: ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES,(int)value);return(true); case OBJPROP_DEVIATION: ObjectSetDouble(0,name,OBJPROP_DEVIATION,value);return(true); case OBJPROP_FONTSIZE: ObjectSetInteger(0,name,OBJPROP_FONTSIZE,(int)value);return(true); case OBJPROP_CORNER: ObjectSetInteger(0,name,OBJPROP_CORNER,(int)value);return(true); case OBJPROP_XDISTANCE: ObjectSetInteger(0,name,OBJPROP_XDISTANCE,(int)value);return(true); case OBJPROP_YDISTANCE: ObjectSetInteger(0,name,OBJPROP_YDISTANCE,(int)value);return(true); case OBJPROP_FIBOLEVELS: ObjectSetInteger(0,name,OBJPROP_LEVELS,(int)value);return(true); case OBJPROP_LEVELCOLOR: ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,(int)value);return(true); case OBJPROP_LEVELSTYLE: ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,(int)value);return(true); case OBJPROP_LEVELWIDTH: ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,(int)value);return(true); default: return(false); } return(false); } Ho ottenuto gli errori sopra descritti. Vitaly Muzichenko 2017.07.08 22:29 #93 -Aleks-:Non capisco o non funziona.Avevo questa funzionePer farla funzionare in MQL5, l'ho aggiunta dall'articolo. E ho ottenuto gli errori sopra descritti.Tali costruzioni avrebbero dovuto essere buttate nel cesso già nel 2013. ObjectSet(_name,OBJPROP_CORNER,corner); ObjectSet(_name,OBJPROP_XDISTANCE,_x); ObjectSet(_name,OBJPROP_YDISTANCE,_y); ObjectSetText(_name,_text,_font,"Arial",_color);Utilizzo:ObjectSetDouble(...) ObjectSetInteger(...) Aleksey Vyazmikin 2017.07.08 22:46 #94 Vitaly Muzichenko:Questo è il tipo di design che avrebbe dovuto essere gettato nel water già nel 2013.Usalo:Grazie. Ho capito che nel mio caso devo mettere ObjectSetInteger ovunque . Vitaly Muzichenko 2017.07.08 22:47 #95 -Aleks-:Grazie. Ho capito che nel mio caso devo mettere ObjectSetInteger ovunque .Assolutamente sì.La guida descrive tutto perfettamente bene, dove è necessario Integer e dove è necessario Dooble Aleksey Vyazmikin 2017.07.08 22:57 #96 Vitaly Muzichenko:Assolutamente sì.La guida descrive tutto perfettamente, dove è necessario Integer e dove è necessario Dooble.Ero un po' confuso con la guida perché non sapevo molto di come lavorare con gli oggetti prima e ho preso in prestito la funzione.... Vitaly Muzichenko 2017.07.08 22:59 #97 -Aleks-:Sono stato stupido con l'aiuto - dato che prima non sapevo molto di come lavorare con gli oggetti, ma ho preso in prestito la funzione....Prendere in prestito da nuovi rami e consulenti. Non prendere in prestito dai rami del 2007) Aleksey Vyazmikin 2017.07.08 23:34 #98 Vitaly Muzichenko:Prendere in prestito dalle nuove filiali e dai nuovi consulenti. Non prendete in prestito dalle filiali del 2007)Questo prestito è avvenuto nel 2013 - solo per spostarsi da un posto all'altro... pa-fx 2017.08.10 14:55 #99 Si prega di consigliare come lavorare con iFractalsMQL4 for (int i=0; i<np; i++) //ciclo di caratteri { m_symbols[i].Refresh(); for (int ii=2;ii<=3;ii++) //ciclo al primo frattale { double dF=0; int TMODE=1; dF = iFractalsMQL4(Pairs[i],PERIOD_D1,TMODE,ii); Print("i ",i," ii ",ii," Pairs[i] ",Pairs[i]," TMODE ",TMODE," dF ",dF); } } Risultato:2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 0 ii 2 Pairs[i] AUDCAD_i TMODE 1 dF 1.00731 2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 0 ii 3 Coppie[i] AUDCAD_i TMODE 1 dF 1.797693134862316e+308 2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 1 ii 2 Coppie[i] AUDCHF_i TMODE 1 dF 1.797693134862316e+308 ...Cioè, iFractalsMQL4 funziona alla prima chiamata, ma poi non funziona.CSymbolInfo m_symbols[]; // oggetto info simbolo e m_symbols[i].Refresh(); non sono corretti. Cosa si deve fare? Discussion of article "Migrating Caratteristiche del linguaggio mql5, Perché non c'è un Yohana Parmi 2017.09.16 16:24 #100 Grazie,Il tuo duro lavoro in questo articolo è molto utile :) 1...345678910111213 Nuovo commento
Non riesco a capire come utilizzare la funzione
Il compilatore avverte
'OBJPROP_TIME1' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_TIME1' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_PRICE1' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_PRICE1' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_TIME2' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_TIME2' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_PRICE2' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_PRICE2' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_TIME3' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_TIME3' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_PRICE3' - identificatore non dichiarato TZ_Sky_and_Ground_V_04.mq5 2901 12
'OBJPROP_PRICE3' - espressione costante richiesta TZ_Sky_and_Ground_V_04.mq5 2901 12
Cambiare ObjectSetInteger(...) in ObjectSetMQL4(...) nelle righe in cui si verifica l'errore.
In generale, è più facile da riscrivere, è molto veloce cambiare lì, letteralmente 2 minuti di tempo.
Cambiare ObjectSetInteger(...) in ObjectSetMQL4(...) nelle righe in cui si verifica l'errore.
In generale, è più facile da riscrivere, è molto veloce cambiarlo lì, letteralmente 2 minuti di tempo.
Non capisco o non funziona.
Avevo una funzione di questo tipo
Per farla funzionare in MQL5, ho aggiunto dall'articolo
Ho ottenuto gli errori sopra descritti.
Non capisco o non funziona.
Avevo questa funzione
Per farla funzionare in MQL5, l'ho aggiunta dall'articolo.
E ho ottenuto gli errori sopra descritti.
Tali costruzioni avrebbero dovuto essere buttate nel cesso già nel 2013.
Utilizzo:
Questo è il tipo di design che avrebbe dovuto essere gettato nel water già nel 2013.
Usalo:
Grazie. Ho capito che nel mio caso devo mettere ObjectSetInteger ovunque .
Grazie. Ho capito che nel mio caso devo mettere ObjectSetInteger ovunque .
Assolutamente sì.
La guida descrive tutto perfettamente bene, dove è necessario Integer e dove è necessario Dooble
Assolutamente sì.
La guida descrive tutto perfettamente, dove è necessario Integer e dove è necessario Dooble.
Ero un po' confuso con la guida perché non sapevo molto di come lavorare con gli oggetti prima e ho preso in prestito la funzione....
Sono stato stupido con l'aiuto - dato che prima non sapevo molto di come lavorare con gli oggetti, ma ho preso in prestito la funzione....
Prendere in prestito da nuovi rami e consulenti. Non prendere in prestito dai rami del 2007)
Prendere in prestito dalle nuove filiali e dai nuovi consulenti. Non prendete in prestito dalle filiali del 2007)
Questo prestito è avvenuto nel 2013 - solo per spostarsi da un posto all'altro...
Si prega di consigliare come lavorare con iFractalsMQL4
Risultato:
2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 0 ii 2 Pairs[i] AUDCAD_i TMODE 1 dF 1.00731
2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 0 ii 3 Coppie[i] AUDCAD_i TMODE 1 dF 1.797693134862316e+308
2017.08.10 17:28:23.458 TwoFingersSymbolsExp_v1.03_my_pa (_DJI,M5) i 1 ii 2 Coppie[i] AUDCHF_i TMODE 1 dF 1.797693134862316e+308 ...
Cioè, iFractalsMQL4 funziona alla prima chiamata, ma poi non funziona.
CSymbolInfo m_symbols[]; // oggetto info simbolo
e
m_symbols[i].Refresh();
non sono corretti. Cosa si deve fare?
Grazie,
Il tuo duro lavoro in questo articolo è molto utile :)