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
Vielen Dank!!! cockeyedcowboy, das war wirklich super!!!
Jetzt ist die Fehlermeldung weg!!
Aber der 2. Indikator wird nicht gezeichnet und ich weiß nicht warum
Puffer_Ma=iMAOnArray(Puffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
Sie haben ein Problem mit dem zweiten Puffer, weil er keine Daten für Berechnungen enthält.
Versuchen Sie, ALLE Elemente in Buffer_Mom zu berechnen, dann Buffer_Ma.
Beispiel:
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
if(counted_bars>0) limit++;
for(int i=0; i<limit; i++)
{
Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);
}
for( i=0; i<limit; i++)
{
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
}
return(0);
}Viel Glück.
Ermitteln des OHLC eines bestimmten Balkens
Kann mir jemand sagen, wie ich den Schlusskurs eines bestimmten Balkens mit MQL-Code herausfinden kann? Kann ich einen Balken über seine Zeit referenzieren?
z.B.: closing_price_of_bar = Close("04:59:00 AM") ... wenn es nur so einfach wäre!
Vielen Dank!
Hallo Leute!
ok ich habe ein weiteres großes Problem...
wie kodiere ich diese Bedingung:
Nur beim ersten Mal Long oder Short eingeben
(also wenn ich viele folgende long signal ea geben nur beim ersten mal)
ich würde mich freuen, wenn mir jemand dabei helfen könnte
Dies ist mein einfacher Code für die Kaufbedingung:
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}Kann mir jemand sagen, wie ich den Schlusskurs eines bestimmten Balkens mit MQL-Code herausfinden kann? Kann ich einen Balken über seine Zeit referenzieren?
d.h.: closing_price_of_bar = Close("04:59:00 AM") ... wenn es nur so einfach wäre!
Ich danke IhnenVersuchen Sie dies:
closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"));
Kaufen oder Verkaufen
Hallo zusammen,
Ich habe den Buy EA und Sell EA, die immer mehr als eine Position offen sind. Ich würde gerne Hilfe bekommen, wie ich den Code ändern oder modifizieren kann, so dass nur 1(eine) Kaufposition und 1(eine) Verkaufsposition und in 1(einem) Konto möglich ist.
SL und TP werden mit Price Target arbeiten, d.h. wenn der Kaufkurs das Price Target erreicht hat, wird die Position geschlossen. Dasselbe gilt für den Verkaufskurs.
Ich bin dankbar für die Hilfe der Code-Experten in diesem Forum.
Ich danke Ihnen.
=s21=
Kaufen und Verkaufen
Oooops...
Hier ist der Buy EA.
Hallo, wenn Sie nur eine Bestellung geöffnet haben möchten, können Sie einfach die nächste Bedingung hinzufügen: If (OrdersTotal()==0).
So werden Sie Regeln für BUY Aufträge etwas wie das sein:
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
[/CODE]
So you will not get second-third-... orders opened until you current order open.
hy folks !
ok i have another big problem...
how to code this condition :
enter long or short only first time
(so if i have many following long signal ea enter only at first time)
i'll pay everyone could help me on this
this is my simple code for buy condition:
[CODE]
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}Versuchen Sie dies: closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"));
Toll! Ich musste 1 zusätzliche schließende Klammer hinzufügen, um zu verhindern, dass der Interpreter einen Fehler meldet, aber es hat wunderbar funktioniert.
Vielen Dank, Roger09
Hallo, wenn Sie nur einen Auftrag geöffnet haben wollen, können Sie einfach die nächste Bedingung hinzufügen: If (OrdersTotal()==0).
Die Regeln für KAUFEN-Bestellungen werden also in etwa so lauten:
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
Danke Avalanche,
aber das ist keine Lösung für mich, denn ich habe einen TP, ich warte nicht bis zur entgegengesetzten Bedingung
Andere Idee? PM mich, ich werde Sie bezahlen