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!
Ich kann es nicht kompilieren, weil ein Fehler mit unausgewogenen Klammern auftritt. Kann mir jemand sagen, warum diese Klammern unausgewogen sind?
Vielen DankWenn Sie diese Fehlermeldung erhalten, fehlt eines der Elemente [ oder { oder (
Wahrscheinlich gibt es irgendwo in Ihrem Code eine Funktion, in der Sie zu viel von den {[(
Ich habe einen Teil deines Codes überprüft und einige Fehler gefunden. Versuchen Sie dies:
if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order
{
int hstTotal=OrdersHistoryTotal();
for(i=0;i<hstTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)
{
Print("Access to history failed ("+GetLastError()+")");
break;
}
else
{
if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
Ich denke auch, dass der letzte Teil Ihres Codes (OrderDelete) nicht funktionieren wird, weil die OrderDelete-Funktion nichts überprüft - sie löscht die ausgewählte Bestellung. Sie müssen also einen Parameter mit dem Auftragsticket an diese Funktion übergeben. Stattdessen können Sie gelöschte Bestellungen anhand ihrer Kommentare erkennen. Jede gelöschte Bestellung hat "canceled" in ihrem Kommentar - Sie können das Ergebnis der OrderComment() Funktion vergleichen, um dies zu finden.
Kann mir jemand helfen?
Hallo,
Ich versuche, einen EA zu schreiben, und ich brauche etwas Hilfe beim Schreiben einer Formel.
Ich möchte, dass die Formel den Unterschied zwischen der vorherigen Kerze schließen (PCC1) und die Schließung der Kerze zwei Kerzen zurück (PCC2) zu berechnen (Ich werde dies auf mehrere Paare laufen). HoL=(PCC1-PCC2)
Mein Ziel ist es, ein Kauf- oder Verkaufssignal zu erzeugen;
bool BuySignal=false;
bool SellSignal=false;
if(HoL>0) BuySignal=true;if(HoL<0) SellSignal=true;
Vielen Dank für Ihre Hilfe bei dieser Aufgabe.
...
Wenn Sie mehrere Symbole aus einer Instanz von EA verwenden möchten, können Sie etwas wie dieses verwenden:
double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code
int symbolShift2 = iBarShift(symbolName,0,Time[2]);
double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);
If you are going to use it only on symbol that your EA is attached to than this
[php]
double HoL=Close[1]-Close[2];
ist genug
PS:"symbolName" sollte auf das Symbol Ihrer Wahl gesetzt werden.
Grüße
mladen
Hallo,
Ich versuche, einen EA zu schreiben, und ich brauche Hilfe beim Schreiben einer Formel.
Ich möchte, dass die Formel den Unterschied zwischen dem vorherigen Kerzenschluss (PCC1) und dem Schluss der Kerze zwei Kerzen zurück (PCC2) berechnet (ich werde dies auf mehrere Paare anwenden). HoL=(PCC1-PCC2)
Mein Ziel ist es, ein Kauf- oder Verkaufssignal zu erzeugen;
bool BuySignal=false;
bool SellSignal=false;
if(HoL>0) BuySignal=true;if(HoL<0) SellSignal=true;
Vielen Dank für Ihre Hilfe bei diesem Problem.TP ausblenden
Ersetzen
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}[/CODE]
to
[CODE]void OpenBuy()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}Abstand zwischen Buy-Stop-Orders
Hallo zusammen, ich versuche, einen Abstand zwischen einer gelöschten Buy-Stop-Order und der nächsten Buy-Stop-Order zu implementieren.
Ich habe diesen Code geschrieben, der funktioniert, es sei denn, der letzte Auftrag ist etwas anderes. Ich bin mir nicht sicher, wie ich eine gelöschte Buy-Stop-Order aus der Historie auswählen kann. Wenn mir jemand einen Tipp geben könnte, wäre ich sehr dankbar.
Danke
// Time Delay für die nächste "Buy Stop" Order wird gelöscht.
//Time Delay for the next Buy Stop Order
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
{
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
}
Hallo zusammen,
Ich denke, das ist besser:
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
break;
}
}Ich denke, das ist besser:
Hallo Roger,
Ich bin sehr neu in der Programmierung, warum verwende ich das "break" dort? Würde es automatisch abbrechen, wenn die Anweisung beendet ist?
Gibt es außerdem Hinweise darauf, wie man einen gelöschten Auftrag aus der Historie auswählt?
Danke
Sie zeigen uns nur ein Fragment des Codes und ich kann nur raten.
Ich vermute, Sie beginnen die Geschichte zu überprüfen, nachdem die letzte Bestellung geschlossen ist, so müssen Sie wissen, wann geschlossen wurde. Die jüngste geschlossene Bestellung ist am Ende der Historie, so dass Sie nicht brauchen, um eine andere zu wissen und "Pause" zu stoppen Überprüfung.
Es gibt viele Methoden, um die richtige Reihenfolge in der Historie zu finden, Sie haben Typ, magische Zahl, Kommentare usw.
brauche Coder für einfachen EA
profitables System : min 50 Pips -200 Pips Gewinn pro Handel
1-Stunden-System
nur 1 Indikator plus ATR (20) verwenden
einfache EA mit tp/sl/trailing stop
EA Coder kann kostenlos aushelfen bitte PM mit Ihrer E-Mail