Non, cela ne fonctionne pas... un ordre - un lot, si vous avez ouvert un ordre avec 3 lots, vous ne pouvez pas diviser le lot comme vous le souhaitez - d'abord 1, puis 1 et ensuite 1 - l'ordre ferme le lot entier, c'est-à-dire que l'ordre se ferme avec le même lot qu'il a été ouvert, vous ne pouvez pas fermer les ordres en partie...
vous vous trompez j'ai un trall qui ferme l'ordre en parties.
hope писал(а)>> pas la même. Un tiers du lot est fermé (selon l'une des conditions - disons que le prix a atteint +150 points). Le deuxième tiers fermera, disons, lorsque +300pts de l'ouverture, etc.
Non, ça ne fonctionne pas comme ça... un ordre - un lot, si vous ouvrez un ordre avec 3 lots, vous ne pouvez pas diviser le lot de quelque façon que ce soit - d'abord 1, puis 1 et ensuite 1 de plus - l'ordre ferme le lot entier, c'est-à-dire que l'ordre se ferme avec le lot avec lequel il a été ouvert, vous ne pouvez pas fermer les ordres au coup par coup...
...........................
".... vous ne pouvez pas diviser la commande en lots..." - pourquoi ? Techniquement, elle a été implémentée il y a longtemps, et grâce à Roger et KimIV à la p.85 l'erreur des 131 lots normalisés a été évitée. En outre, l'affirmation "...un ordre, un lot, et si vous ouvrez un ordre avec 3 lots, alors vous ne pouvez pas le diviser comme vous le souhaitez : d'abord 1, puis 1..." est incorrecte : un ordre, tout comme un lot, est constitué du volume : 0.03, 0.3, 3... et est tranquillement fermé par des parties : 0.01, 0.1, 1... n'est-ce pas ?
Et l'objet de ma dernière demande était le suivant : est-il possible de clôturer TOUTES les positions sans avoir recours à des tableaux, mais en utilisant des calculs standard et en les additionnant comme suit
BuyTotalOp=0;// Количество Buy ордеров
SellTotalOp=0;// Количество Sell ордеровfor(int i=1; i<=OrdersTotal(); i++)// Цикл перебора ордер{if(OrderSelect( i-1, SELECT_BY_POS)==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb)continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}if(OrderType()==OP_BUY){
BuyTotalOp++;// Счётчик ордеров Buy
J'ai l'impression d'être un navire fatigué qui a navigué sur l'océan en espérant qu'un phare me dise s'il faut continuer dans cette direction ou faire demi-tour et essayer un autre chemin...
Igor - est-ce qu'on détruit votre branche pour rien ?
Kim, tu es la meilleure. Je vous tire mon chapeau.
J'ai étudié toutes vos fonctions, mais il y a un hic, ou hic. Maintenant, quand j'écris des fonctions, je les écris depuis mon cerveau, mais vos fonctions sont dans ma tête :-).
J'ai étudié plusieurs de vos fonctions depuis le tout début de ma carrière de programmeur.
Aidez-moi à fermer un ordre à n 'importe quelle condition et cela ne fonctionne pas.
Merci d'avance
Explication
Toute stratégie de fermeture d'un ordre n'est pas importante Veuillez aider à fermer un ordre en utilisant les fonctions de Kim.
int start(){//----//Print (ExpertName);if(Bars<20)return(0);if( CheckNevBar)if(! NevBar())return(0);
TradesInThisSymbol = ExistPositions( sy);if( TradesInThisSymbol >0)return(0);if(AccountFreeMargin()< MarginMin){//Print("Not enough money to trade Strategy:", ExpertName);return(0);}
sy=Symbol();
Lots = GetSizeLot( sy, LotsWayChoice, LotsPercent, LotsDeltaDepo, LotsDepoForOne, LotsMax);if( CheckForOpen_Sell())
OpenPosition( sy,OP_SELL, Lots);// Тут работаетif( CheckForOpen_Buy())
OpenPosition( sy,OP_BUY, Lots);// Тут работаетif( CheckForClose_Buy())
ClosePositions( sy,OP_BUY);// Тут у меня что то неработаетif( CheckForClose_Sell())
ClosePositions( sy,OP_SELL);// Тут у меня что то неработает//----return(0);}//------------------------bool CheckForClose_Buy(){
Indicat_Var();if( ExistPositions( sy,OP_BUY, MagicNumber)){if( VininI_fast_trend ==-1)return(true); // Тут любое условие на закрытие//if(BB_MACD_2 > 0)return(true); // Тут любое условие на закрытиеelsereturn(false);}}//------------------------bool CheckForClose_Sell(){
Indicat_Var();if( NumberOfPositions( sy,OP_SELL, MagicNumber)>0){if( VininI_fast_trend ==1)return(true);// Тут любое условие на закрытие//if(BB_MACD_1 > 0) // Тут любое условие на закрытие//return(true);elsereturn(false);}}
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.
Non, cela ne fonctionne pas... un ordre - un lot, si vous avez ouvert un ordre avec 3 lots, vous ne pouvez pas diviser le lot comme vous le souhaitez - d'abord 1, puis 1 et ensuite 1 - l'ordre ferme le lot entier, c'est-à-dire que l'ordre se ferme avec le même lot qu'il a été ouvert, vous ne pouvez pas fermer les ordres en partie...
vous vous trompez j'ai un trall qui ferme l'ordre en parties.
pas de nouvelles commandes bien sûr ?
Non, ça ne fonctionne pas comme ça... un ordre - un lot, si vous ouvrez un ordre avec 3 lots, vous ne pouvez pas diviser le lot de quelque façon que ce soit - d'abord 1, puis 1 et ensuite 1 de plus - l'ordre ferme le lot entier, c'est-à-dire que l'ordre se ferme avec le lot avec lequel il a été ouvert, vous ne pouvez pas fermer les ordres au coup par coup...
...........................
".... vous ne pouvez pas diviser la commande en lots..." - pourquoi ? Techniquement, elle a été implémentée il y a longtemps, et grâce à Roger et KimIV à la p.85 l'erreur des 131 lots normalisés a été évitée. En outre, l'affirmation "...un ordre, un lot, et si vous ouvrez un ordre avec 3 lots, alors vous ne pouvez pas le diviser comme vous le souhaitez : d'abord 1, puis 1..." est incorrecte : un ordre, tout comme un lot, est constitué du volume : 0.03, 0.3, 3... et est tranquillement fermé par des parties : 0.01, 0.1, 1... n'est-ce pas ?
Et l'objet de ma dernière demande était le suivant : est-il possible de clôturer TOUTES les positions sans avoir recours à des tableaux, mais en utilisant des calculs standard et en les additionnant comme suit
J'ai l'impression d'être un navire fatigué qui a navigué sur l'océan en espérant qu'un phare me dise s'il faut continuer dans cette direction ou faire demi-tour et essayer un autre chemin...
Igor - est-ce qu'on détruit votre branche pour rien ?
Vous pouvez fermer une seule paire à la fois, mais des paires différentes, par ex :
1,2,1,2,2,1,2 volume total superposé 1-2-1+2+2+1+2=3 lots
En résumant, on obtient l'achat-été de 3 lots et on met le compteur de ce volume en vente de 3 lots.
et ensuite nous fermons le bi de fermeture.
*
Mais pour répondre à la question : est-il possible de fermer toutes les positions ?
oui c'est possible, l'un après l'autre, avec un script c'est rapide, aap !
Les scripts eux-mêmes ou les fonctions de fermeture ont été publiés plus d'une fois...
Et en les paramétrant, vous pouvez les fermer tous en même temps et par critères, par exemple :
- par un symbole spécifique
- seulement bai ou seulement vendre
- seulement rentable
En conséquence, des combinaisons de critères sont possibles...
Aidez-nous à fermer l'ordre à n 'importe quelle condition et cela ne fonctionne tout simplement pas.
Merci d'avance
Couvre tout ! !!
Ne fermera que les poses ouvertes.
Exemple d'appel.
Fermer le script dans son intégralité.
Kim, tu es la meilleure. Je vous tire mon chapeau.
J'ai étudié toutes vos fonctions, mais il y a un hic, ou hic. Maintenant, quand j'écris des fonctions, je les écris depuis mon cerveau, mais vos fonctions sont dans ma tête :-).
J'ai étudié plusieurs de vos fonctions depuis le tout début de ma carrière de programmeur.
Merci.
Aidez-moi à fermer un ordre à n 'importe quelle condition et cela ne fonctionne pas.
Merci d'avance
Explication
Toute stratégie de fermeture d'un ordre n'est pas importante Veuillez aider à fermer un ordre en utilisant les fonctions de Kim.