[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 67

 
//+------------------------------------------------------
   for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol())
      if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);
   }

   return(0);
//+------------------------------------------------------
 
MaxZ:
Ho dimenticato di controllare che SL può essere spostato solo su un lato ;)
 
ilunga:
Ho dimenticato di controllare che SL può essere spostato solo in una direzione ;)

E che si muova verso entrambi! :)))))

Un esempio di come un codice enorme e difficile da leggere può essere ottimizzato fino a dieci righe...

Anche se:

//+------------------------------------------------------
   for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol())
      if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point && Bid-OrderStopLoss() > 15*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point && OrderStopLoss()-Ask > 15*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);
   }

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

p.s.: io non userei mai un simile richiamo, ma si adatta alla logica di Dimka-novitsek.

 
Dimka-novitsek:
Ciao, non capisco una cosa. Ho deciso di aggiungere un trailing stop al mio EA, ma continua a mostrare l'errore 130. Non riesco a capire niente, e ieri non ci riuscivo nemmeno io.

Il tuo EA apre più di una posizione BUY o più di una posizione SELL?
 
Grazie!
 
Sì, ci sono molte posizioni, ma sono ordini pendenti, stop di acquisto e vendita. Quando il prezzo attraversa l'ordine, si attiva, poi il prezzo passa altri 30 pip, allora la condizione si attiva
f (price-OrderOpenPrice( )>30*Point)
 

Per evitare che lo stop vada all'indietro, ho introdotto una variabile, dichiarandola sopra l'inizio JUNpomnim, e la variabile JUN è la differenza tra il prezzo e il punto di apertura dell'ordine.

Darò un'occhiata al codice postato qui.

Grazie!!!!

Il codice è forte, mi piace molto come esempio. Naturalmente, lo provo subito. Ma la modifica non avviene.

 
Ora, vedrò l'errore in qualche modo.
 
Riportato:
Timoxa75 11.08.2011 13:45

Il mio nome è Igor e sono nuovo qui, sto chiedendo aiuto.

Sto lavorando con l'EA ilan = 1.6 e mettere 19 ecco la domanda. ho una buona esperienza di lavoro sulla demo e tutto sembra grande, i ritorni alla redditività, ma voglio controllare per il test, ma non ho messo a prova né sulla demo né sul sito reale. Ho un grande drawdown e voglio chiudere l'ordine ma ho ricevuto un messaggio che le operazioni sono chiuse.

 
Modifica, ma non ogni ordine chiuso sul profitto, ma il settimo, il sedicesimo, il diciannovesimo, il ventiquattresimo, il trentaduesimo, quando vuole!!!
Motivazione: