Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 528

 
tara:

Yevgeni Nikolaevichs da Odessa (tu stesso hai chiesto il plurale) - puoi rispondere?
Gente strana... Volevo solo una risposta...
 
MEN_Odessa:

Non ricevo alcun codice di errore elaborato nel tester di strategia. Cosa c'è che non va? C'è un problema con Sleep o gli errori semplicemente non vengono generati?


Il sonno non funziona nel tester.
 

Aiuto.

Per quanto ho capito, non esiste un trailing stop su un ordine in mql 4?

E se no, come posso usare un metodo semplice per eseguire un trailing stop su un ordine aperto?

 
culler:

Aiuto.

Per quanto ho capito, non c'è una funzione Trailing Order integrata in mql 4?

E se no, come posso fare il trailing di un ordine aperto in una semplice linea?


Qualcosa del genere
 
evillive:

Qualcosa del genere


Wow... Non mi ero reso conto che ci fossero così tanti trailing stop. Mi gira la testa )))) Tutto quello che vuoi )))

Ne vorrei uno semplice, come quello integrato in MT4 su un ordine a partire dal prezzo corrente. )))

 
culler:


Wow... Non mi ero reso conto che ci fossero così tanti trailing stop. Mi gira la testa )))) Qualunque cosa tu voglia )))

Vorrei un semplice trailing stop, come costruito in MT4 su ordine del prezzo corrente. )))


) Lo strascico primitivo di MACD Sample corrisponde allo strascico nel terminale e il server è bombardato di ordini ad ogni tick:

extern TrailingStop=100;   
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         //--- long position is opened
         if(OrderType()==OP_BUY)
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return;
                    }
                 }
              }
           }
         else // go to short position
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return;
                    }
                 }
              }
           }
        }
     }
 

Quando si esegue il debug, la finestra "USDCHF" si apre di default...

Potete dirmi come fare durante il debug da MeteEditor per inizializzare e lavorare in MetaTrader

con la finestra determinata o già aperta, e non con la finestra "USDCHF" di default?

 
Orangetree:

Quando si esegue il debug, la finestra "USDCHF" si apre di default...

Potete dirmi come fare durante il debug da MeteEditor per inizializzare e lavorare in MetaTrader

con la finestra determinata o già aperta, e non con la finestra "USDCHF" di default?

Nelle impostazioni del terminale, cercate tra le schede. Lo troverete.
 
artmedia70:
Nelle impostazioni del terminale, cercate tra le schede. Lo troverete.


Puoi cambiare la coppia e il timeframe, ma non le impostazioni del terminale ;)
 

Ciao, non so dove porre questa domanda, il succo è questo: a volte l'EA scrive un file di log di 7 gigabyte con un errore, scrive (EURUSD,M15: Failed to close leading order, repeat operation), anche se chiude tutto senza errori. Cerco di vietare a questo EA di registrare le sue azioni nel log, ma non serve a niente, ho bisogno del log del terminale.

Si prega di consigliare come proibire questo "strisciamento" per mantenere il registro? Ho capito che devo usare l'opzione Stampa, ma come?

            if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == mNumber)) {
               if (OrderType() == OP_BUY) {
                  error1 =  (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Spread, Blue));
                  if (error1 == 1) {
                     Print ("Лидирующий ордер закрыт успешно."); 
                     Sleep (500);   
                  } else {
                     Print ("Ошибка закрытия лидирующего ордера, повторяем операцию. ");