[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 588

 
link1:

la date est la même, du 15 février au 16 février.


ou toute autre date. Les conditions sont toutes les mêmes, mais le résultat est différent à chaque fois.

 

Comment puis-je savoir si un ordre en attente est déclenché ou non ?

Ou en général - deux ordres en attente dans des directions différentes, dès que l'un s'est déclenché, on ferme le second... Je suis ennuyeux - aidez-moi.

 
link1:


ou toute autre date. Les conditions sont toutes les mêmes, mais le résultat est différent à chaque fois.

l'écart est tiré du marché à ce moment-là et est considéré comme étant le même pendant toute la période de test.
 
ilunga:
l'écart est tiré du marché à ce moment-là et est considéré comme identique pendant toute la période d'essai.


Ahhhh... c'est ça, je l'ai maintenant, merci beaucoup ! )

Il y a aussi un élément de qualité de modélisation dans le rapport, il est toujours de 25%. Y a-t-il un moyen de l'améliorer ?

 
link1:


Ahhhh..., c'est ça, je l'ai maintenant, merci beaucoup ! )

Il y a aussi un élément de qualité de modélisation dans le rapport, il est toujours de 25%. Y a-t-il un moyen de l'améliorer ?

lire quelques articles sur la modélisation

comme https://www.mql5.com/ru/articles/1513

 
ilunga:

Lire quelques articles sur la modélisation

Par exemple, https://www.mql5.com/ru/articles/1513


oh, merci encore, juste ce dont j'avais besoin, merci )
 

Comment savoir si un ordre en attente a été déclenché et comparer son ticket ?

 
DOCTORS:

Comment savoir si un ordre en attente a été déclenché et comparer son ticket ?

Sélectionner une commande avec OrderSelect et voir son OrderType
 

//+------------------------------------------------------------------+
//| Stas_helper_v01.mq4 |
//| DOC |
//| DR_GAD@mail.ru |
//+------------------------------------------------------------------+
#property copyright "DOC"
#property link "DR_GAD@mail.ru"

//--- input parameters
extern double Stop=15;
extern double Profit=35;
extern double Lots=1;

extern int k=1;
extern int x;
extern int y;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
int i;
//----
ObjectsDeleteAll();

for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
if (OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int ticket1,ticket2, total,i;
double price;
string Symb;
//1.выставление отложенных ордеров
Symb=Symbol();

if(k==1)
{
price=NormalizeDouble((Ask-Bid)/2,Digits);

ticket1=OrderSend(Symb,OP_BUYSTOP,Lots,Bid+((Stop*Point))+price,3,Bid+(Ask-Bid)/2,Bid+((Stop*Point))+price+Profit*Point, "Отложенник",1,0,Green);
if(ticket1<0)
{
Print("Ошибка!#",GetLastError());
return(0);
}
ticket2=OrderSend(Symb,OP_SELLSTOP,Lots,Bid-((Stop*Point))+price,3,Ask-(Ask-Bid)/2,Bid-((Stop*Point))+price-Profit*Point, "Отложенник2",2,0,Green);
if(ticket2<0)
{
Print("Ошибка!#",GetLastError());
return(0);
}
k=2;
}
//1.-----------------------------

//2. Если ордер открылся.

if (k==2)

{
OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
if (OrderType()==OP_BUY)
{
OrderDelete(ticket2);
k=3;

}
OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
if (OrderType()==OP_SELL)
{
OrderDelete(ticket1);
k=3;

}



}


//2----------------------
return(0);
}
//+------------------------------------------------------------------+

Pourquoi l'autre ordre en attente n'est-il pas fermé ?

 
DOCTORS:


//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{

int ticket1,ticket2, total,i;

Pourquoi l'autre ordre en attente n'est-il pas fermé ?

Parce que ce sont des variables locales qui, dès le deuxième tic, stockent des déchets au lieu de billets.
Raison: