Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 89
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
Wie bestimme ich den Zeitpunkt für den Tageshandel mit Futures?
MarketInfo(Symbol(),MODE_STARTING)
MarketInfo(Symbol(),MODE_EXPIRATION)
liefert Nullen
Welcher Makler?
Daher sollten Sie sich zunächst bei Ihrem Makler erkundigen.
Liebe Forumsmitglieder, wie kann man die Bedingung des Überschreitens der Kanallinie durch den Preis in Ihrem Expert Advisor schreiben, z.B. der Preis überschreitet die Kanallinie von oben und der Handel wird eröffnet oder geschlossen? Bitte beachten Sie, dass ich an dem Zeitpunkt dieses Crossovers interessiert bin. Ich würde gerne helfen.
double price0=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 0),Digits)); - Wert Ihrer Linie auf Takt 0.
double price1=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 1),Digits)); - Wert Ihrer Linie auf Takt 1.
Und die einfachste Art, den Zeitpunkt des Durchbruchs auf dem Null-Balken zu bestimmen: if(High[0]>price0 && High[1]<=price1) {die Linie hat nach oben durchbrochen}, if(Low[0]<price0 && Low[1]>=price1) {die Linie hat nach unten durchbrochen}. Die ifs sind ab dem Zeitpunkt des Durchbruchs bis zum Ende des aktuellen Taktes TRUE. Es ist wünschenswert, dass Ihre Kanalzeile die Eigenschaft OBJPROP_RAY==True hat.
Liebe Forumsmitglieder, wie kann man eine Bedingung in einem EA für das Überschreiten der Kanallinie erstellen, z.B. wenn der Preis die Kanallinie von oben überschreitet und ein Geschäft eröffnet oder geschlossen wird? Bitte beachten Sie, dass ich an dem Zeitpunkt dieses Crossovers interessiert bin. Ich würde gerne helfen.
Es gibt mehrere Möglichkeiten:
Wenn Ask > Kanallinie und Low[1] <=Kanallinie, Kreuz nach oben
Wenn Bid < Kanallinie und High[1] >=Kanallinie, Kreuzung nach unten
Sie können sich bei MA mit Zeitraum 1
. Ich muss die Frage falsch gestellt haben, ich hätte einen Teil des Codes anhängen sollen. Ich nehme das zurück.
Wie von
vorgeschlagen
artmedia70 hat die zu schließende Kreuzung wie folgt angegeben. Damit ist das Geschäft gemäß dem Screenshot abgeschlossen. Aber wir müssen das Geschäft dort abschließen, wo das Kreuz ist
void CheckForClose()
{
double PriceHigh, PriceLow;
//---- go trading nur für die ersten Ticks der neuen Bar
if(Volumen[0]>1) return;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0);
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) weiter;
//---- Auftragsart prüfen
if(Auftragsart()==OP_BUY)
{
if(Low[1]<=PreisHoch && Ask>=PreisHoch ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
Pause;
}
if(OrderType()==OP_SELL)
{
if(High[1]>=PreisTief && Bid<=PreisTief) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
Pause;
}
}
//----
}
Wie kann man die letzte geschlossene Bestellung in der Software auswählen und Informationen daraus erhalten?
Sie können alles finden, was Sie wollen.
Vielen Dank für Ihre Hilfe
. Ich muss die Frage falsch gestellt haben, ich hätte einen Teil des Codes anhängen sollen. Ich nehme das zurück.
Wie von
vorgeschlagen
artmedia70 hat die zu schließende Kreuzung wie folgt angegeben. Das Geschäft wird laut Bildschirmfoto abgeschlossen. Aber wir müssen das Geschäft dort abschließen, wo das Kreuz ist
void CheckForClose()
{
double PriceHigh, PriceLow;
//---- go trading nur für die ersten Ticks der neuen Bar
if(Volumen[0]>1) return;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0);
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) weiter;
//---- Auftragsart prüfen
if(Auftragsart()==OP_BUY)
{
if(Low[1]<=PreisHoch && Ask>=PreisHoch ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
Pause;
}
if(OrderType()==OP_SELL)
{
if(High[1]>=PreisTief && Bid<=PreisTief) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
Pause;
}
}
//----
}
ExtremeTMA - grässliche Überzeichnung. Es ist ein großes Stück Geschichte - die letzten 30 Takte, wenn nicht mehr. Ich habe es benutzt, um einen Expert Advisor zu schreiben - es ist beschissen. Stellen Sie sich vor: ein Signal erscheint, Sie geben es ein, und einige Zeit später ist dieses Signal nicht mehr in der Historie zu sehen - der Indikator wurde neu gezeichnet und es stellt sich heraus, dass Sie vergeblich in den Markt eingestiegen sind
Sie haben einen Fehler bei der Bestimmung der Kreuzung gemacht: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... Sie sollten schreiben if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... Und für das Gegenteil in Analogie dazu.
Fügen Sie den Code mit der Schaltfläche SRC in das Feld am oberen Rand des Eingabefensters Ihrer Nachricht ein
ZZZY Und wo ist der Screenshot mit dem Kreuz?
ExtremeTMA - sie sind heillos überzogen. Und ein großer Teil der Geschichte - die letzten 30 Takte, wenn nicht mehr. Ich habe es benutzt, um einen Expert Advisor zu schreiben - es ist beschissen. Stellen Sie sich vor: Ich habe ein Signal erhalten, bin eingestiegen, und einige Zeit später ist das Signal nicht mehr in der Historie vorhanden - der Indikator hat zu viele Redraws durchgeführt, und es stellt sich heraus, dass ich vergeblich in den Markt eingestiegen bin
Sie haben einen Fehler bei der Bestimmung der Kreuzung gemacht: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... Sie sollten schreiben if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... Und für das Gegenteil in Analogie dazu.
SZY Der Code sollte durch Drücken der Schaltfläche SRC im Feld oben im Texteingabefenster eingefügt werden
Korrigiert, schloss den Handel auf die gleiche Weise wie im Screenshot oben, und sollte dort sein, wo das rote Kreuz ist.
Ich stimme zu, dass ExtremeTMA neu gezeichnet, aber ich denke, es hat keinen Einfluss auf die Suche nach Einstiegspunkten, die Hauptsache ist hier die Filter. Ich habe den TDI-Indikator verwendet. Ich habe beigefügt, was ich gemacht habe (ich habe keine guten Hände, deshalb ist der Expert Advisor ein gutes Projekt ). Ich habe nur ein Problem damit, es dauert etwa 5 Stunden im Tester für 1 Jahr (ich habe irgendwo einen Fehler gemacht). Wenn es nicht schwierig ist, nach Fehlern zu suchen.
Korrigiert, den Handel auf die gleiche Weise geschlossen wie im Screenshot oben, aber dort, wo das rote Kreuz sein sollte.
Ich stimme zu, dass ExtremeTMA überzeichnet ist, aber ich schätze, dass dies keinen Einfluss auf die Suche nach Einstiegspunkten hat, die Hauptsache sind hier die Filter. Ich habe den TDI-Indikator verwendet. Ich habe den Tipp beigefügt (meine Hände sind nicht gerade einfach, das Expert Advisor Projekt ist genau wie meine Hände). Ich habe nur ein Problem damit, es dauert etwa 5 Stunden im Tester für 1 Jahr (ich habe irgendwo einen Fehler gemacht). Wenn es nicht schwierig ist, nach Fehlern zu suchen.
Ich habe noch nicht nach Fehlern gesucht - es gibt viel zu tun.
Um Sell dort zu schließen, wo sich das rote Kreuz befindet, müssen Sie den aktuellen Balken überprüfen. Wenn Ask<= Schlussstand && High[1]>Schlussstand