Wie kann ich Daten aus einem Indikator abrufen? - Seite 3

 
Retabs:

Erklären Sie, was ich richtig verstanden habe und was nicht.

double val=iCustom(NULL,0,"RegressionPolynomial",13,1,0);

...
Sie müssen alle Parameter an den Indikator übergeben, nicht nur den ersten. Und sie müssen in der gleichen Reihenfolge wie im Indikator übergeben werden.
 
Retabs:

Erklären Sie, was ich richtig verstanden habe und was nicht.

double val=iCustom(NULL,0,"RegressionPolynomial",13,1,0);

double - die Variable val ist also eine reelle Zahl, die einen Bruchteil enthält.

val - die Variable, die wir valgenannt haben

= - Zuweisung von Werten an die Variable val

iCustom - Aufruf der Funktion, die der Variablen einen numerischen Wert zuweist

( - Marker zur Angabe der Parameter der iCustom-Funktion

NULL - dieiCustom-Funktion berechnetdie Variable val aus dem aktuellen Währungspaar

0 - DieiCustom-Funktion berechnet die Variable val aus der aktuellenChart-Periode

"RegressionPolinomynal" - der Name des Indikators, aus dem iCustom-Funktion die Variable val berechnet

13 - Eingabeparameter(der numerische Wert des ersten Parameters, der im Fenster der Indikatoreigenschaften angezeigt wird)

1 - Unklar :( (sie schreiben den Index der Indikatorzeile)

0 - Nicht klar :( (sie schreiben den Index des vom Indikatorpuffer empfangenen Wertes)

) - Markierung, dass die Parameter der iCustom-Funktion bis hierher aufgelistet werden

; - Ende des Codefragments, das für die Zuweisung des Werts an die Variable val verantwortlich ist

Wenden Sie die "wissenschaftliche Methode" an. Ich sollte hinzufügen, dass 13 - das ist von der Indikator-Eigenschaften-Fenster, und wenn es eine Menge von diesen Parametern (in den Code des Indikators extern), können Sie sie, getrennt durch Kommata, von der Expert Advisor, die diese Parameter berechnen wird. Man kann sie überhaupt nicht überholen. Einige von ihnen können Sie auf die gleiche Weise weitergeben, und einige können Sie berechnen. Dieses Unternehmen ist inhabergeführt. Der Index des Zeilenindikators kann in Arrays angezeigt werden, die dem Indikator zugewiesen sind (im Code), oder er kann im Datenfenster berechnet werden, beginnend bei Null (wie ich oben geschrieben habe). Der sich daraus ergebende Index soll die erforderliche Anzahl von Ticks nach links einrücken, wenn der aktuelle Wert nicht benötigt wird, oder einige Operationen mit Indikatordaten im Expert Advisor durchführen (vergangene und aktuelle oder etwas anderes). Nun, der Rest, mit Ausnahme von val, scheint zu stimmen.
 
evillive:
Sie müssen alle Parameter an den Indikator übergeben, nicht nur den ersten, Sie müssen 6 haben. Sie müssen in der gleichen Reihenfolge wie im Indikator übergeben werden.

Ich danke Ihnen. 6 Parameter. Die endgültige Form der Codezeile hat die Form double val=iCustom(NULL,0,"RegressionPolynomial",13,10000,55,5,2,0,1,0);

Sie müssen ALLE Parameter an den Indikator übergeben...

Welcher Indikator? Ich verstehe, dass ich die Parameter (External, Extern) aus dem Indikator RegressionPolynomial nehme und sie an die Funktion iCostum zur Berechnung der Variablen val

 
Retabs:

Ich danke Ihnen. 6 Parameter. Die endgültige Form der Codezeile hat die Form double val=iCustom(NULL,0,"RegressionPolynomial",13,10000,55,5,2,0,1,0);

Sie müssen ALLE Parameter an den Indikator übergeben...

Welcher Indikator? Ich verstehe, dass ich die Parameter (External, Extern) aus dem Indikator RegressionPolynomial nehme und sie an die Funktion iCostum zur Berechnung der Variablen val

Erstellen Sie ein Script, das den Wert von val anzeigt.

Sie werden die Bedeutung der iCustom-Funktion anhand der Anpassungsmethode verstehen.

P./S.: Wenn Sie etwas nicht verstehen, geben Sie iCustom in das Suchfeld auf der Website ein und schlagen Sie die Codes nach.


 
_new-rena:
Verwenden Sie die Methode des "wissenschaftlichen Bauchgefühls". Ich werde hinzufügen, dass 13 aus dem Indikator-Eigenschaften-Fenster ist, und wenn es eine Menge von Parametern (im Code des Indikators extern), können sie durch ein Komma aus dem Expert Advisor, die diese Parameter berechnet übergeben werden. Man kann sie überhaupt nicht überholen. Sie können einige von ihnen auf die gleiche Weise weitergeben und einige von ihnen berechnen. Dieses Unternehmen ist inhabergeführt. Der Index des Linienindikators kann in Arrays angezeigt werden, die dem Indikator zugewiesen sind (im Code), oder er kann im Datenfenster berechnet werden, beginnend bei Null (wie ich oben geschrieben habe). Der Index des resultierenden Wertes - ist es, nach rechts die notwendige Anzahl von Ticks einrücken, wenn der aktuelle Wert nicht benötigt wird, oder führen Sie einige Operationen mit dem Indikator Daten in der Expert Advisor (Vergangenheit und aktuelle, oder etwas anderes). Nun, der Rest, mit Ausnahme von val, scheint zu stimmen.


1. Ich danke Ihnen. Ja, ich verwende die Methode der "wissenschaftlichen Feldarbeit" bei der Kodierung von EA. Aber dieser Lernprozess gibt mir so viel Befriedigung! Das hätte ich mir nie träumen lassen, als ich mit der Hilfe gearbeitet habe.

2. ...können Sie dem EA, der diese Parameter berechnet, ein Komma übergeben... - von welchem EA, wenn er sich gerade in der Erstellung befindet?

3. ...beginnend bei Null (oben geschrieben)... "1 ist die Nummer in der Reihenfolge in dem Fenster, das ich Sie gebeten habe zu öffnen (Sie nennen es "Zahlenreihe"). In diesem Fall - 1 ist 2. von oben nach unten" - ja. habe es erst gelesen, als ich schon einen anderen Beitrag schrieb, Sie hatten Zeit zu antworten, deshalb kam es zu spät. Danke. Ich stelle sicher, dass ich ALLE lese. Aber ich verstehe immer noch nicht, was genau der " Indicator Line Index" ist.

 
Retabs:


Aber ich verstehe immer noch nicht, was genau der "Indikatorlinienindex" ist.

Erstellen Sie einen Screenshot des Datenfensters. Schauen wir uns ein Beispiel an.
 
Retabs:

Ich danke Ihnen. 6 Parameter. Die endgültige Form der Codezeile hat die Form double val=iCustom(NULL,0,"RegressionPolynomial",13,10000,55,5,2,0,1,0);

Sie müssen ALLE Parameter an den Indikator übergeben...

Welcher Indikator? Ich verstehe, dass ich Parameter (External, Extern) vom RegressionPolynomial-Indikator nehme und sie an die iCostum-Funktion zur Berechnung der val-Variablen übergebe

Okay, ich gebe Ihnen ein Beispiel:
//В индикатор передаются параметры, инача называемые "внешние переменные":
//Вот эти параметры в коде индикатора:

extern int history = 10000; //1
extern int period  = 55;    //2
extern int signal  = 5;     //3
extern int degree  = 2;     //4
extern int price   = 0;     //5
extern bool drowArrow=true; //6

//В скрипте или советнике в котором наша iCustom никто не мешает такие же точно переменные завести, те же 6 строк вышеуказанных, а потом вызывая иКустом, просто вписывать их туда:

double Line=iCustom(NULL,0,"RegressionPolynomial", history , period , signal , degree , price , drowArrow , 0/*это первый буфер индикатора*/, 0);
double Signal=iCustom(NULL,0,"RegressionPolynomial", history , period , signal ,degree ,price , drowArrow , 1/*это второй буфер индикатора*/, 0);

//ЧТО ТУТ СЛОЖНО ПОНЯТЬ???
 
не обязательно передавать все параметры можно без параметров
 

Vladon:

es ist nicht notwendig, alle Parameter zu übergeben, es geht auch ohne Parameter


Ja, das können Sie. Wenn Sie jedoch Parameter im Optimierer aufnehmen wollen, müssen Sie dies tun. Und Sie werden es wollen, ich weiß es aus eigener Erfahrung)))
 

