Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 684
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es gibt den MA-Indikator. Und es gibt einen HMA-Indikator, der diesem ähnlich ist. Wie kann sie in einen EA eingefügt werden? Den Code vollständig kopieren? Oder gibt es eine kürzere Variante?
Studie iCustom
Die Idee ist sehr gut, haben Sie hier solche Programme gesehen, die den Handel auf andere Terminals übertragen oder kopieren können?
Ein solches Programm?
Es gibt den MA-Indikator. Und es gibt einen HMA-Indikator, der diesem ähnlich ist. Wie kann sie in einen EA eingefügt werden? Den Code vollständig kopieren? Oder gibt es eine kürzere Variante?
Hallo zusammen, ich habe ein Problem, ich habe diesen Indikator "verloren", es ist eine Art geglätteter CCI, der zwei Parameter ändern konnte, Periode und einen Multiplikator. In der ursprünglichen Version waren diese Parameter jeweils 20 und 2. Und wenn ich mich richtig erinnere, bestand der Name dieses Indikators aus zwei Wörtern und das zweite Wort begann mit dem englischen Buchstaben "C".
Aber im Allgemeinen können Sie natürlich den Konstruktor überladen und ihn anstelle von Init() verwenden, schließlich handelt es sich um dieselbe Funktion. Auf welche Variante man zurückgreift, ist eine persönliche Angelegenheit eines jeden, in Geschmacksfragen gibt es bekanntlich keine Ratgeber)
Und wenn die Initialisierung fehlschlägt, z. B. bei der Verwendung der Methode Init(), kann sie so beschrieben werden, dass sie einen Wert des entsprechenden Typs und im Fehlerfall einen entsprechenden Wert zurückgibt. Der aufrufende Code weiß also, dass die Initialisierung fehlgeschlagen ist und das Objekt daher nicht verwendet werden kann. Wie erfährt der aufrufende Code von der fehlgeschlagenen Initialisierung, wenn der Konstruktor verwendet wird?
Hilfe Jungs, wie man die Eule nicht öffnen einen Auftrag auf dem gleichen bar als die Position wurde durch ein Signal geöffnet, und warten Sie auf einen neuen bar und überprüfen Sie das Signal wieder, ich habe so - bar von bar
dies hinzugefügt
и -Hilfe Jungs, wie man die Eule nicht öffnen einen Auftrag auf dem gleichen bar als die Position wurde durch ein Signal geöffnet, und warten Sie auf einen neuen bar und überprüfen Sie das Signal wieder, ich habe so - bar von bar
dies hinzugefügt
и -Etwa so:
Etwa so:
Vielen Dank, wäre es einfach, die vorgeschriebenen Zeilen für das Beispiel zu entziffern? --// die ausgewählte Order ist bei Null (aktueller) Bar geöffnet, also ist es zu früh, um die nächste zu öffnen
//der ausgewählte Auftrag ist nicht auf dem Null-Balken (aktuell) geöffnet, was bedeutet, dass es OK ist, den nächsten zu öffnen ......???
Danke, wäre es möglich, die vorgeschriebenen Zeilen für das Beispiel zu entziffern? --//Ausgewählter Auftrag, der am Null-Balken (aktueller) geöffnet wurde, so dass es zu früh ist, den nächsten zu öffnen
//der ausgewählte Auftrag ist nicht auf dem Null-Balken (aktueller Balken) geöffnet, was bedeutet, dass es OK ist, den nächsten zu öffnen ......???
Dies ist die Funktion, die den Barren zurückgibt, der die zuletzt geöffnete Position öffnet:
Wenn die Funktion -1 zurückgibt, gibt es keine offene Position, deren Daten an die Funktion übergeben wurden.
Beispiel für die Verwendung:
oder
Kenner bitten um Ihre Hilfe...
Algorithmus test01
//+------------------------------------------------------------------+ //test //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 clrGold #property indicator_color2 clrBlue #property indicator_level1 0 //--- indicator buffers double Buf0[]; double Buf1[]; double t1[]; double t2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(4); SetIndexBuffer(0,Buf0); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Buf1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(2,t1); SetIndexBuffer(3,t2); //--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,counted_bars; counted_bars=IndicatorCounted(); i=Bars-counted_bars-1; int sr=24,n; double sum,sum2; double m1,m2; while(i>=0) { sum=0; sum2=0; for(n=i; n<=i+sr-1; n++) { if(Open[i]>Open[i+1]) m1=sum=sum+Close[i]-Close[n]; if(Open[i]<Open[i+1]) m2=sum=sum+Close[i]-Close[n]; if(Open[i]>Open[i+1]) t1[i]=sum2=sum2+Close[i]-Close[n]; if(Open[i]<Open[i+1]) t2[i]=sum2=sum2+Close[i]-Close[n]; } Buf0[i]=(m1+m2)/sr; Buf1[i]=(t1[i]+t2[i])/sr; i--; } return(0); } //+------------------------------------------------------------------+
Warum gibt es in Buf1 andere Werte als in Buf0? Logischerweise sollten sie gleich sein.
warum ist es möglich, für einen Wert eine Variable zu verwenden, für einen anderen Wert aber einen Puffer (Daten-Array)--> (ein Array ist für die weitere Berechnung erforderlich)? wie kann ich sowohl ein Array als auch die Variablen m1 und m2 verwenden?