Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 967

 
Combien de cycles de test un disque dur peut-il supporter ? Dans le sens de la rapidité avec laquelle il va mourir ? Y a-t-il eu de tels cas ?
 
macleta:

Bonjour, Je veux fermer des positions dirigées différemment lorsque le profit =0. Différents nombres de positions d'achat et de vente, différentes tailles de lots.

Quel est le problème avec la fonction de recherche du prix moyen, c'est-à-dire le point de profit zéro ?

double AveroProf(string sy="", int op=-1, int mn1=-1) 
   {
 

   double Buylots=0;
   double Buysum=0;
   double Selllots=0;
   double Sellsum=0;
 
   double zeroprice=0;
 
   for (int i=0; i<OrdersTotal(); i++)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderMagicNumber()!=mn1) continue;
      if (OrderType()==OP_BUY)
      {
       Buylots+=OrderLots();
       Buysum+=OrderLots()*OrderOpenPrice();
      }
      if (OrderType()==OP_SELL)
      {
       Selllots+=OrderLots();
       Sellsum+=OrderLots()*OrderOpenPrice();
      }
   
   }
   if ((Buylots-Selllots)>0)
   zeroprice=NormalizeDouble((Buysum - Sellsum)/(Buylots - Selllots),_Digits);

   return( zeroprice);
   }
 
Vladimir Pastushak:

Je crois que ce code ne fonctionne que pour 2 commandes dirigées différemment

S'il y a plusieurs ordres d'achat et de vente et qu'ils ont tous des prix d'ouverture différents, il semble que cela ne fonctionne pas - vous devez prendre en compte le bénéfice de l'ordre et la valeur du point dans la devise.

j'ai regardé ce que j'avais sous la main, je n'ai rien trouvé, mais je sais que j'ai testé ce code

il semble qu'il existe un indicateur dans cb qui calcule correctement les niveaux pour les ordres multidirectionnels - je l'ai cherché et trouvé l'année dernière.

 
macleta:

Bonjour, je veux fermer des positions dirigées différemment lorsque le profit =0. Différents nombres de positions d'achat et de vente, différentes tailles de lots.

Quel est le problème avec la fonction de recherche du prix moyen, c'est-à-dire le point de profit zéro ?

Si vous voulez mettre des stops, il est préférable de ne pas le faire sur des positions multidirectionnelles. Bien qu'avec un étalement serré, bien sûr, cela pourrait fonctionner correctement. Mais même ces sociétés de courtage ont des moments où le spread saute. C'est pourquoi la meilleure variante consiste à calculer le profit et à fermer les positions lorsqu'il est légèrement supérieur à 0(le slippage est toujours pris en compte). C'est-à-dire travailler avec le moment actuel du marché.
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Igor Makanu:

Je crois que ce code ne fonctionne que pour 2 commandes dirigées différemment

S'il y a plusieurs ordres d'achat et de vente et qu'ils ont tous des prix d'ouverture différents, il semble que cela ne fonctionne pas - vous devez prendre en compte le bénéfice de l'ordre et la valeur du point dans la devise.

j'ai regardé ce que j'avais sous la main, je n'ai rien trouvé, mais je sais que j'ai testé ce code

il semble qu'il existe un indicateur dans QB qui calcule les niveaux corrects pour les ordres opposés - j'ai cherché l'année dernière et je l'ai trouvé.

Alors vous ne l'avez pas vérifié correctement... Il s'agit d'un calcul classique de 100% 0

 
Vladimir Pastushak:

Donc vous ne l'avez pas vérifié correctement... Il s'agit d'un calcul classique de 100% 0

Je ne vais même pas discuter, revenez sur terre, essayez de vérifier où vous aurez un seuil de rentabilité si vous le placez de haut en bas sur le graphique.

1. Achetez - Achetez - Achetez - Vendez - Vendez - Vendez

2. acheter - vendre - vendre - vendre - acheter - acheter

c'est le calcul correcthttps://www.mql5.com/ru/code/10007 version 2 , c'est le calcul à utiliser

      if(BuyLots>0) BuyPrice = Bid - ((BuyProfit + SellProfit - MyProfit) / (TickValue * BuyLots) * Point); //уровень безубытка для всех BUY ордеров
      if(SellLots>0) SellPrice = Ask + ((SellProfit + BuyProfit - MyProfit) / (TickValue * SellLots) * Point); //уровень безубытка для всех SELL ордеров


vous devriez vérifier vos calculs classiques

 
Les citations sont-elles stockées dans le dossier testeur/histoire ?
 

Bonjour, aidez un débutant avec une tâche simple. L'indicateur dans une fenêtre séparée montre des nombres fractionnaires 0.123456 1.123456 et j'ai besoin d'entiers comme 123 1123.

Quelqu'un peut-il me donner un indice sur la façon de résoudre ce problème ?

 
potom:

Bonjour, aidez un débutant avec une tâche simple. L'indicateur dans une fenêtre séparée montre des nombres fractionnaires 0.123456 1.123456 et j'ai besoin d'entiers comme 123 1123.

Quelqu'un peut-il me donner un indice sur la façon de résoudre ce problème ?

int value = (int) 0.12456789*1000000;

La chose la plus facile à laquelle j'ai pu penser)

 
Konstantin Nikitin:
Si vous voulez mettre des stops, il est préférable de ne pas le faire sur des positions multidirectionnelles. C'est une très bonne idée de placer des stops sur ces positions. Mais même ces sociétés de courtage ont des moments où le spread saute. C'est pourquoi la meilleure variante consiste à calculer le profit et à fermer les positions lorsqu'il est légèrement supérieur à 0 (le slippage est toujours pris en compte). C'est-à-dire travailler avec le moment actuel du marché.

J'essaie de faire des pyramides, en construisant avec un plus petit lot sur la tendance mais avec une ouverture opposée.

Merci à tous ceux qui ont aidé.