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

 
trader117:
Buon pomeriggio. Come posso calcolare un unico Stop Loss per una serie di ordini con numeri magici esatti in modo che questa serie di ordini possa chiudere a pareggio. Per esempio, ci sono 3 ordini: 1 Acquisto lotto 1,3320 con magia 1, 1 Acquisto lotto 1,3345 con magia 2 e 1 Acquisto lotto 1,3360 con magia 3. Come devo calcolare lo Stop Loss totale per tutti gli ordini in modo che se c'è un movimento contro il prezzo gli ordini vengono chiusi senza perdere?
Qual è la ragione di calcolare la media dello Stop Loss? Non appena una posizione viene chiusa da uno SL, tutte le altre posizioni vengono immediatamente chiuse da Close! Non c'è bisogno di perdere pips preziosi!
 
borilunad:
Che senso ha fare una media di StopLoss? Appena chiudo una posizione a SL, le altre vengono immediatamente chiuse a Close! Non c'è bisogno di perdere pips preziosi!

Da un lato, sì, ma dall'altro vedo una vulnerabilità immediata: un ordine può non essere chiuso da un EA per molte ragioni, e uno Stop Loss sarà chiuso comunque, altrimenti questo è un serio reclamo contro il broker. + La disconnessione non permette di chiudere un ordine. Qualcun altro ha qualche idea per implementare questo algoritmo per lo SL totale per la piramide dell'ordine?
 
trader117:

Da un lato sì, ma vedo una vulnerabilità immediata nel fatto che la chiusura di un ordine da parte di un EA può non essere eseguita per una serie di motivi, e uno stop loss si chiuderà comunque, altrimenti questo è già un motivo serio per un reclamo contro il broker. + La disconnessione non permette di chiudere un ordine. Chi altro ha idee per implementare questo algoritmo per SL comune per una piramide di ordini?
Non sto dicendo di non mettere SL sugli altri! Chiuderanno e voi perderete ancora meno della media degli SL! Così, sul Real, non si chiuderà allo stesso tempo, ma uno per uno! Quindi, economico chiudere il resto della chiusura dopo aver chiuso una posizione su SL! Sì, e pesare il codice uchuchitimo, perché SL stabilito ripetutamente, e ogni volta per condurre il calcolo della media? E ogni volta che aggiungete una posizione, ricalcolate di nuovo e resettate lo SL, e ripeto, ci perderete solo, non vincerete!
 

Non riesco a capirlo, non so quale sia il problema. Il compito è il seguente: trovare la barra di un dato tempo sui minuti. Se il tempo non è ancora arrivato, cercatelo in ieri, altrimenti cercatelo in oggi. Ho scritto il seguente script:

#property show_inputs

extern string time = "15:25";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   string comment = StringConcatenate(" TimeCurrent = ", TimeCurrent(),
      "\n TimeToStr(TimeCurrent) = ", TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));
   datetime d_time = StrToTime(time);
   comment = StringConcatenate(comment,
      "\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   int delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   if(delta_time < 0){
      d_time -= 60*60*24;
      comment = StringConcatenate(comment,
         "\n\n delta_time < 0");
   }else{
      comment = StringConcatenate(comment,
         "\n\n delta_time > 0");
   }
   //
   comment = StringConcatenate(comment,
      "\n\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   double d_delta_time = delta_time;
   double value = d_delta_time/60;
   int start = MathCeil(value);
   datetime sought_time = iTime(Symbol(),PERIOD_M1,start);
   comment = StringConcatenate(comment,
      "\n\n value = ", DoubleToStr(value, 3),
      "\n start = ", start,
      "\n sought_time = ", sought_time,
      "\n TimeToStr(sought_time)= ", TimeToStr(sought_time, TIME_DATE|TIME_MINUTES));
   Comment(comment);
//----
   return(0);
  }

Questo è ciò che produce:

L'algoritmo è il seguente. Guardiamo la differenza tra l'ora attuale e l'ora data, e se è inferiore a zero, ci spostiamo un giorno indietro. Poi dividiamo la differenza per 60 e arrotondiamo verso l'alto, questo sarà il numero della barra su M1 e guardiamo il suo tempo. Non coincide con quello impostato negli esterni. Dov'è questo errore algoritmico?

 
gyfto:

Non riesco a capirlo, non so quale sia il problema. Il compito è il seguente: trovare la barra di un dato tempo sui minuti. Se il tempo non è ancora arrivato, cercatelo in ieri, altrimenti cercatelo in oggi. Ho scritto il seguente script:

Questo è ciò che produce:

L'algoritmo è il seguente. Guardiamo la differenza tra l'ora corrente e l'ora data, e se è inferiore a zero, ci spostiamo un giorno indietro. Poi dividiamo la differenza per 60 e arrotondiamo verso l'alto, questo sarà il numero della barra su M1 e guardiamo il suo tempo. Non coincide con quello impostato negli esterni. Dov'è questo errore algoritmico?

La volatilità è bassa di notte, ci sono minuti in cui non passa un solo scambio, quindi non c'è una barra. Guarda la cronologia per vedere se tutte le barre sono presenti.
 
Roger:
Guarda la cronologia per vedere se tutte le barre sono presenti.


Potete passare dal valore trovato in while() alla barra che state cercando. Farò un tentativo.
 
gyfto:

Non riesco a capirlo, non so quale sia il problema. Il compito è il seguente: trovare la barra di un dato tempo sui minuti. Se il tempo non è ancora arrivato, cercatelo in ieri, altrimenti cercatelo in oggi. Ho scritto il seguente script:

Questo è ciò che produce:

L'algoritmo è il seguente. Guardiamo la differenza tra l'ora attuale e l'ora data, e se è inferiore a zero, ci spostiamo un giorno indietro. Poi dividiamo la differenza per 60 e arrotondiamo verso l'alto, questo sarà il numero della barra su M1 e guardiamo il suo tempo. Non coincide con quello impostato negli esterni. Dov'è questo errore algoritmico?

Ti stai esercitando, o iBarShift() non ti è piaciuto?
 
TarasBY:
Fare pratica, o non ti piace iBarShift()?
Sono un idiota.
 
Per favore datemi il numero/indirizzo del server demo per MT4 di MetaQuotes. Ho appena scaricato MT4 dal sito MetaQuotes ed è su TeleTrade-Demo (Società Teletrade D.J.), ma voglio collegarmi a MQ e lavorare sulle loro quotazioni.
 
Saluti a tutti, una domanda: è possibile aprire una posizione alla chiusura della barra (lavorando su barre a 15 minuti), se sì, come farlo con mt4?