Farbe der Standardanzeige - Seite 2

 

Guten Tag, Yedelkin!

Entschuldigung, hier sind die Antworten auf Ihre Fragen.

MqlParam params[5];
int ma_handle;

params[0].type = TYPE_INT;
        params[0].integer_value = 10;
        
        params[1].type = TYPE_INT;
        params[1].integer_value = 0;
        
        params[2].type = TYPE_INT;
        params[2].integer_value = MODE_SMA;
        
        params[3].type = TYPE_INT;
        params[3].integer_value = PRICE_MEDIAN;
        
        params[4].type = TYPE_COLOR;
        params[4].integer_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

Der Indikator wird erstellt, aber seine Farbe ist ROT.

Noch eine Sache. Die vorherige Nachricht war nicht an Sie gerichtet, sondern an stringo,

mit Ausnahme der Parameter des MA-Indikators.

Wenn ich Sie in irgendeiner Weise beleidigt habe, entschuldige ich mich.

Mit freundlichen Grüßen, Mikhail.

 
Mikalas:

Noch eine Sache. Die vorherige Nachricht war nicht an Sie gerichtet, sondern an stringo,

Normalerweise lese ich genau das, was da steht: "Guten Tag, Stringo und Yedelkin!". Urain hat bereits gestern festgestellt, dass ich "nicht zwischen den Zeilen lesen kann".

Aus der Hauptantwort geht hervor, dass das Nullsetzen des Arrays params nicht durchgeführt wird (und jede Variable vom TypMqlParam hat 4 Felder, nicht 2). Sie können die Antwort auf den Kommentar nicht sehen: "Außerdem hat der IND_MA(iMA)-Indikator keinen solchen Parameter wie "Farbe", während Sie ihn haben. Ein Beispiel für die Verwendung von iMA finden Sie hier: MQL5 Reference / Access to timeseries and indicators / IndicatorCreate".

Der zurückgegebene Fehlercode ist nicht angegeben.

 

Lieber Yedelkin!

Das Array params muss nicht auf Null gesetzt werden, da es sich um ein statisches Array handelt (params[5]) und I

Füllen Sie alle Felder aus, es genügt übrigens, wenn Sie 2 Felder ausfüllen. Ich denke, dass je nach TYP eine der 3

folgende Felder.

KeinFehler (ma_handle != INVALID_HANDLE), der Indikator wird erstellt.

Sagen Sie mir, wie viele Parameter hat der Indikator auf dem Bild?

MA

Mikhail

 
Mikalas:

KeinFehlercode, der Indikator ist angelegt.

Zuerst schreiben Sie"Dieser Code hätte funktionieren sollen, ABER.... leider...". Jetzt stellt sich heraus, dass"der Indikator erstellt wird". ....To "Kein Fehlercode" - es gibt immer einen Fehlercode, auch wenn er Null ist.

Über das Bild. Sie reduzieren die Frage immer wieder auf eine Diskussion über einen möglichen, Ihrer Meinung nach, Fehler. Aber Sie haben ursprünglich von der Verwendung der Funktion IndicatorCreate() in Ihrem Code gesprochen . Wie Sie selbst wissen, funktioniert die Funktion IndicatorCreate() nicht mit Bildern. Ich schlage noch einmal vor, dass Sie die Dokumentation und die Beispiele durchsehen. Finden (erraten) Sie, warum in der Registerkarte "Parameter" die Option "Stil" erscheint, aber in den Eingabeparametern des iMA-Indikators keine solche Option vorhanden ist. Finden Sie heraus, welche Eingabeparameter für den von Ihnen gewählten Indikator vorgesehen sind und welche davon in der Funktion IndicatorCreate() berücksichtigt werden sollen.

 

Ich verstehe, danke.

 
Mikalas:

Sagen Sie mir, wie viele Parameter hat der Indikator auf dem Bild?

Auf dieser Registerkarte gibt es 7 Parameter.
 

Im Gegensatz zu iMA(4 Parameter) ist die Funktion

Die Funktion IndicatorCreate muss alle möglichen Parameter eingeben

MQL5-Referenz:

int IndicatorCreate(
string symbol, // Name des Symbols
ENUM_TIMEFRAMES period, // period
ENUM_INDICATOR indicator_id, // Indikatortyp aus der Aufzählung ENUM_INDICATOR
int parameters_cnt=0, // Anzahl der Parameter
const MqlParam& parameters_array[]=NULL, // Array der Parameter
);

parameter_array[]=NULL

[in] Array vom Typ MqlParam, dessen Elemente den Typ und den Wert jedes Eingangsparameters eines technischen Indikators enthalten.

Sie schicken mich zum Nachschlagewerk, aber Sie lesen es nicht?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов - Документация по MQL5
 
Mikalas:

Sie verweisen mich auf einen Reiseführer und haben ihn nicht selbst gelesen?

Jetzt geht's los. Mit diesem Ansatz stehen Sie möglicherweise allein mit Ihrem Problem da.

Zu diesem Thema. Die Tatsache, dass Sie im Handbuch nachgeschaut haben, ist gut. Öffnen Sie sie nun erneut auf derselben Seite. Sie sehen die folgende Zeile: "Ein Array vom Typ MqlParam, dessen Elemente den Typ und den Wert jedes Eingabeparameters des technischen Indik ators enthalten". Was ist "Eingabeparameter" ist "Eingabeparameter"(MQL5-Referenz / MQL5-Grundlagen / Variablen / Eingabevariablen). Suchen Sie nun nach der Antwort auf die Frage "Wie viele Eingabeparameter hat der technische Indikator iMA?

Mikalas:

Im Gegensatz zu iMA (4 Parameter) muss die Funktion IndicatorCreate alle möglichen Parameter eingeben

Wenn iMA also 4 Eingangsparameter hat, wie viele Eingangsparameter sollte ich dann in IndicatorCreate() "eingeben"? Noch einmal: IndicatorCreate() funktioniert nicht mit Bildern. Um genau zu sein, arbeitet IndicatorCreate() nicht mit Bildern, sondern mit Eingabeparametern des Indikators, die es direkt an den Indikator übergibt. Wo wird die Bildoption "Stil" übergeben, wenn der Indikator keinen solchen Eingabeparameter hat?
 

Der MA-Indikator hat 7 Parameter!

Für die iMA-Funktion sind 4 Parameter ausreichend

ma_handle = iMA( _Symbol, TimeFrame, 10, 0, MODE_SMA, PRICE_MEDIAN );,

aber für dieFunktion IndicatorCreate() müssen alle 7 Indikatorparameter möglich sein

parameter_array[]=NULL

[in] Array vom Typ MqlParam, dessen Elemente Typ und Wert jedes Eingangsparameters des technischen Indik ators enthalten.

Eine Sache noch... Was ist Ihr Beruf?

 
Mikalas:

und alle 7 Indikatorparametermüssen fürIndicatorCreate() möglich sein.

Das ist Ihre Schlussfolgerung und Sie müssen damit leben :) Service Desk zu helfen.