ICustom-Funktion

 

Hallo zusammen

zuerst einmal muss ich sagen, dass es hier im Forum wirklich viele hilfreiche Infos gibt, es ist toll:D

Meine nächste Frage

wie bekomme ich das Ergebnis des Indikators (oder eine andere Variable) als Rückgabewert, wenn ich ihn mit icustom aufrufe?

Ich habe versucht, den Code einiger anderer Indikatoren für diesen Teil zu analysieren, aber... es gibt keinen Unterschied (oder ich habe ihn übersehen).

wie funktioniert es also?

grüße homi:)

 
 

Hallo und Entschuldigung

tj für die Antwort:)

oh du missverstehst mich

es ist mein beschissenes englisch ...sorry!

normalerweise weiß ich wie man einen Indikator mit icustom() aufruft,

aber wenn ich versuche den LSMA Trendindikator aufzurufen, dann gibt er mir immer den Wert "1" zurück, egal was der Trend nun wirklich ist, er gibt immer nur einen Wert zurück.... "1".

Also dachte ich, dass die 1, die er zurückgibt, eine Art Fehlerprüfung ist, die wahr oder falsch zurückgibt.

aber ich muss wissen, was der Trend ist und muss dem Indikator einen Code hinzufügen, der mir den Trendwert und nicht den Fehlerprüfwert zurückgibt.

Und meine obige Frage bedeutet: welchen Code muss ich dem Indikator hinzufügen, um den Trendwert anstelle des Errorcheck-Wertes zurückzubekommen, wenn ich ihn mit icustom() aufrufe.

grüße homi

 

iCustom verwenden, um den Wert von LSMA zu erhalten.

homicida:
tj für die Beantwortung:)

Oh, Sie haben mich missverstanden

mein beschissenes Englisch ...sorry!

Normalerweise weiß ich, wie man einen Indikator mit icustom() aufruft,

aber wenn ich versuche den LSMA Trendindikator aufzurufen, dann gibt er mir immer den Wert "1" zurück, egal wie der Trend nun wirklich ist, er gibt immer nur einen Wert zurück.... "1".

Also dachte ich, dass die 1, die er zurückgibt, eine Art Fehlerprüfung ist, die wahr oder falsch zurückgibt.

Aber ich muss wissen, was der Trend ist und muss dem Indikator einen Code hinzufügen, der mir den Trendwert und nicht den Fehlerprüfungswert zurückgibt.

Und meine obige Frage bedeutet: Welchen Code muss ich dem Indikator hinzufügen, um den Trendwert anstelle des Errorcheck-Wertes zurückzubekommen, wenn ich ihn mit icustom() aufrufe.

grüßt Homi

Hallo Homi,

ich habe Sie nicht missverstanden. Ich habe dir ein funktionierendes Beispiel für iCustom gegeben.

Wie auch immer, dies ist eine Codezeile, die den Wert von LSMA mit iCustom ermittelt.

Hinweis: Ich habe LSMA in Farbe verwendet ()

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1:das Symbol - NULLfür das aktuelle Symbol.

parmeter2: Zeitrahmen - 0 für den aktuellen Zeitrahmen.

parmeter3: Name des Indikators - hier ist es"LSMA in Farbe".

Parameter 4: Dies ist eine Einstellung für LSMA - Rperiod= 14.

Parameter5: dies ist eine Einstellung für LSMA - Draw4HowLongg= 1500.

parmeter6: die Zeilennummer (Bereich von 0 bis 7) - normalerweise wird 0 verwendet.

parmeter7: der Arbeitsbalken - 0 für den aktuellen Balken.

Bitte probieren Sie diese Codezeile aus und teilen Sie mir mit.

 

Hallo

ich habe es getestet, dein Code funktioniert gut.....

aber das behebt das Problem nicht^^

ich habe den Rückgabewert wie du gesagt hast, aber es ist immer der gleiche Wert, egal was der Trend wirklich ist, es ist immer 214783647.

Ich habe den Wert im Indikatorcode gesucht, es gibt 3 Puffer und der Puffer, der 214783647 enthält, ist der Trend und nicht der Wert, der darin gespeichert ist.

wie

wenn Puffer1 die 214783647 hält, bedeutet das Trend nach oben, die anderen 2 Puffer halten dann etwas wie 174...

wenn Puffer2 hält die 214783647 bedeutet Trend nach unten, andere 2 Puffer hält dann so etwas wie 174...

könnte das das Problem verursachen?

grüße homi

 

214783647 bedeutet, dass es einen Fehler gibt!

homicida:
Hallo

ich habe es getestet, Ihr Code funktioniert gut.....

aber das behebt das Problem nicht^^

ich habe den Rückgabewert wie du gesagt hast, aber es ist immer derselbe Wert, egal was der Trend wirklich ist, es ist immer 214783647.

