[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 13

 
Bonjour, pourriez-vous me dire comment faire un stop suiveur ou un Breakeven dans un EA, qui fonctionne bien séparément de l'EA, mais ne peut pas être combiné avec un EA ?
 
paukas:

Je l'ai, merci. Comment puis-je écrire cette condition autrement ? J'ai besoin qu'il ne ferme tout que s'il y a un bénéfice.
 
todem:
Bonjour, pourriez-vous me dire comment faire un stop suiveur ou un Breakeven dans un EA, qui fonctionne bien avec l'EA, mais pas avec lui ?
//-------------------------------------------------------------------+
extern bool   Trailing       = True;
extern int    MinProfit      = 55;
extern int    TrailingStop   = 5;
extern int    TrailingStep   = 1;
//-------------------------------------------------------------------+
extern bool   LossKiller     = True;
extern int    MinProfitB     = 21;
extern int    KillLossLevel  = 16;
//-------------------------------------------------------------------+
int start()
  {
//----
   if(LossKiller) KillLoss();
   if(Trailing) TrailPositions();
//+------------------------------------------------------------------+
//|-----------------------// Trail positions //----------------------+
//+------------------------------------------------------------------+
void TrailPositions()
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++)
  {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
    {    
      if (OrderType() == OP_BUY && OrderMagicNumber() == Magic)  
      {
        if (Bid-OrderOpenPrice() > MinProfit*Point) 
        {
          if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,OrderTakeProfit(), 0, Gold);           
          }
        }
      }   
      if (OrderType() == OP_SELL && OrderMagicNumber() == Magic)  
      {
        if (OrderOpenPrice()-Ask > MinProfit*Point) 
        {
          if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,OrderTakeProfit(), 0, Gold);           
          }
        }
      }   
    }   
  }  
}
//+------------------------------------------------------------------+
//|--------------------------// KillLoss //--------------------------+
//+------------------------------------------------------------------+
void KillLoss()
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++)
  {
    if(!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if(OrderSymbol() != Symbol()) continue;
    {    
      if(OrderType()==OP_BUY && (OrderStopLoss()<OrderOpenPrice() || OrderStopLoss()==0) && OrderMagicNumber()==Magic)
      {
        if(Bid-OrderOpenPrice() > MinProfitB*Point) 
        {
          if(OrderStopLoss() < Bid-(KillLossLevel-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()+KillLossLevel*Point,OrderTakeProfit(), 0, Gold);          
          }
        }
      }        
      if(OrderType()==OP_SELL && (OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0) && OrderMagicNumber()==Magic)
      {
        if(OrderOpenPrice()-Ask > MinProfitB*Point) 
        {
          if(OrderStopLoss() > Ask+(KillLossLevel-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()-KillLossLevel*Point,OrderTakeProfit(), 0, Gold);          
          }
        }
      }   
    }   
  }  
}
//+------------------------------------------------------------------+
 
rustein:
Aidez à réparer, ne pas fermer tous les postes ouverts...

Merci.


Lesquelles ne fermeront pas ?

S'ils perdent, c'est bien.

 
VINAR:


Lesquelles ne fermeront pas ?

S'ils ne sont pas rentables, c'est bien.

Un seul est rentable :) Pourquoi ? Merci.

J'ai fait des recherches sur le forum. Mais je ne comprends pas...

 
Doberman101:

Salutations.

Aidez-moi à écrire une évaluation environnementale.

Respectueusement.

Les gens devraient se précipiter avec des suggestions - chacun avec sa propre... Ils n'ont même pas décidé sur la base de quel TS vous avez besoin d'un conseiller... Et pourquoi ils ne sont pas allés à la "joba"... :))

Si vous avez besoin d'aide pour écrire du code (ou, mieux encore, pour le comprendre), vous êtes le bienvenu, mais si... alors... au travail ... :)))

 
artmedia70:

Les gens devraient se précipiter avec des offres - chacun avec sa propre... Ils n'ont même pas décidé sur la base de quel TC un conseiller est nécessaire... Et pourquoi ils ne sont pas allés au "jobe"... :))

Si vous avez besoin d'aide pour écrire du code (ou, mieux encore, pour le comprendre), vous êtes le bienvenu, mais si... alors... au travail ... :)))

Artem, tout est prêt ?

Seul le questionneur a besoin d'autre chose.

Le conseiller n'est pas une prune et n'a pas le temps.

 
rustein:

Un seul est rentable :) Pourquoi ? Merci.

J'ai cherché sur le forum. Mais je n'ai pas trouvé la solution...


AccountProfit() retourne la valeur du bénéfice pour le compte courant dans la devise de base.

Lorsque le premier rentable est fermé, apparemment, AccountProfit() devient inférieur à 0.

Vous pouvez écrire, par exemple, comme ceci :

void CloseAllOrders()
{
  if(AccountProfit() > 0)
    for(int i=OrdersTotal()-1;i>=0;i--)
    {
      RefreshRates();
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
        if(OrderType()== OP_BUY) 
           OrderClose (OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),10,CLR_NONE);
        if(OrderType()== OP_SELL)
           OrderClose (OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),10,CLR_NONE);
      }
    }  
    return(0);
}
 
artmedia70:

Les gens devraient se précipiter avec des offres - chacun avec sa propre... Ils n'ont même pas décidé sur la base de quel TC un conseiller est nécessaire... Et pourquoi ils ne sont pas allés au "jobe"... :))

Si vous avez besoin d'aide pour écrire du code (ou, mieux encore, pour le comprendre), vous êtes le bienvenu, mais si ... alors... au travail ... :)))


Pourquoi une réponse aussi négative ? Un homme adulte... et personne ne t'a appris le respect dans la vie ?

C'est la fin du mépris. Je traite les aînés avec respect, même s'ils sont "pourris".

 
VINAR:

Artem, vous remettez tout sur le tapis ?

Seul le questionneur a besoin d'autre chose.

Le conseiller n'est pas une prune et n'a pas le temps.


J'ai demandé de l'aide pour écrire du code...

Où avez-vous lu que j'avais besoin que " l'EA ne soit pas épuisante et en ce moment " ?
Raison: