Diskussion zum Artikel "Übersetzung von MQL4 in MQL5" - Seite 10 1...345678910111213 Neuer Kommentar Vitaly Muzichenko 2017.07.08 02:46 #91 -Aleks-:Ich kann nicht verstehen, wie man die FunktionDer Compiler warnt'OBJPROP_TIME1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2891 12'OBJPROP_TIME1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2891 12'OBJPROP_PRICE1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2893 12'OBJPROP_PRICE1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2893 12'OBJPROP_TIME2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2895 12'OBJPROP_TIME2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2895 12'OBJPROP_PRICE2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2897 12'OBJPROP_PRICE2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2897 12'OBJPROP_TIME3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2899 12'OBJPROP_TIME3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2899 12'OBJPROP_PRICE3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2901 12'OBJPROP_PRICE3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2901 12Ändern Sie ObjectSetInteger(...) in ObjectSetMQL4(...) in den Zeilen, in denen der Fehler auftritt.Im Allgemeinen ist es einfacher, umzuschreiben, es ist sehr schnell, dort zu ändern, buchstäblich 2 Minuten Zeit Aleksey Vyazmikin 2017.07.08 20:52 #92 Vitaly Muzichenko:Ändern Sie ObjectSetInteger(...) in ObjectSetMQL4(...) in den Zeilen, in denen der Fehler auftritt.Im Allgemeinen ist es einfacher, umzuschreiben, es ist sehr schnell, es dort zu ändern, buchstäblich 2 Minuten der ZeitIch verstehe nicht, oder es funktioniert nicht.Ich hatte eine solche Funktion//+------------------------------------------------------------------+ //|Funktion zur Anzeige von Informationen auf dem Bildschirm| //+------------------------------------------------------------------+ 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); }Um sie in MQL5 zum Laufen zu bringen, habe ich aus dem Artikel 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); } Ich bekam die oben beschriebenen Fehler. Vitaly Muzichenko 2017.07.08 22:29 #93 -Aleks-:Ich verstehe es nicht oder es funktioniert nicht.Ich hatte diese FunktionDamit sie in MQL5 funktioniert, habe ich sie aus dem Artikel hinzugefügt. Und ich bekam die oben beschriebenen Fehler.Solche Konstruktionen hätten schon 2013 die Toilette runtergespült werden müssen. ObjectSet(_name,OBJPROP_CORNER,corner); ObjectSet(_name,OBJPROP_XDISTANCE,_x); ObjectSet(_name,OBJPROP_YDISTANCE,_y); ObjectSetText(_name,_text,_font,"Arial",_color);Verwenden:ObjectSetDouble(...) ObjectSetInteger(...) Aleksey Vyazmikin 2017.07.08 22:46 #94 Vitaly Muzichenko:Diese Art von Entwürfen hätte schon 2013 die Toilette hinuntergespült werden sollenVerwenden Sie es:Vielen Dank! Ich habe verstanden, dass ich in meinem Fall ObjectSetInteger überall einsetzen muss . Vitaly Muzichenko 2017.07.08 22:47 #95 -Aleks-:Ich danke Ihnen. Ich verstehe, dass ich in meinem Fall ObjectSetInteger überall einsetzen muss .Das ist richtig.In der Hilfe ist alles sehr gut beschrieben, wo Integer benötigt wird und wo Dooble benötigt wird Aleksey Vyazmikin 2017.07.08 22:57 #96 Vitaly Muzichenko:Absolut richtig.Die Hilfe beschreibt alles sehr gut, wo Integer benötigt wird und wo Dooble benötigt wirdIch war ein wenig verwirrt von der Hilfe, weil ich vorher nicht viel über die Arbeit mit Objekten wusste und ich mir die Funktion.... Vitaly Muzichenko 2017.07.08 22:59 #97 -Aleks-:Ich war dumm mit der Hilfe - da ich vorher nicht viel über die Arbeit mit Objekten wusste, aber ich lieh mir die Funktion....Ausleihen von neuen Zweigen und Beratern. Leihen Sie nicht von den Zweigen von 2007) Aleksey Vyazmikin 2017.07.08 23:34 #98 Vitaly Muzichenko:Nehmen Sie Kredite bei neuen Filialen und Beratern auf. Nehmen Sie keine Kredite von den Filialen von 2007 auf.)Diese Kreditaufnahme fand 2013 statt - ich bin gerade von einem Ort zum anderen gezogen... pa-fx 2017.08.10 14:55 #99 Bitte um Rat, wie man mit iFractalsMQL4 arbeitet for (int i=0; i<np; i++) //Zeichenzyklus { m_symbols[i].Refresh(); for (int ii=2;ii<=3;ii++) //Zyklus zum ersten Fraktal { 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); } } Ergebnis: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 Pairs[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 Pairs[i] AUDCHF_i TMODE 1 dF 1.797693134862316e+308 ...Das heißt, iFractalsMQL4 funktioniert beim ersten Aufruf, dann aber nicht mehr.CSymbolInfo m_symbols[]; // Symbol-Info-Objekt und m_symbols[i].Refresh(); sind nicht korrekt. Was sollte getan werden? Discussion of article "Migrating [Archiv!] Jede Anfängerfrage, um Praktische Ratschläge, bitte. Yohana Parmi 2017.09.16 16:24 #100 Ich danke Ihnen,Ihre harte Arbeit in diesem Artikel ist sehr hilfreich :) 1...345678910111213 Neuer Kommentar
Ich kann nicht verstehen, wie man die Funktion
Der Compiler warnt
'OBJPROP_TIME1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_TIME1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_PRICE1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_PRICE1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_TIME2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_TIME2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_PRICE2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_PRICE2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_TIME3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_TIME3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_PRICE3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2901 12
'OBJPROP_PRICE3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2901 12
Ändern Sie ObjectSetInteger(...) in ObjectSetMQL4(...) in den Zeilen, in denen der Fehler auftritt.
Im Allgemeinen ist es einfacher, umzuschreiben, es ist sehr schnell, dort zu ändern, buchstäblich 2 Minuten Zeit
Ändern Sie ObjectSetInteger(...) in ObjectSetMQL4(...) in den Zeilen, in denen der Fehler auftritt.
Im Allgemeinen ist es einfacher, umzuschreiben, es ist sehr schnell, es dort zu ändern, buchstäblich 2 Minuten der Zeit
Ich verstehe nicht, oder es funktioniert nicht.
Ich hatte eine solche Funktion
Um sie in MQL5 zum Laufen zu bringen, habe ich aus dem Artikel
Ich bekam die oben beschriebenen Fehler.
Ich verstehe es nicht oder es funktioniert nicht.
Ich hatte diese Funktion
Damit sie in MQL5 funktioniert, habe ich sie aus dem Artikel hinzugefügt.
Und ich bekam die oben beschriebenen Fehler.
Solche Konstruktionen hätten schon 2013 die Toilette runtergespült werden müssen.
Verwenden:
Diese Art von Entwürfen hätte schon 2013 die Toilette hinuntergespült werden sollen
Verwenden Sie es:
Vielen Dank! Ich habe verstanden, dass ich in meinem Fall ObjectSetInteger überall einsetzen muss .
Ich danke Ihnen. Ich verstehe, dass ich in meinem Fall ObjectSetInteger überall einsetzen muss .
Das ist richtig.
In der Hilfe ist alles sehr gut beschrieben, wo Integer benötigt wird und wo Dooble benötigt wird
Absolut richtig.
Die Hilfe beschreibt alles sehr gut, wo Integer benötigt wird und wo Dooble benötigt wird
Ich war ein wenig verwirrt von der Hilfe, weil ich vorher nicht viel über die Arbeit mit Objekten wusste und ich mir die Funktion....
Ich war dumm mit der Hilfe - da ich vorher nicht viel über die Arbeit mit Objekten wusste, aber ich lieh mir die Funktion....
Ausleihen von neuen Zweigen und Beratern. Leihen Sie nicht von den Zweigen von 2007)
Nehmen Sie Kredite bei neuen Filialen und Beratern auf. Nehmen Sie keine Kredite von den Filialen von 2007 auf.)
Diese Kreditaufnahme fand 2013 statt - ich bin gerade von einem Ort zum anderen gezogen...
Bitte um Rat, wie man mit iFractalsMQL4 arbeitet
Ergebnis:
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 Pairs[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 Pairs[i] AUDCHF_i TMODE 1 dF 1.797693134862316e+308 ...
Das heißt, iFractalsMQL4 funktioniert beim ersten Aufruf, dann aber nicht mehr.
CSymbolInfo m_symbols[]; // Symbol-Info-Objekt
und
m_symbols[i].Refresh();
sind nicht korrekt. Was sollte getan werden?
Ich danke Ihnen,
Ihre harte Arbeit in diesem Artikel ist sehr hilfreich :)