Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 352

 
Trader7777:

il ne peut y avoir qu'un seul ordre sur le marché. Pour le moment, cette fonction ne fonctionne pas du tout... pour une raison quelconque. Mais s'il fonctionne correctement, je comprends qu'il sera déclenché tout le temps, tant que le bénéfice est supérieur au nombre de pips fixé. Bien sûr, nous avons besoin qu'il ferme une fois la moitié d'une position, et c'est tout. Mais j'aimerais que ça marche au moins une fois).
A propos d'un moment à fermer - sur la page précédente j'ai écrit
 
evillive:

Une bibliothèque est une option.

Merci pour cette idée.
 
Trader7777:

il ne peut y avoir qu'un seul ordre sur le marché. Pour le moment, cette fonction ne fonctionne pas du tout... pour une raison quelconque. Mais s'il fonctionne correctement, je comprends qu'il sera déclenché tout le temps, tant que le bénéfice est supérieur au nombre de pips fixé. Bien sûr, nous avons besoin qu'il ferme une fois la moitié d'une position, et c'est tout. Mais j'aimerais que ça marche au moins une fois).


Je suis d'accord avec vous dans mon cœur qu'il ne devrait y avoir qu'un seul ordre. Et ensuite, on ferme partiellement, quand ? En combien de secondes ou à d'autres conditions ? Sinon, à un moment donné, tout va fermer et il ne restera plus que la bave à cracher))))).

Votre fonction devrait fonctionner, du moins dans le testeur. Une autre question est de savoir quand l'appeler.....

 
Sepulca:


Au fond, je suis d'accord avec vous pour dire qu'il ne devrait y avoir qu'un seul ordre. Et ensuite, partiellement fermé, quand ? Après combien de secondes ou par d'autres conditions ? Sinon, à un moment donné, tout fermera et il ne restera que la bave))))).

Votre fonction devrait fonctionner, du moins dans le testeur. Une autre question est de savoir quand l'appeler.....


extern int TP         = 200; // кол-во пунктов, после которых должно произойти частичное закрытие
extern int Magic      = 77;


void CloseHalfOrder(){ // функция вызывается в самом начале цикла Start

for (int i = 0; i<=OrdersTotal(); i++)
  {
    if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == true)
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
          {
            if (OrderProfit() >= TP*Point)
              {
                 if (OrderType() == OP_BUY) 
                 double Lots = OrderLots(); 
                 double HalfLot  = NormalizeDouble (Lots*0.5,2);
                 OrderClose(OrderTicket(),HalfLot,Bid,0,HotPink);
          
                 if (OrderType() == OP_SELL)
                 double Lots1 = OrderLots(); 
                 double HalfLot1  = NormalizeDouble (Lots*0.5,2);
                 OrderClose(OrderTicket(),HalfLot1,Ask,0,HotPink);
               }
          }
        }
      }
    }
ça ne marche pas. Pourquoi ?
 
Trader7777:




if (OrderProfit() >= TP*Point)

Qu'est-ce que c'est ?

if(Bid-OrderOpenPrice()>= TP*Point)//для покупок

if(OrderOpenPrice()-Bid>= TP*Point)//для продаж
Quelque chose comme ça.
 
Trader7777:


ça ne marche pas. Pourquoi pas ?

C'est pour ça :

if (OrderProfit() >= TP*Point)
Vous voulez des points ? Et vous regardez l'argent.
 
r772ra:

Qu'est-ce que c'est ?

Quelque chose comme ceci

Demander des ventes
 
artmedia70:
Demander des ventes


C'est vrai, l'écart est pris en compte.
 
artmedia70:

C'est tout :

Avez-vous besoin de points ? Et vous regardez l'argent.


r772ra:

Qu'est-ce que c'est ?

Quelque chose comme ceci

merci !!! programmation pour exactement la deuxième semaine) débutant inattentif
 
Veuillez me conseiller à ce sujet. Alpari augmente le spread le week-end, à tel point que l'EA est toujours perdant. OK. Je peux régler l'écart manuellement dans le testeur de stratégie. Mais dans quelles unités ? 100, 50, 30, 10 - qu'est-ce que c'est ? Pourcentage, points, quoi ? Je vous remercie d'avance.
Raison: