Wer kann mit dem Roboter helfen, warum funktioniert er nicht?

 

Hallo zusammen, wer kann mir mit dem Roboter helfen, warum funktioniert er nicht?

extern double lots = 0.01;
extern double TPforSymbol = 0;
extern double SLforSymbol = 0;

int last_bar= 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
if(OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask+ SLforSymbol * Point, Bid - TPforSymbol * Point, 0, Red);
}
return(0);
}

 
Zeigt einen OrderSend(Symbol()-Fehler an
 
GIM:
Zeigt Fehler OrderSend(Symbol()

1. Schlagen Sie den Fehlercode im Logbuch nach.

2. extern double TPforSymbol = 0;

extern double SLforSymbol = 0;

Variablen gleich Null.

 
Die Tatsache, dass die Variablen Null sind, ist eine Gewinn- und Verlustbeschränkung, ich glaube nicht, dass es hier eine Rolle spielt....
 
GIM:
Die Tatsache, dass die Variablen Null sind, ist eine Gewinn- und Verlustbeschränkung, ich glaube nicht, dass es hier eine Rolle spielt....
Der Fehler muss bei 130? Sie versuchen, eine Order mit TP- und SL-Werten zu eröffnen, die gleich dem Ask und Bid sind.
 
GIM:

Hallo zusammen, wer kann mir mit dem Roboter helfen, warum funktioniert er nicht?

extern double lots = 0.01;
extern double TPforSymbol = 0;
extern double SLforSymbol = 0;

int last_bar = 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
wenn (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask + SLforSymbol * Point, Bid - TPforSymbol * Point, 0, Red);
}
zurück(0);
}

Sie können nach den Regeln der Sprache keine Parameter mit Standardwerten schlucken. Wenn Sie die Farbe der Pfeile einstellen müssen, schreiben Sie alle Parameter links neben die Farbe. B Schlupf 3 ist nicht genug, wenn es 5 Ziffern ist, wird es requotes, schrieb ich 50. Und SL und TP sollten auf andere Werte als Null gesetzt werden.Aleksey Vakhrushev hat bereits darüber geschrieben.

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point,  "", 1, 0, clr Blue);
 

richtig =)

ein Auftrag versucht, einen Stopp und einen Stopp an der gleichen Stelle wie den Preis zu platzieren - was unmöglich ist

- entweder wie unten, wenn Sie 0 wollen

oderTPforSymbol, SLforSymbol angeben

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50,0, 0,  "", 1, 0, clrBlue);
 
GIM:

Hallo zusammen, wer kann mir mit dem Roboter helfen, warum funktioniert er nicht?


Müssen Sie die Öffnungsfunktion korrigieren oder wollen Sie herausfinden, warum die Fehler auftreten?
 
Vladimir Zubov:
Wollen Sie, dass die Eröffnungsfunktion korrekt ist, oder wollen Sie verstehen, warum es Fehler gibt?
Sie wollen, dass es den Handel eröffnet.
 
GIM:
Es sollte Geschäfte eröffnen.

Umgang mit den Variablen

extern double TPforSymbol = 0;

extern double SLforSymbol = 0;

Bei diesem Wert der Variablen erhalten Sie eine Fehlermeldung.

Alexey Volchanskiy schrieb, dass Sie nicht alle Parameter für die Funktion OrderSend() angeben.

 
extern double lots = 0.01;
extern double TPforSymbol = 100;
extern double SLforSymbol = 1000;
extern int stop_loss = 76;
extern int take_profit = 750;

intlast_bar = 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
if(OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - stop_loss * Point, Ask + take_profit * Point, "", 1, 0, clrBlue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 50, Ask+ stop_loss * Point, Bid - take_profit * Point, "", 1, 0, clrRed);
}
return(0);

}


Ich habe es so korrigiert, aber es ist immer noch falsch.....