Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 87

 
Silent:

Es könnte sogar schneller sein... Ich weiß allerdings nicht, wie es mit der Neuzuweisung von Speicherplatz aussehen wird.

Können Sie mir bitte sagen, wie ich sehen kann, wie viel Arbeitsspeicher ein Expert Advisor benötigt und wie er neu zugewiesen wird?
 

Und dennoch kann ich nicht herausfinden, warum die Ebenen nicht mit ObjectCreate erstellt werden. Alle Funktionen funktionieren, aber es werden keine OBJ_TREND-Objekte erstellt

Es gibt Variablen, die auf der globalen Ebene definiert sind:

string oRes, oSup, oPP, oRes1, oRes2, oRes3, oSup1, oSup2, oSup3, textPP, textR1, textR2, textR3, textS1, textS2, textS3;

Der Code, der die Ebenen erstellen soll:

void OnInit()
  {
   TimeOpenBar();
   ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oRes,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oRes,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oRes,OBJPROP_RAY,false);
   ObjectCreate(0,oSup,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oSup,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oSup,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oSup,OBJPROP_RAY,false);
   CreateLevels();

   ObjectCreate(0,oPP,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oPP,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oPP,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oPP,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oPP,OBJPROP_RAY,false);
   ObjectCreate(0,oRes1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oRes1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oRes1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oRes1,OBJPROP_RAY,false);
   ObjectCreate(0,oSup1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oSup1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oSup1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oSup1,OBJPROP_RAY,false);
   PPlevel();
  }
Leute, helft mit, das zu klären. Bitte
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
fyords:
Geben Sie die Ergebnisse von ObjectCreate aus, vielleicht liegt ein Fehler vor.
Nun, was steht da? Haben Sie das Ergebnis ausgedruckt?
 
Bitte beraten Sie mich, wie ich die beste (möglichst einfache) Literatur zur technischen Analyse finden kann. Am Anfang scheint es verständlich zu sein, aber wenn ich anfange, es zu lesen, weigert sich mein Gehirn, es zu verstehen :(
 
fyords:
Und was steht dort? Haben Sie eine Ausgabe des Ergebnisses gemacht?
Bei mir hat es nicht funktioniert, ich habe etwas falsch gemacht. Der Druck hat mir nichts gebracht.
 
NeSezon:
Bitte beraten Sie mich, wie ich eine klare (möglichst einfache) Literatur zur technischen Analyse finden kann. Wenn ich anfange, es zu lesen, verstehe ich es, aber wenn ich anfange, es im Detail zu lesen, weigert sich mein Gehirn, es zu verstehen :(
Versuchen Sie Naimans "Kleine Enzyklopädie des Händlers".
 
WindSW:
Bei mir hat es nicht funktioniert, ich habe etwas falsch gemacht. Der Druck hat mir nichts gebracht.
ResetLastError();
bool result=ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
Ich muss es falsch gemacht haben.
 
fyords:
Das war sicher falsch.
Ja, so habe ich es wirklich nicht gemacht. Es erzeugt den Fehler "5040 - tainted parameter of string type". Ich habe Parameter für Objekte auf globaler Ebene (der Compiler warnt ohne sie) in folgender Form festgelegt: String oRes, oSup, oPP, oRes1; usw. Wie kann man dies beheben und wie kann man den richtigen Parameterstring korrekt angeben, so dass alles funktioniert und der Compiler nicht flucht?
 
WindSW:
Ja, so habe ich es wirklich nicht gemacht. Es erzeugt den Fehler "5040 - tainted parameter of type string". Ich habe Parameter für Objekte, die auf globaler Ebene definiert sind (der Compiler warnt ohne sie), wie folgt: string oRes, oSup, oPP, oRes1; usw. Wie kann man dies beheben und wie kann man den richtigen Parameterstring korrekt angeben, so dass alles funktioniert und der Compiler nicht flucht?

Angenommen, Sie haben Variablen auf globaler Ebene deklariert, haben Sie diesen Variablen Werte zugewiesen?

Wenn nicht, dann sagen Sie dem Programm: "Erstelle ein Objekt mit solchen und jenen Eigenschaften mit dem Namen..." und es gibt ein Problem - der Name ist nicht gegeben. Er schafft sie also nicht.

Wäre es nicht einfacher, dies direkt im ObjectCreate-Code anzugeben?

ResetLastError();
bool result=ObjectCreate(0,"Name1",OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
 
WindSW:
Versuchen Sie Nyman's Little Trader's Encyclopedia
Ich danke Ihnen! Ich habe es gefunden. Ich würde es gerne eines Tages lesen.