[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 22
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
Hallo. Hilfe für Dummies: Ich habe einen EA, der schwebende Orders auf dem Min. und Max. der vorherigen Kerze platzieren kann. Öffnung in Richtung der Kerze.
Die Notwendigkeit:
- Um die Eröffnungsrichtung zu ändern, d.h. von schwebendem Kauf zu schwebendem Verkauf.
- Min und Max der vorherigen Kerze anstelle von Min und Max des Vortages
- Lassen Sie alles andere wie es ist, d.h. löschen Sie Aufträge, Losparameter, Stop-Los, magische Zahl
Alle meine Aktionen führen entweder zu Fehler 130 im Tester oder kompilieren überhaupt nicht. Danke für jeden Rat.
Nachfolgend sehen Sie den funktionierenden Code, ohne mein Zutun.
extern double Lot = 0.01;
extern int StopLoss = 0;
extern int TakeProfit = 0;
extern int Magic = 618;
int Up_bars = 0;
int Down_bars = 0;
double StopLoss_new = 0;
double TakeProfit_new = 0;
//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
for( int cnt=0;cnt<OrdersTotal();cnt++)
{
if (OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)>0)
{
if (
(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
&& OrderMagicNumber() == Magic
&& OrderSymbol() == Symbol()
&& OrderComment() != DoubleToStr(Bars,0)
)
{
Kommentar("okkk");
OrderDelete(OrderTicket());
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Up_bars != Bars)
{
if (High[1]-Ask >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(High[1]-StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_new = NormalizeDouble(High[1]+TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_BUYSTOP,Lot,NormalizeDouble(High[1],Digits),10,StopLoss_new,TakeProfit_new,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Up_bars = Bars;
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Down_bars != Bars)
{
if (Bid-Low[1] >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(Low[1]+StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_neu = NormalizeDouble(Low[1]-TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Low[1],Digits),10,StopLoss_neu,TakeProfit_neu,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Down_bars = Bars;
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Hallo. Hilf einem Dummkopf, das zu verstehen:
Kapitän Offensichtlichkeit ... und doch gibt mir jemand einen Hinweis.
Ich gebe Ihnen einen Tipp: Fassen Sie diesen Ausdruck in Worte. Und Sie werden sehen, dass Sie sich falsch ausgedrückt haben.
PS.
Wenn es für Sie so offensichtlich ist, wo ein Fehler zu suchen ist, warum fragen Sie dann?
Wenn Fehler 130. Überdenken Sie das Anhalten und Mitnehmen.
Bitte helfen Sie mir, die Order sollte mit dem 4-fachen des Abstandes vom Höchststand zum Orderopenprice schließen
Was habe ich falsch gemacht?
alle Aufträge schließen innerhalb von 3 Pips nach Eröffnung
Haben Sie versucht, das Ergebnis Ihrer Formel zu berechnen? Wenn nicht, dann tun Sie es, denn ich bekomme einen Scheißdreck. Vielleicht liegt es daran, dass ich nicht alle Bedingungen kenne.
Nur ein Fehler - ich weiß nicht, wie ich ihn beheben kann. Wo liegt das Problem?
'Symbol' - Initialisierung erwartet C:\Programmdateien\MetaTrader Finam\experts\1.mq4 (8, 13)
Symbol - Initialisierung erwartet C:\Programmdateien\MetaTrader Finam\experts\1.mq4 (8, 13)
alex12, geben Sie etwas Konkretes an, etwa
Nur ein Fehler - weiß nicht, wie man ihn behebt. Wo liegt das Problem?
'Symbol' - Initialisierung erwartet C:\Programmdateien\MetaTrader Finam\experts\1.mq4 (8, 13)
Symbol - Initialisierung erwartet C:\Programmdateien\MetaTrader Finam\experts\1.mq4 (8, 13)
Sie haben:
Das müssen Sie:
Wenn Sie auf die Fehlermeldung doppelklicken, springt der Cursor an die (übrigens) angegebene Stelle, an der der Kompilierungsfehler aufgetreten ist, d. h. hier: (8, 13)Danach werden andere Fehler ausgelöst... :)
Verschieben Sie die obige Zeile an den Anfang der Funktion start()
Das ist ein Anfang - dann sollten Sie sich um die anderen Fehler kümmern...
Hallo zusammen.
Leute, wir brauchen etwas Hilfe. Beschreiben Sie die Situation.
der aktuelle Preis ist 1,4100 (zum Beispiel) Ich muss eine Bar, deren offen ist innerhalb (plus oder minus 10 pt von 1,4100) von 1,4090 bis 1,4110 zu finden - das ist ok.
Zum Beispiel hat das Programm den Balken mit der Eröffnung bei 1,4105 gefunden, der zu mir passt.
Dann sollte das Programm diesen Balken mit dem Balken links und rechts davon vergleichen, und wenn er niedriger ist, ist er geeignet.
Artem, der Trick dabei ist, dass es unten eine Zeile wie diese gibt:
Der von Ihnen vorgeschlagene Weg macht also nicht viel Sinn - wenn ich richtig verstehe, was alex12 will.