[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 13

 
Ciao! Potresti dirmi come fare un trailing stop o Breakeven in un EA, che funziona bene separatamente dall'EA, ma non può essere combinato con uno?
 
paukas:

Capito, grazie. Come posso scrivere questa condizione? Ho bisogno che chiuda tutto solo se c'è un profitto.
 
todem:
Ciao! Potresti dirmi come fare un trailing stop o Breakeven in un EA, che funziona bene separatamente dall'EA, ma non può essere combinato con uno?
//-------------------------------------------------------------------+
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:
Aiuto fix, non chiude tutte le posizioni aperte...

Grazie.


Quali non si chiudono?

Se stanno perdendo, va bene

 
VINAR:


Quali non si chiudono?

Se non sono redditizi, va bene

Solo uno è redditizio :) Perché? Grazie.

Ho cercato sul forum. Ma non capisco...

 
Doberman101:

Saluti.

Aiutami a scrivere un EA.

Con rispetto.

La gente dovrebbe accorrere con suggerimenti - ognuno con i propri... Non hanno nemmeno deciso in base a quale TS hai bisogno di un consulente... E perché non sono andati al "joba"... :))

Se hai bisogno di aiuto per scrivere codice (o, meglio ancora, per capirlo), sei il benvenuto, ma se... allora... al lavoro ... :)))

 
artmedia70:

La gente dovrebbe precipitarsi con offerte - ognuno con il suo... Non hanno nemmeno deciso sulla base di quale TC è necessario un consigliere... E perché non sono andati al "jobe"... :))

Se hai bisogno di aiuto per scrivere codice (o, meglio ancora, per capirlo), sei il benvenuto, ma se... allora... al lavoro ... :)))

Artem, tutti portano su?

Solo l'interrogante ha bisogno di qualcos'altro.

L'assessore non è prugna e destra ora.

 
rustein:

Solo uno è redditizio :) Perché? Grazie.

Ho cercato nel forum. Ma non l'ha capito...


AccountProfit() restituisce il valore del profitto per il conto corrente nella valuta di base.

Quando il primo redditizio viene chiuso, apparentemente, AccountProfit() diventa inferiore a 0.

Si può scrivere, per esempio, così:

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:

La gente dovrebbe precipitarsi con offerte - ognuno con il suo... Non hanno nemmeno deciso sulla base di quale TC è necessario un consigliere... E perché non sono andati al "jobe"... :))

Se hai bisogno di aiuto per scrivere codice (o, meglio ancora, per capirlo), sei il benvenuto, ma se ... allora... al lavoro ... :)))


Perché una risposta così negativa? Un uomo adulto... e nessuno ti ha insegnato il rispetto nella vita?

Questa è la fine della disputa. Tratto gli anziani con rispetto, per quanto possano essere "marci".

 
VINAR:

Artem, stai tirando fuori tutto?

Solo l'interrogante ha bisogno di qualcos'altro.

L'assessore non è prugna e destra ora.


Ho chiesto aiuto per scrivere il codice...

Dove hai letto che ho bisogno di "EA non è drenante e in questo momento"?