Affiche l'erreur OrderSend(Symbol()
1. Recherchez le code d'erreur dans le journal de bord.
2. extern double TPforSymbol = 0 ;
extern double SLforSymbol = 0 ;
les variables sont égales à zéro.
Le fait que les variables soient nulles est une contrainte de pertes et profits, je ne pense pas que cela importe ici.....
Bonjour à tous, qui peut aider avec le robot, pourquoi ne fonctionne-t-il pas ?
extern double lots = 0.01 ;
extern double TPforSymbol = 0 ;
extern double SLforSymbol = 0 ;
int last_bar = 0 ;
int start(){
si (last_bar == Bars) return(0) ;
last_bar = Bars ;
si (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) ;
}
retour(0) ;
}
Les règles de la langue ne vous permettent pas d'avaler des paramètres avec des valeurs par défaut. Si vous devez définir la couleur des flèches, écrivez tous les paramètres à gauche de la couleur. B slippage 3 n'est pas suffisant, si c'est 5 chiffres, il y aura des requotes, j'ai écrit 50. Et SL et TP doivent être définis à des valeurs différentes de zéro.Aleksey Vakhrushev a déjà écrit à ce sujet.
OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, "", 1, 0, clr Blue);
droite =)
un ordre tente de placer un stop et un arrêt au même endroit que le prix - ce qui est impossible
- soit faire comme ci-dessous si vous voulez 0
ou préciserTPforSymbol, SLforSymbol
OrderSend(Symbol(), OP_BUY, lots ,Ask, 50,0, 0, "", 1, 0, clrBlue);
Bonjour à tous, qui peut aider avec le robot, pourquoi ne fonctionne-t-il pas ?
Voulez-vous que la fonction d'ouverture soit correcte ou voulez-vous comprendre pourquoi il y a des erreurs ?
Cela devrait ouvrir des marchés.
Gérer les variables
extern double TPforSymbol = 0 ;extern double SLforSymbol = 0 ;
Avec cette valeur de variables, vous obtiendrez une erreur.
Alexey Volchanskiy a écrit que vous ne spécifiez pas tous les paramètres de la fonction OrderSend().
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 ;
si(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) ;
}
Je l'ai corrigé comme ça, mais c'est toujours faux. .....
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Bonjour à tous, qui peut aider avec le robot, pourquoi ne fonctionne-t-il pas ?
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) ;
}