Soit vous montrez le code, soit vous fermez le fil.
Le code est éparpillé. Une partie se trouve dans le conseiller expert, une autre dans l'indicateur. Je ne vais pas publier l'intégralité du conseiller expert et de l'indicateur. Si vous êtes intéressé par une certaine pièce, je peux l'afficher. Faites-moi savoir ce dont vous avez besoin exactement.
khorosh: Le code est éparpillé. Une partie se trouve dans le conseiller expert, une autre dans l'indicateur. Je ne vais pas publier l'intégralité du conseiller expert et de l'indicateur. Si vous êtes intéressé par une certaine partie, je peux l'exposer. Veuillez indiquer ce dont vous avez besoin exactement.
Je ne comprends pas pourquoi vous devez maintenir un fil de discussion si votre problème a déjà été résolu et que le reste d'entre nous ne retire rien de la discussion.
Je ne comprends pas pourquoi vous devez maintenir un fil de discussion si votre problème a déjà été résolu et que le reste d'entre nous ne retire rien de la discussion.
Suggéré pour ajouter un peu de constructivité)
Ok, tu l'as :) J'affiche tout ce qui concerne le glisser-déposer de SL. Pour le TP, je ne l'ai pas fait jusqu'à présent, n'en ayant pas encore particulièrement besoin. Mais ce n'est pas un problème de le faire par analogie. Je colle l'indicateur dans son intégralité, j'ai supprimé tout ce qui concerne le déplacement du SL de l'EA. Je n'ai pas étudié les innovations de la langue, je fais beaucoup de choses à l'ancienne, alors ne jugez pas.
Vous devez également ajouter une condition à la fonction ModifYSL(double priceModifySL=0), au cas où. Comme on dit, on ne peut pas gâcher beaucoup de porridge avec du beurre).
khorosh: Nous devons introduire une autre variable globale pour modifier le TR. J'ai appelé la variable globale"ModifySL" pour une raison. Et puis il y a le GV "ModifyTP".
C'est compréhensible. Ce que je veux dire, c'est que si l'ordre n'a pas de stop, nous pouvons faire glisser la ligne de l'ordre lui-même et le stop sera fixé là où nous faisons "glisser" la ligne. C'est le cas si nous n'avons pas de traitement à emporter. Et si nous avons le traitement à la fois des stops et des toes, mais que l'ordre n'en a aucun, alors si nous traçons la ligne de l'ordre, que devons-nous fixer ? Une prise ou un arrêt ?
Artyom Trishkin: Oui, je peux voir ça. Ce que je veux dire, c'est que si l'ordre n'a pas de stop, nous pouvons faire glisser la ligne de l'ordre lui-même, et le stop sera placé là où nous faisons "glisser" la ligne. C'est le cas si nous n'avons pas de traitement TP. Et si nous avons le traitement à la fois des stops et des toes, mais que l'ordre n'en a aucun, alors si nous traçons la ligne de l'ordre, que devons-nous fixer ? Une prise ou un arrêt ?
Je vois. Ensuite, nous devrions soit ajouter des boutons pour définir le type de modification, soit procéder de la même manière que sur un vrai graphique. Nous devons définir la direction initiale du mouvement du prix de l'ordre pour déterminer ce qui doit être pris par le TP ou le SL. Je n'y ai pas pensé au début parce que ce n'est pas une question très importante pour moi et que dans mon EA pour le test manuel des stratégies, le SL et le TP sont définis immédiatement lors de la passation des ordres. Vous avez soulevé un bon point. Merci, je vais garder cela à l'esprit.
khorosh: Je l'ai. Ensuite, soit vous créez des boutons supplémentaires pour définir le type de modification, soit vous le faites de la manière dont cela se fait sur le graphique réel. La direction initiale du mouvement à partir du prix de l'ordre pour déterminer ce que le TP ou le SL doit tirer.
Ou nous pouvons le combiner avec les boutons du clavier ;)
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Se vanter ? )
Soit vous montrez le code, soit vous fermez le fil.
Le code est éparpillé. Une partie se trouve dans le conseiller expert, une autre dans l'indicateur. Je ne vais pas publier l'intégralité du conseiller expert et de l'indicateur. Si vous êtes intéressé par une certaine partie, je peux l'exposer. Veuillez indiquer ce dont vous avez besoin exactement.
Je ne comprends pas pourquoi vous devez maintenir un fil de discussion si votre problème a déjà été résolu et que le reste d'entre nous ne retire rien de la discussion.
Suggestion d'ajout constructif :)
Je ne comprends pas pourquoi vous devez maintenir un fil de discussion si votre problème a déjà été résolu et que le reste d'entre nous ne retire rien de la discussion.
Suggéré pour ajouter un peu de constructivité)
Ok, tu l'as :) J'affiche tout ce qui concerne le glisser-déposer de SL. Pour le TP, je ne l'ai pas fait jusqu'à présent, n'en ayant pas encore particulièrement besoin. Mais ce n'est pas un problème de le faire par analogie. Je colle l'indicateur dans son intégralité, j'ai supprimé tout ce qui concerne le déplacement du SL de l'EA. Je n'ai pas étudié les innovations de la langue, je fais beaucoup de choses à l'ancienne, alors ne jugez pas.
Code de l'indicateur :
Pièces de EA :
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Модификация одного предварительно выбранного ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| pp - цена установки ордера | //| sl - ценовой уровень стопа | //| tp - ценовой уровень тейка | //| ex - дата истечения | //+----------------------------------------------------------------------------+ void ModifyOrder1(double pp=-1, double sl=0, double tp=0, datetime ex=0) { bool fm; color cl=IIFc(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell); double op, pa, pb, os, ot; int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it; if (pp<=0) pp=OrderOpenPrice(); if (sl<0 ) sl=OrderStopLoss(); if (tp<0 ) tp=OrderTakeProfit(); pp=NormalizeDouble(pp, dg); sl=NormalizeDouble(sl, dg); tp=NormalizeDouble(tp, dg); op=NormalizeDouble(OrderOpenPrice() , dg); os=NormalizeDouble(OrderStopLoss() , dg); ot=NormalizeDouble(OrderTakeProfit(), dg); if (pp!=op || sl!=os || tp!=ot) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); fm=OrderModify(OrderTicket(), pp, sl, tp, ex, cl); if (fm) { PlaySound("wait.wav"); break; } else { er=GetLastError(); PlaySound("timeout.wav"); pa=MarketInfo(OrderSymbol(), MODE_ASK); pb=MarketInfo(OrderSymbol(), MODE_BID); Print("Error(",er,") modifying order: ",ErrorDescription(er),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(), " op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp); Sleep(1000*10); } } } }Je n'ai pas encore fait de TP, je n'en ai pas particulièrement besoin pour le moment.
C'est pourquoi il est possible de tirer le prix d'ouverture vers le haut et de mettre un SL en profit ;)
Merci pour les commentaires constructifs.
D'où l'opportunité de tirer le prix d'ouverture vers le haut et de mettre le SL en profit ;)
Merci pour les commentaires constructifs.
Qu'est-ce que cela a à voir avec takeprofit ?
Vous devez également ajouter une condition à la fonction ModifYSL(double priceModifySL=0), au cas où. Comme on dit, on ne peut pas gâcher beaucoup de porridge avec du beurre).
Nous devons introduire une autre variable globale pour modifier le TR. J'ai appelé la variable globale"ModifySL" pour une raison. Et puis il y a le GV "ModifyTP".
Oui, je peux voir ça. Ce que je veux dire, c'est que si l'ordre n'a pas de stop, nous pouvons faire glisser la ligne de l'ordre lui-même, et le stop sera placé là où nous faisons "glisser" la ligne. C'est le cas si nous n'avons pas de traitement TP. Et si nous avons le traitement à la fois des stops et des toes, mais que l'ordre n'en a aucun, alors si nous traçons la ligne de l'ordre, que devons-nous fixer ? Une prise ou un arrêt ?
Je l'ai. Ensuite, soit vous créez des boutons supplémentaires pour définir le type de modification, soit vous le faites de la manière dont cela se fait sur le graphique réel. La direction initiale du mouvement à partir du prix de l'ordre pour déterminer ce que le TP ou le SL doit tirer.