|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
iCustom liefert immer Null bzw. einen leeren Wert
Hallo zusammen,
iCustom macht mich noch verrückt ... Ich versuche diesen Indikator https://www.forex-tsd.com/filedata/fetch?id=910681 mit folgender Codezeile einzubinden: Code:
if((iCustom("EURUSD",PERIOD_M15,"StochRSI99","Close",14,10,3)==0) Trotzdem scheint nur ein leerer Wert bzw. Null zurückgeliefert zu werden. Ich bin über jeden Hinweis woran das liegen könnte dankbar. Schöne Grüße! nothin_ |
|
|||
if((iCustom("EURUSD",PERIOD_M15,"StochRSI99","Clos e",14,10,3)==0)
1. Was ist "Close"? 2. Die letzte Zahl ist immer die Kerze auf der der Indikatorwert ermittelt wird. Ok, also in diesem Falle die 3. geschlossene Kerze. 3. Die vorletzte Zahl ist die Angabe des Indikatorbuffers: Hier Buffer 10!?? traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Hallo traderdoc,
vielen Dank für deine Antwort - ich war der Meinung die Parameter müssen so eingegeben werden wie sie beim Hinzufügen des Parameters im Chart angezeigt werden: http://imgur.com/oQggKcr In dem Fall sind das zwei unterschiedliche Dinge ... ? |
|
|||
Ich glaub jetzt verstehe ich was du meinst - ich muss die Parameter sozusagen von rechts füllen -> sprich die ersten beiden von rechts haben nichts mit dem Indikator zu tun sondern gehören zu icustom - dann kommen die Parameter des Indikators?
EDIT: Was sind hier die Standardwerte? Der Indikator soll so berechnet werden als wenn ich ihn händisch in den Chart einfüge - da muss ich diese Werte ja nicht angeben? |
|
|||
Die allgemeine Funktion lautet:
double iCustom( string symbol, // symbol int timeframe, // timeframe string name, // path/name of the custom indicator compiled program ... // custom indicator input parameters (if necessary) int mode, // line index int shift // shift ); Minimalangabe wäre in Deinem Fall: if (iCustom("EURUSD",PERIOD_M15,"StochRSI99",1,1)==0) Die vorletzte 1 ist der Indiaktorbuffer 1 und die letzte 1 stellt die letzte geschlossene Kerze dar auf der der Indikatorwert berechnet werden soll. Mit dieser Minimalversion wird aus einem EA heraus der Indikatorwert abgefragt mit seinen indikatorspezifischen Variablen. Ob der indikatorbuffer 1 ist, muß Du herausbekommen. Entweder über die mq4-Datei oder das Datenfenster im Chart, wo der Indikator liegt. Wenn Du aus dem EA heraus auch Einfluß auf die indikatorspezifischen Variablen haben möchtest, dann die Maximalform: if(iCustom("EURUSD",PERIOD_M15,"StochRSI99",X,Y,Z, 1,1)==0) Für X, Y und Z (und evtl. weitere Variablen) stehen die Variablen, die auch in den Eigenschaften des Indikators direkt stehen. In der Maximalform sollte dann diesselbe Reihenfolge der Varablen stehen, wie auch in den Eigenschaften. Somit könnte man durch ein Verändern der Variablen in der iCustom()-Funktion erreichen, dass man entsprechend variabelangepaßte Indikatorwerte errechnet. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Stichworte |
icustom, icustom null, icustom stoch rsi, icustom wert null, mql4, programmierung, programmierung metatrader, stoch rsi |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|