[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 181
Ich habe diesen Indikator für meine eigenen Bedürfnisse mit großer Mühe aus Codestücken anderer Expert Advisors und Induktoren umgestaltet. Es ist kein großer Code, und er funktioniert so, wie ich es will.
Die Sache ist die, dass es intern einige Berechnungen durchführt und Pfeile nach oben oder unten auf dem Diagramm anzeigt.
Wie kann ich einen Expert Advisor dazu bringen, eine Order in die richtige Richtung zu öffnen, wenn ein Pfeil auf dem Chart erscheint?
Genauer gesagt, muss ich nur wissen, welcher Pfeil jetzt aktiv ist, ich denke, ich kann den Rest machen
Hier ist ein Stück Code, um es klarer zu machen, es ist eine Initialisierung im Indikator
SetIndexBuffer(1, Vverh);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexBuffer(2,Vniz);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,234);
Vielen Dank im Voraus an alle
Verwenden Sie die integrierte iCustom-Funktion, um die Werte des benutzerdefinierten Indikators zu erhalten, den Sie im Expert Advisor benötigen.
doubleiCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
Sie müssen zum Beispiel wissen, ob auf dem letzten vollständig ausgebildeten Balken ein Aufwärts- oder Abwärtspfeil zu sehen ist:
double Up=iCustom(NULL, 0, name/* название индикатора */, /* настраиваемые параметры индикатора через запятую */, 1, 1); // стрелка вверхdouble Dw=iCustom(NULL, 0, name/* название индикатора */, /* настраиваемые параметры индикатора через запятую */, 2, 1); // стрелка вниз
Vielen Dank für die Antwort! Ja, die Pfeile gehen manchmal verloren. Wird diese Methode "0" anzeigen, wenn der Pfeil verschwindet?
Und der Pfeil wird nur auf dem entstehenden Balken gezeichnet, die vorherigen Balken werden nicht neu gezeichnet, im Moment des Auftretens muss man ein Geschäft eröffnen bzw. wenn der Pfeil verschwindet, dann schließen
Gibt es eine Möglichkeit, den EA mit Hilfe von Programmcode dazu zu bringen, häufiger als üblich Anfragen an den Server zu senden? Damit es statt einer Anfrage zwei gibt, oder damit man die Programm-Shell einfach wiederholen kann ... Wenn drei Anfragen statt einer, dann wiederholen Sie es zweimal ...? ?
Ja, die Pfeile gehen manchmal verloren. Wird diese Methode durch Anpassung "0" anzeigen, wenn der Pfeil verschwindet?
Ja, das wird sie.
Aktivieren:
Und der Pfeil wird nur auf dem sich bildenden Balken gezeichnet, die vorherigen Balken werden nicht neu gezeichnet, im Moment des Auftretens ist es notwendig, die Position zu öffnen bzw. wenn der Pfeil verschwindet, dann zu schließen
Befindet sich der Pfeil also auf einem der fertig geformten Balken, verschwindet er nicht mehr. Der Pfeil kann mehrmals auf der aktuellen Leiste erscheinen und wieder verschwinden.
yellownight: Gibt es eine Möglichkeit, den EA mit Hilfe von Programmcode dazu zu bringen, häufiger als üblich Anfragen an den Server zu senden? Damit es statt einer Anfrage zwei gibt, oder damit man die Programm-Shell einfach wiederholen kann ... Wenn drei Anfragen statt einer, dann zweimal wiederholen ...? ?
Das wird Ihnen nicht gut tun. Wenn Sie den Server mit Anfragen bombardieren, kann Ihr Konto ganz gesperrt werden. Ich weiß, dass dies Leuten passiert, die "zu viele Anfragen" stellen und den Server mit zu vielen Anfragen "bombardieren".
Und warum? Der Typ ist korrekt. Der Aufruf ist auch richtig. Der Indikator funktioniert überhaupt nicht. Hier ist das Protokoll des Testers, aber von einem echten aktuellen Markt:
Ich habe einen einfachen Indikator geschrieben. Hier ist der Code:
Er hat nur einen Puffer. Die Indikatorwerte sind vom Typ Double.
Im Expert Advisor habe ich beschlossen, den Wert des Indikators zu ermitteln und ihn als Filter auf den Handel anzuwenden.
Hier habe ich einen einfachen Funktionsaufruf dieses Indikatorpuffers auf den letzten gebildeten Balken geschrieben:
Der vom Prüfgerät zurückgegebene Wert für die Steigung ist nicht korrekt:
Und warum? Der Typ ist korrekt. Der Aufruf ist auch richtig. Der Indikator funktioniert überhaupt nicht. Hier ist das Protokoll des Testers und des realen Strommarktes:
Warum wirdimmer wieder eine Zahl2147483647 anstelleder gewünschten Zahl zurückgegeben?
Im Tester gibt es zu Beginn der Arbeit nicht genügend Balken in der Historie für die korrekte Berechnung des Indikators.
//+-------------------------------------------------------------------------------------+//| Получаем направление фильтрующей МА |//+-------------------------------------------------------------------------------------+double GetSlopeOfMa()
{
if(iBars(NULL, i_TF)<maPeriod) { Print("Недостаточно баров в истории для корректного расчёта значений индикатора!"); return(-1.0); }
double slope = iCustom(NULL, i_TF, "AngleByLineFromMA simplest", 0, 1);
Print ("slope = ", slope);
return(slope);
}
Guten Tag. Ich habe eine solche Frage.
Ich habe diesen Indikator für meine eigenen Bedürfnisse mit großer Mühe aus Codestücken anderer Expert Advisors und Induktoren umgestaltet. Es ist kein großer Code, und er funktioniert so, wie ich es will.
Die Sache ist die, dass es intern einige Berechnungen durchführt und Pfeile nach oben oder unten auf dem Diagramm anzeigt.
Wie kann ich einen Expert Advisor dazu bringen, eine Order in die richtige Richtung zu öffnen, wenn ein Pfeil auf dem Chart erscheint?
Genauer gesagt, muss ich nur wissen, welcher Pfeil jetzt aktiv ist, ich denke, ich kann den Rest machen
Hier ist ein Stück Code, um es klarer zu machen, es ist eine Initialisierung im Indikator
SetIndexBuffer(1, Vverh);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexBuffer(2,Vniz);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,234);
Vielen Dank im Voraus an alle
Verwenden Sie die integrierte iCustom-Funktion, um die Werte des benutzerdefinierten Indikators zu erhalten, den Sie im Expert Advisor benötigen.
Sie müssen zum Beispiel wissen, ob auf dem letzten vollständig ausgebildeten Balken ein Aufwärts- oder Abwärtspfeil zu sehen ist:
Vielen Dank für die Antwort! Ja, die Pfeile gehen manchmal verloren. Wird diese Methode "0" anzeigen, wenn der Pfeil verschwindet?
Und der Pfeil wird nur auf dem entstehenden Balken gezeichnet, die vorherigen Balken werden nicht neu gezeichnet, im Moment des Auftretens muss man ein Geschäft eröffnen bzw. wenn der Pfeil verschwindet, dann schließen
Ja, die Pfeile gehen manchmal verloren. Wird diese Methode durch Anpassung "0" anzeigen, wenn der Pfeil verschwindet?
Ja, das wird sie.
Und der Pfeil wird nur auf dem sich bildenden Balken gezeichnet, die vorherigen Balken werden nicht neu gezeichnet, im Moment des Auftretens ist es notwendig, die Position zu öffnen bzw. wenn der Pfeil verschwindet, dann zu schließen
спасибо за ответ! Да стрелки иногда пропадают. Этот способ через кастом будет считывать "0" если стрелка пропадет?
Der Wert, der im Code des Indikators als "leer" angegeben ist, wird bei iCustom berücksichtigt. In der Regel kann er 0 oder EMPTY_VALUE sein.
EMPTY_VALUE ist der Standardwert in Indikatoren, aber wenn Sie SetIndexEmptyValue in init() eingeben, wird es anders sein.
Gibt es eine Möglichkeit, den EA mit Hilfe von Programmcode dazu zu bringen, häufiger als üblich Anfragen an den Server zu senden? Damit es statt einer Anfrage zwei gibt, oder damit man die Programm-Shell einfach wiederholen kann ... Wenn drei Anfragen statt einer, dann zweimal wiederholen ...? ?
Ich habe einen einfachen Indikator geschrieben. Hier ist der Code:
Es ist nur ein Puffer vorhanden. Die Indikatorwerte sind vom Typ double.Im Expert Advisor habe ich beschlossen, den Wert des Indikators zu ermitteln und ihn als Filter auf den Handel anzuwenden.
Hier habe ich einen einfachen Funktionsaufruf dieses Indikatorpuffers auf den letzten gebildeten Balken geschrieben:
Der Wert der Steigung ist im Prüfgerät nicht korrekt:Und warum? Der Typ ist korrekt. Der Aufruf ist auch richtig. Der Indikator funktioniert überhaupt nicht. Hier ist das Protokoll des Testers, aber von einem echten aktuellen Markt:
Warum wird immer wieder eine Zahl 2147483647 anstelle der gewünschten Zahl zurückgegeben ?
Ich habe einen einfachen Indikator geschrieben. Hier ist der Code:
Er hat nur einen Puffer. Die Indikatorwerte sind vom Typ Double.Im Expert Advisor habe ich beschlossen, den Wert des Indikators zu ermitteln und ihn als Filter auf den Handel anzuwenden.
Hier habe ich einen einfachen Funktionsaufruf dieses Indikatorpuffers auf den letzten gebildeten Balken geschrieben:
Der vom Prüfgerät zurückgegebene Wert für die Steigung ist nicht korrekt:Und warum? Der Typ ist korrekt. Der Aufruf ist auch richtig. Der Indikator funktioniert überhaupt nicht. Hier ist das Protokoll des Testers und des realen Strommarktes:
Warum wirdimmer wieder eine Zahl2147483647 anstelleder gewünschten Zahl zurückgegeben?
Im Tester gibt es zu Beginn der Arbeit nicht genügend Balken in der Historie für die korrekte Berechnung des Indikators.
Ich habe seit 2007 eine Geschichte von Dukascopy heruntergeladen... Es ist unmöglich, dass es nicht genug Bars gibt. MA-Periode beträgt nur 50.
Ich habe Ihre Zeile eingefügt, aber ich habe return(0) korrigiert ... und die Ausgabe der Anzahl der Balken im Diagramm hinzugefügt:
Hier im Protokoll:
2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: iBars(NULL, i_TF) = 15895 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: slope = 2147483647 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: iBars(NULL, i_TF) = 15895 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: slope = 2147483647 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: iBars(NULL, i_TF) = 15895 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: slope = 2147483647 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: iBars(NULL, i_TF) = 15895 2013.02.26 17:53:26 2009.10.26 00:22 D_Aleks_first_pattern EURUSD,H1: slope = 2147483647Ich habe seit 2007 eine Geschichte von Dukascopy heruntergeladen... Es ist unmöglich, dass es nicht genug Bars gibt. MA-Periode beträgt nur 50.
Hier ist Ihre Zeile, aber ich habe return(0) korrigiert ...
Hier steht es im Protokoll:
Das Problem scheint in dem Indikator zu liegen