Lesen Sie alle vorherigen Beiträge und lesen Sie sie noch einmal. Ich habe eine Menge Einblicke bekommen. Vielen Dank an ALLE für die Hilfe und Ermutigung beim Erlernen von MQL4 durch Ihre hilfreichen Antworten. In diesem Stadium geht es nur noch darum, herauszufinden, ob ich es richtig gemacht habe. Ich werde versuchen zu erklären, wie ich es sehe, und bitte um Korrektur/Vollständigkeit, wenn ich falsch liege. Was ich also für mich selbst verstanden habe:

1. der Indikator "RegressionPolynom" zeichnet 2 Linien. Das bedeutet, dass er 2 Puffer hat. In ihnen werden bei jedem Ticken neue Werte geschrieben. Die vorherigen Werte werden ins Archiv geschrieben.

2. Mit der Funktion iCostum können wir diese Werte unseren Variablen zuweisen.

Damit die Funktion funktioniert, muss sie die Parameter angeben, die als Grundlage für ihre Arbeit verwendet werden sollen. Nämlich:

3a. Mit welchem Währungspaar wir arbeiten werden. (NULL - mit dem aktuellen)

3b. Von welchem Kartenzeitraum aus operiert werden soll. ( 0-Strom)

3c. Name des Indikators, mit dem gearbeitet werden soll. (in meinem Fall: RegressionPolynomial)

3d. Die Werte aller Eingabeparameter des Indikators in der Warteschlange werden im Eigenschaftenfenster des Indikators angezeigt.(in meinem

in meinem Fall ,55,5,2,0,55,5,2,0).

3e. Index der Anzeigelinie (Seriennummer der Anzeigelinie im Datenfenster) - Index der Linie , mit der gearbeitet werden soll. (in meinem Fall, wenn die erste Zeile dann 1,

wenn die zweite Zeile dann 2)

3f. Index desWertes aus dem Indikatorpuffer(laufende Nummer der Pufferwerte), mit dem gearbeitet werden soll.

(0 vom aktuellen Pufferwert, 1 vom vorherigen Pufferwert usw. )

4. Nach Ausführung der Funktion iCostum wird der voreingestellten Variablen ein numerischer Wert zugewiesen, der der Höhe des Preises zum Zeitpunkt

bestimmten Moment.

5. Das Signal der Kreuzung von Linien des Indikators wird nur durch mathematische Formeln berechnet, da der Indikator selbst nicht explizit

diesen Moment ausdrücklich angeben.