Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui, c'est à peu près ça. Je ne l'ai pas encore testé de cette façon.
Essayez-le...
Ajouté par
if (trans.order != my_order_ticket)
{
if(trans.symbol==Symbol())
{
if(проверяем магик)
{
//Сработал SL или TP
}
}
}
break;
Quel est le problème de cette méthode ?
if (trans.order != my_order_ticket)
{
//Сработал SL или TP
}
break;
Parce que les dernières positions SL et TP connues peuvent ne pas coïncider avec le prix de la transaction et qu'il n'y aura rien à quoi le comparer.
Et vous n'aimez pas partager vos codes, mais vous regardez ceux des autres avec grand plaisir...
Cela ne fonctionnera pas toujours :
double G_LastSLlevel = 0.0; //Последний известный уровень SL
double G_LastTPlevel = 0.0; //Последний известный уровень TP
//——————————————————————————————————————————————————————————————————————————————
void OnTradeTransaction (const MqlTradeTransaction &trans, // структура торговой транзакции
const MqlTradeRequest &request, // структура запроса
const MqlTradeResult &result) // структура ответа
{
if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
{
if(PositionsAny (G_Symbol))
{
G_LastSLlevel = GetSLlevel (G_Symbol);
G_LastTPlevel = GetTPlevel (G_Symbol);
Print ("SLlevel: " + G_LastSLlevel);
Print ("TPlevel: " + G_LastTPlevel);
}
if(trans.deal != G_LastTicket)
{
if(trans.price == G_LastSLlevel)
Print ("Сработал SL");
if(trans.price == G_LastTPlevel)
Print ("Сработал TP");
}
}
}
Essayez-le...
Quel est le problème de cette méthode ?
Vous devez gardermon ticket de commande.
Est-ce que tu sais au moins de quoi tu parles ?
my_order_ticket - cette commande a un endroit où vivre si vous avez
et vous êtes obligé de les garder.
Vous devez stockermon ticket_de_commande
Je vais essayer un de ces jours. Merci. (gloussements) Je suis occupé par d'autres tâches en ce moment.
Pas seulement ça.
Oui, il est en fait proposé de maintenir et de stocker l'environnement réel lui-même, en le comparant à ce que produit OnTradeTransaction.
Ce n'est pas une solution.
Oui, il est en fait proposé de maintenir et de stocker l'environnement réel lui-même, en le comparant à ce que produit OnTradeTransaction.
Ce n'est pas une solution.
Vous ne suivez pas le sujet de près. :)
L'auteur du sujet original a écrit :
"Comment puis-je savoir dansOnTradeTransaction() que le SL/TP s'est déclenché ? "
Quelle devrait être la solution ?
Vous ne pouvez rien retenir ou vérifier, sauf la position elle-même, à condition que
Vous n'avez pas opéré d'autres commandes
if (!PositionSelect(Symbol())
{
//Сработал SL или TP
}
break;
Vous ne suivez pas le sujet de près. :)
L'auteur du sujet original a écrit :
C'est vous qui êtes plutôt inattentif, je ne suis pasl'initiateur du sujet.
Vous devriez également montrer un code comme celui-ci :
void OnTradeTransaction (const MqlTradeTransaction &trans, // структура торговой транзакции
const MqlTradeRequest &request, // структура запроса
const MqlTradeResult &result) // структура ответа
{
}
Eh bien, qu'est-ce qui ne va pas - qui en a besoin, le termine lui-même, ne l'aime pas - il y a un joba ! C'est vrai ?