Ich habe den Wert im Indikatorcode gesucht, es gibt 3 Puffer und der Puffer, der die 214783647 hält, ist der Trend und nicht der Wert, der darin gespeichert ist

wie

wenn Puffer1 die 214783647 hält, bedeutet das, dass der Trend nach oben geht, die anderen 2 Puffer halten dann etwas wie 174...

wenn Puffer2 hält die 214783647 bedeutet Trend nach unten, andere 2 Puffer hält dann so etwas wie 174...

könnte das das Problem verursachen?

grüßt Homi

Hallo Homi,

ich glaube, es gibt einen Fehler in Ihrem iCustom-Aufruf.

Wie auch immer, hier ist der Code, der iCustom von LSMA aufruft, um den Wert seiner 3 Zeilen zurückzugeben.

Anmerkung 1: Die Werte der 3 Zeilen sind gleich, weil LSMA ein Farbindikator ist (wenn Sie mehr wissen wollen, fragen Sie mich)

Anmerkung 2: 214783647 ist ein Fehler. Ich habe im Demo-Beispiel einige Codezeilen eingefügt, die den gleichen Fehler zurückgeben, um es für Sie zu verdeutlichen.

//+------------------------------------------------------------------+

//| iCustom_Demo.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

Alert("Line3 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,2,0));

Alert("Line1 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

Alert("Line2 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,1,0));

//Some mis-typed iCustom calls which will return:

//Wrong LSMA parameter

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",0,1500,0,0));

//Wrong line number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,0));

//Wrong Bar number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,counted_bars));

//----

return(0);

}

//+------------------------------------------------------------------+
Dateien:
 

Hallo wieder:D

Okay, ich bin vom Indikator besiegt, lol:)

ich kriege es nicht hin, so zu funktionieren wie ich will

Sie sagen, es ist ein Farbindikator, was bedeutet das?

und das Wichtigste ist, wie bekomme ich den aktuellen Status davon?

ich erhalte immer nur eine verdrahtete Zahl, die wie eine gerundete Version des Schlusskurses in allen drei Zeilen aussieht, sogar mit Ihrer unmodifizierten Demo (Indikator und Demo).

Was übersehe ich?

wie konvertiere ich die Ausgabe in einen einfachen "grünen" "roten" "gelben" String?

grüße

betonte homi

 

Bitte helfen Sie mir!

homicida:
okay im besiegt durch den Indikator lol:)

Ich kann nicht bekommen, es zu arbeiten, wie ich will

Sie sagen, es ist ein Farbindikator, was bedeutet das?

Und das Wichtigste ist, wie bekomme ich den aktuellen Status davon?

Ich erhalte immer nur eine verdrahtete Zahl, die wie eine gerundete Version des Schlusskurses in allen drei Zeilen aussieht, sogar mit Ihrer unmodifizierten Demo (Indikator und Demo).

Was übersehe ich?

wie konvertiere ich die Ausgabe in einen einfachen "grünen" "roten" "gelben" String?

grüße

gestresster Homi

Hallo gestresster Homi

Hast du die Demo ausprobiert und bekommst immer noch falsche Zahlen?

Könntest du mir sagen, welche Alerts du hast? das ist das, was ich habe (vor 2 Minuten)

Dateien:
icustom.jpg  29 kb
 

sieht genau so aus wie die Ergebnisse, die ich erhalten habe.

aber was sind das für Werte?

grüsse homi

p.s

hat noch jemand das Problem, dass strategybuilder die Charts nicht aktualisiert?

 
homicida:
sieht genauso aus wie die Ergebnisse, die ich erhalten habe.

aber was sind das für Werte?

grüßt homi

homi,

Zeile 1 Alert: ist der Wert des ersten Puffers oder LSMA(ExtMapBuffer1)

Zeile 2 Alert: ist der Wert des zweiten P uffers oder LSMA (ExtMapBuffer2)

Zeile 3 Alert: ist der Wert des dritten P uffers oder LSMA (ExtMapBuffer3)

Dann habe ich drei iCustoms-Aufrufe mit absichtlich falschen Parametern geschrieben, um Ihnen zu zeigen, was in Ihrem iCustom-Aufruf wahrscheinlich falsch ist.

Könnten Sie mir genau sagen, was Sie tun wollen? Vielleicht kann ich Ihnen helfen!

 

Oh, das Einzige, was ich möchte, ist, es zu nennen und den aktuellen Trend zurückzubekommen.

wie "1" für oben "2" für unten und "3" für Seite.

das ist was ich versuche zu erreichen.

weil Ihr Code funktioniert richtig.

Ich weiß, mein Hauptproblem ist der Mangel an Wissen über den Indikator

daher kann ich die Rückgabewerte nicht richtig interpretieren.

aber ich kann nicht finden, einige Informationen auf für sie.

grüße homi