Salut les amis, pourriez-vous suggérer une fonction simple, qui, si une condition se réalise... (SigPF==1 ou SigPF==2) et OrdersTotal>0 c'est-à-dire que seuls les ordres qui sont actuellement sur le marché doivent être traités si l'une des conditions SigPF se produit.
C'est la variable externe qui vérifie la condition à l'intérieur de la fonction. extern int PF_price_in_pips=70 ; La fonction doit : 1.définir le type d'ordre auquel nous avons affaire... si SigPF==1, il s'agit d'un ordre d'achat, si SigPF==2, il s'agit d'un ordre de vente. 2. vérifier le prix actuel et si il y a un ordre d'achat et SigPF==1 est présent sur le marché, alors
la différence entre le prix actuel auquel l'ordre d'achat doit être ouvert et l'un des prix ouverts des ordres déjà sur le marché est supérieure à PF_price_in_pips, la fonction doit renvoyer valid_signal=true.
il y a maintenant des ordres de vente sur le marché, et SigPF==2 a été défini, alors
la différence entre le prix d'un ordre ouvert déjà présent sur le marché et le prix actuel, auquel l'ordre de vente sera ouvert, est supérieure à PF_price_in_pips, alors la fonction doit renvoyer l'indicateur valid_signal=true.
si la distance entre le prix d'ouverture du nouvel ordre et l'occurrence des signaux d'achat/de vente est inférieure à PF_price_in_pips, la fonction doit renvoyer valid_signal=false.
En résumé, la fonction doit vérifier la distance entre le prix d'ouverture du nouvel ordre aux signaux d'achat et de vente (SigPF==1, SigPF==2) et n'importe lequel des prix d'ouverture des ordres qui sont déjà sur le marché... et si cette distance est supérieure à PF_price_in_pips alors le valid_signal=true doit être retourné. Ceci afin d'éviter d'ouvrir des commandes à des prix très proches les uns des autres ! Et une autre chose... mon EA ne trade que sur l'ouverture d'une nouvelle barre... pas sur tous les ticks... mais je ne pense pas que ça compte... Je dois de toute façon tenir compte des prix d'achat et de vente...
aide avec cette fonction... ! Si quelque chose n'est pas clair, j'essaierai d'expliquer... ou de donner des photos ! Aidez-moi) Merci !
Arsen_Syharev: Pouvez-vous me dire quelle commande écrire pour que lorsque les fractales Sell1 et Sell2 sont ouvertes en même temps, un ordre soit ouvert.
Bonjour chers collègues, j'ai récemment rejoint vos rangs :). J'en ai marre des ordres en attente et j'ai décidé d'utiliser un script que j'ai téléchargé sur Internet mais ce n'était pas satisfaisant : j'avais des erreurs dans un seul sens, et l'autre script ne plaçait qu'un ordre dans chaque sens. Il consiste essentiellement à ouvrir un certain nombre d'ordres en attente dans les deux sens. Question : Comment puis-je définir un stop suiveur sur chaque ordre ? Il s'agit d'un script, pas d'un conseiller expert. Les ordres ont été ouverts, le trailing stop leur a été attaché, et c'est tout, le script a fait son travail. Comment puis-je utiliser le script pour déclencher un trailing stop régulier qui est exécuté par un clic droit sur un ordre ? 4ème MetaTrader Build 765.
Bonjour chers collègues, j'ai récemment rejoint vos rangs :). J'en ai marre des ordres en attente et j'ai décidé d'utiliser un script que j'ai téléchargé sur Internet mais ce n'était pas satisfaisant : j'avais des erreurs dans un seul sens, et l'autre script ne plaçait qu'un ordre dans chaque sens. Il consiste essentiellement à ouvrir un certain nombre d'ordres en attente dans les deux sens. Question : Comment puis-je définir un stop suiveur sur chaque ordre ? Il s'agit d'un script, pas d'un conseiller expert. Les ordres ont été ouverts, le trailing stop leur a été attaché, et c'est tout, le script a fait son travail. Comment puis-je utiliser le script pour déclencher un trailing stop régulier qui est exécuté par un clic droit sur un ordre ? 4ème MetaTrader Build 765.
La tâche est la suivante : je dois ouvrir des ordres après un certain pas de distance sur EURUSD.m pour acheter et sur EURUSD.m1 pour vendre. Ce problème est résolu dans le code ci-dessous.
Toutefois, si le prix a évolué en notre défaveur, nous devons encore ouvrir des ordres d'achat pour EURUSD.m, à condition que le prix ait évolué depuis le dernier ordre de vente à EURUSD.m1 à une distance de Step*2. Cette condition fonctionnera à condition que ce prix d'ouverture soit inférieur au prix du dernier ordre d'achat pour EURUSD.m.
Je n'arrive pas à trouver comment le faire. Je serais heureux de vous aider.
// бай евро долларif (rates[1].open < rates[1].close && !PositionSelect(Symbol1))
{
LastPriceBuy = OpenBuy(Symbol1,Lot); // если бычья свеча и нет открытой позиции по этому символу
}
if (GlobalVariableCheck ("bb_1")) GlobalVariableGet("bb_1", bb_1); // цифровая переменная внутренняя и ее проверкаif (PositionSelect(Symbol1) && LastPriceBuy > 0) //открытие второго и последующих ордеров
{
if(LastPriceBuy+Step*_Point < SymbolInfoDouble(Symbol1,SYMBOL_ASK))
{LastPriceBuy = OpenBuy(Symbol1,Lot);} // открытие позиции в бай по евро доллару всех последующих ордеров
}
// сел евро долларif (rates[1].open > rates[1].close && !PositionSelect(Symbol3)) {LastPriceSell = OpenSell(Symbol3,Lot);} // если бычья свеча и нет открытой позиции по этому символуif (GlobalVariableCheck ("ss_1")) GlobalVariableGet("ss1_", ss_1); // цифровая переменная внутренняя и ее проверкаif (PositionSelect(Symbol3) && LastPriceSell > 0) //открытие второго и последующих ордеров
{
if(LastPriceSell-Step*_Point > SymbolInfoDouble(Symbol3,SYMBOL_BID))
{LastPriceSell = OpenSell(Symbol3,Lot);} // открытие позиции в селл по евро доллару всех последующих ордеров
}
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.
Veuillez me conseiller sur la commande à écrire pour ouvrir les fractales Sell1 et Sell2 en même temps.
C'est la variable externe qui vérifie la condition à l'intérieur de la fonction.
extern int PF_price_in_pips=70 ;
La fonction doit :
1.définir le type d'ordre auquel nous avons affaire... si SigPF==1, il s'agit d'un ordre d'achat, si SigPF==2, il s'agit d'un ordre de vente.
2. vérifier le prix actuel et si
il y a un ordre d'achat et SigPF==1 est présent sur le marché, alors
la différence entre le prix actuel auquel l'ordre d'achat doit être ouvert et l'un des prix ouverts des ordres déjà sur le marché est supérieure à PF_price_in_pips, la fonction doit renvoyer valid_signal=true.
il y a maintenant des ordres de vente sur le marché, et SigPF==2 a été défini, alors
la différence entre le prix d'un ordre ouvert déjà présent sur le marché et le prix actuel, auquel l'ordre de vente sera ouvert, est supérieure à PF_price_in_pips, alors la fonction doit renvoyer l'indicateur valid_signal=true.
si la distance entre le prix d'ouverture du nouvel ordre et l'occurrence des signaux d'achat/de vente est inférieure à PF_price_in_pips, la fonction doit renvoyer valid_signal=false.
En résumé, la fonction doit vérifier la distance entre le prix d'ouverture du nouvel ordre aux signaux d'achat et de vente (SigPF==1, SigPF==2) et n'importe lequel des prix d'ouverture des ordres qui sont déjà sur le marché... et si cette distance est supérieure à PF_price_in_pips alors le valid_signal=true doit être retourné. Ceci afin d'éviter d'ouvrir des commandes à des prix très proches les uns des autres ! Et une autre chose... mon EA ne trade que sur l'ouverture d'une nouvelle barre... pas sur tous les ticks... mais je ne pense pas que ça compte... Je dois de toute façon tenir compte des prix d'achat et de vente...
aide avec cette fonction... ! Si quelque chose n'est pas clair, j'essaierai d'expliquer... ou de donner des photos ! Aidez-moi) Merci !
Je ne suis pas sûr d'avoir les bons termes, mais...
int OrdTotal=OrdersTotal();
bool valid_signal=false;
int SigFF;
if(OrdersTotal()>0)
{
for(int i=OrdTotal-1; i>=0; i --)
{
if(!OrderSelect(i,SELECT_BY_POS))
continue;
if(OrderType()==OP_BUY && SigFF==1 && Ask+OrderOpenPrice()>PF_price_in_pips)
valid_signal=true;
else
valid_signal=false;
if(OrderType()==OP_SELL && SigFF==2 && OrderOpenPrice()-Bid>PF_price_in_pips)
valid_signal=true;
else
valid_signal=false;
}
}
Pouvez-vous me dire quelle commande écrire pour que lorsque les fractales Sell1 et Sell2 s'ouvrent en même temps un ordre
Pouvez-vous me dire quelle commande écrire pour que lorsque les fractales Sell1 et Sell2 sont ouvertes en même temps, un ordre soit ouvert.
Mais il doit s'agir d'un exemple TRÈS TRÈS grossier
Bonjour chers collègues, j'ai récemment rejoint vos rangs :). J'en ai marre des ordres en attente et j'ai décidé d'utiliser un script que j'ai téléchargé sur Internet mais ce n'était pas satisfaisant : j'avais des erreurs dans un seul sens, et l'autre script ne plaçait qu'un ordre dans chaque sens. Il consiste essentiellement à ouvrir un certain nombre d'ordres en attente dans les deux sens. Question : Comment puis-je définir un stop suiveur sur chaque ordre ? Il s'agit d'un script, pas d'un conseiller expert. Les ordres ont été ouverts, le trailing stop leur a été attaché, et c'est tout, le script a fait son travail. Comment puis-je utiliser le script pour déclencher un trailing stop régulier qui est exécuté par un clic droit sur un ordre ? 4ème MetaTrader Build 765.
Bonjour chers collègues, j'ai récemment rejoint vos rangs :). J'en ai marre des ordres en attente et j'ai décidé d'utiliser un script que j'ai téléchargé sur Internet mais ce n'était pas satisfaisant : j'avais des erreurs dans un seul sens, et l'autre script ne plaçait qu'un ordre dans chaque sens. Il consiste essentiellement à ouvrir un certain nombre d'ordres en attente dans les deux sens. Question : Comment puis-je définir un stop suiveur sur chaque ordre ? Il s'agit d'un script, pas d'un conseiller expert. Les ordres ont été ouverts, le trailing stop leur a été attaché, et c'est tout, le script a fait son travail. Comment puis-je utiliser le script pour déclencher un trailing stop régulier qui est exécuté par un clic droit sur un ordre ? 4ème MetaTrader Build 765.
Bonjour à tous !
La tâche est la suivante : je dois ouvrir des ordres après un certain pas de distance sur EURUSD.m pour acheter et sur EURUSD.m1 pour vendre. Ce problème est résolu dans le code ci-dessous.
Toutefois, si le prix a évolué en notre défaveur, nous devons encore ouvrir des ordres d'achat pour EURUSD.m, à condition que le prix ait évolué depuis le dernier ordre de vente à EURUSD.m1 à une distance de Step*2. Cette condition fonctionnera à condition que ce prix d'ouverture soit inférieur au prix du dernier ordre d'achat pour EURUSD.m.
Je n'arrive pas à trouver comment le faire. Je serais heureux de vous aider.
Les freelances font tout cela).
Une réponse-commentaire très précieuse et informative, je vous suggère de l'utiliser aussi...
En fait, il n'existe pas de commande simple qui, après avoir ouvert un ordre, y ajoute un stop suiveur standard ?