Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 512
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
si ((hi-low)<=max_koridor_v_punktah)
{
int buy = OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0, StopLossBuy, 0);//ouvre un ordre d'achat.
si (achat>0)
{
Alerte ("L'ordre d'achat stop a été fixé ",buy) ;
}
int sell= OrderSend(Symbol(), OP_SELLSTOP, LotSell, OpenSell, 0, StopLossSell, 0);//ouvre un ordre de vente.
si (vente>0)
{
Alert ("SellStop order set ",sell) ;
}
if (DayOfWeek()==5 && Hour()==22) //supprime les ordres en attente et ouverts le vendredi, à 23h00, heure du serveur.
{
si (OrderSelect(sell,SELECT_BY_TICKET)==true)
{
OrderClose(sell,OrderLots(),Bid,3,Green);//(Ticket,lot,prix de clôture, slippage en pips,couleur de la flèche de clôture sur le graphique){Fermeture de l'ordre de marché pour vendre.
OrderDelete(sell);//fermeture de la limite de vente.
}
si (OrderSelect(buy,SELECT_BY_TICKET)==true)
{
OrderClose(buy,OrderLots(),Ask,3,Red);//(Ticket,lot,prix de clôture,slippage en points,couleur de la flèche de clôture sur le graphique)/ordre de marché de clôture à l'achat.
OrderDelete(buy);//fermeture de la limite d'achat.
retour(0) ;
}
}
}
Qui peut me dire pourquoi il ne ferme pas les ordres et ne supprime pas les limites ?
Fermer l'ordre d'achat au prix de l'offre, vendre au prix de la demande.
Fermer l'ordre d'achat au prix de l'offre, vendre au prix de la demande.
Condition simple dans la fonction init
Les métaux, les stocks et les matières premières ne comptent pas.
Merci. Pouvez-vous me dire quel est le moyen le plus simple. Besoin de comprendre s'il y a des positions ouvertes sur cette paire ou non. S'il y a des ordres de vente et s'il y a des ordres d'achat. Cela signifie que nous devons obtenir
0 - s'il n'y a pas d'ordres ouverts
1-J'ai des ordres de vente mais pas d'ordres d'achat.
2. Il y a des ordres d'achat mais pas d'ordres de vente.
3. Il y a à la fois...
https://docs.mql4.com/ru/series
if(DayOfWeek()==1,2..... && Hour()==1,2....)
{
double hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//définit high
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//définir low.
/////////////////////////////////////////////////////////////////////////////////////////////////
double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//définir l'ouverture.
Merci !
Merci. Pouvez-vous me dire quel est le moyen le plus simple. Besoin de comprendre s'il y a des positions ouvertes sur cette paire ou non. S'il y a des ordres de vente et s'il y a des ordres d'achat. Cela signifie que nous devons obtenir
0 - s'il n'y a pas d'ordres ouverts
1-J'ai des ordres de vente mais pas d'ordres d'achat.
2. Il y a des ordres d'achat mais pas d'ordres de vente.
3 - il y a les deux.
Par exemple, comme ceci :
int i_buy=0;
int i_sell=0;
//--- получим количество открытых и отложенных ордеров
int total=OrdersTotal();
for(int i=0;i<total;i++)
{
//--- выберем i-й ордер из списка торговли
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
//--- если ордер открыт по текущему финансовому инструменту
if(OrderSymbol()==Symbol())
{
switch(OrderType())
{
//--- Бай ордер
case OP_BUY:
i_buy++;
break;
//--- Селл ордер
case OP_SELL:
i_sell++;
break;
case OP_BUYSTOP:
case OP_BUYLIMIT:
case OP_SELLSTOP:
case OP_SELLLIMIT:
//--- пробойники, лимитники
break;
}
}
}
}
if(i_buy==0 && i_sell==0)
{
//--- нет открытых ордеров
}
if(i_buy>0 && i_sell==0)
{
//--- открыты баи
}
if(i_buy==0 && i_sell>0)
{
//--- открыты селы
}
if(i_buy>0 && i_sell>0)
{
//--- открыты и баи и селы
}
Par exemple, comme ceci :
Merci beaucoup. D'après ce que j'ai compris, l'asc est le prix actuel. J'ouvre un ordre alors qu'il n'y a aucun ordre ouvert. La boucle va du premier au dernier ordre ouvert ? Comment puis-je transmettre dans une variable le lot du dernier ordre ouvert et son prix ?
Merci beaucoup. D'après ce que j'ai compris, l'asc est le prix actuel. J'ouvre un ordre alors qu'il n'y a aucun ordre ouvert. La boucle va du premier au dernier ordre ouvert ? Comment puis-je définir le lot du dernier ordre ouvert et son prix dans une variable ?
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
double z ; //déclare une variable "z".
double y ; //déclaration de la variable "y".
if(OrderSelect(10,SELECT_BY_POS)==true) //si la commande (par ticket) est déjà sélectionnée
{
OrderLots()=z //attribue le lot de cette commande à la variable "z".
OrderOpenPrice()=y //attribue le prix d'ouverture à la variable "y".
}
essayez ceci
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
double z ; //déclaration de la variable "z".
double y ; //déclaration de la variable "y".
if(OrderSelect(10,SELECT_BY_POS)==true) //si la commande (par ticket) est déjà sélectionnée
{
OrderLots()=z //attribue le lot de cette commande à la variable "z".
OrderOpenPrice()=y //attribue le prix d'ouverture à la variable "y".
}
essayez ceci
y = OrderOpenPrice() ;
Oups, je l'ai, mais je ne comprends pas. if((i_buy==0 && i_sell==0) || y > Step). Doit ouvrir un autre ordre si la distance par rapport au dernier ordre ouvert est supérieure à 5 pips. Mais ça ne marche pas, question.
for(int i=0;i<total;i++) Il va de la première commande ouverte à la dernière ? C'est-à-dire que je devrais finalement obtenir le prix de la dernière commande ouverte.
y = OrderOpenPrice() ;
Je ne comprends pas if((i_buy==0 && i_sell==0) || y > Step). Devrait ouvrir un autre ordre si la distance par rapport au dernier ordre ouvert est supérieure à 5 pips. Mais ça ne marche pas, question.
for(int i=0;i<total;i++) Il va de la première commande ouverte à la dernière ? En d'autrestermes, je devrais obtenir le prix du dernier ordre ouvert.
Je ne sais pas, je ne l'ai pas rencontré.
Bonjour. J'ai vu un message sur https://forum.mql4.com/ru/51490/page2 où il y a un script qui ouvre la fenêtre des paramètres EA :
Celui-ci ouvre la fenêtre des paramètres de l'EA :
Est-il possible de faire en sorte que le script ouvre la fenêtre des paramètres de l'EA à intervalles de 1 seconde et la confirme immédiatement (en appuyant sur le bouton ok) et ainsi de suite ?