[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 915

 
ViktorF:

Ciao!

Domanda sul tester:

Quando sto testando gli EA, il tester smette di elaborare i prezzi dopo una violazione s/l. Cosa devo fare per evitare questo? Cosa devo fare se voglio che il tester continui a testare l'EA dopo aver violato lo stop?


Forse hai uno script, non un EA))) e che periodo di test imposti?

Se tutto è a posto, postate l'EA, qualcuno vi dirà cosa fare.

 
gheka:


Forse hai uno script, non un EA))) e che periodo di test imposti?

Se stai bene, posta l'EA, qualcuno te lo dirà.


Per lo più 30 minuti.

La cosa più interessante è che quando aggiro gli stop-loss con la chiusura forzata, i prezzi vengono ulteriormente elaborati e la curva del grafico continua ad essere disegnata. Ma se chiudo lo stesso ordine ad uno stop (cambio un po' il codice dell'EA) - il test si ferma dopo una rottura dello stop... Forse dovresti cambiare alcuni parametri nelle impostazioni del tester?

 
gheka:

Gente, esiste una funzione che restituisce il valore di una perdita fissa in pip per chiudere un ordine?

So che c'è un OrderStopLoss, ma è un prezzo perdente.

So che c'è un OrderStopLoss - ma è un valore del prezzo in perdita, ma non ho trovato nulla, aiutatemi

Cerca qui... :)

 
ViktorF:


Per lo più 30 minuti.

La cosa più interessante: quando bypasso gli stop con la chiusura forzata - i prezzi vengono elaborati ulteriormente e la curva del grafico continua ad essere disegnata. Ma se chiudo lo stesso ordine con uno stop (cambio un po' il codice dell'Expert Advisor) - il test si ferma dopo la rottura di uno stop... Forse dovresti cambiare alcuni parametri nelle impostazioni del tester?

 
ViktorF:


Per lo più 30 minuti.

La cosa più interessante: quando bypasso gli stop con la chiusura forzata - i prezzi vengono elaborati ulteriormente e la curva del grafico continua ad essere disegnata. Ma se chiudo lo stesso ordine con uno stop (cambio un po' il codice dell'Expert Advisor) - il test si ferma dopo la rottura di uno stop... Forse dovresti cambiare alcuni parametri nelle impostazioni del tester?

Molto probabilmente un errore nel codice EA e smette di aprire nuove posizioni dopo la chiusura su uno stop
 

Ciao!

Domanda su strategy tester: quando si prova nel journal tester nessun risultato con i record, nei record di errore del terminale di log anche nessun ..... alla fine della barra di caricamento, nel tester, c'è un brutto cigolio. consigliere si trova nella cartella esperti tutte le caselle di controllo sono impostate cento aiuto plz?

 
artmedia70:

Cerca qui... :)


grazie!!!
 
artmedia70:
Molto probabilmente un errore nel codice EA e dopo aver chiuso su uno stop smette di aprire nuove posizioni

Penso di aver capito l'errore: la casella di controllo non cambia valore dopo la chiusura dell'ordine da parte dello stop (cioè non da parte dell'EA stesso). Come posso aggirare questo problema?
 
ViktorF:

Penso di aver capito l'errore: la bandiera non cambia il valore dopo la chiusura dell'ordine da parte dello stop (cioè non da parte di Expert Advisor). Come si fa ad aggirarlo in modo intelligente?

Nell'EA, controlla se l'ordine è chiuso su uno stop. E se è così, cambiate il valore della vostra bandiera.

Puoi usare la funzione pronta di Igor Kim per determinare se l'ultima posizione chiusa è stata chiusa da uno stop.

Oppure potete farlo voi stessi. In ogni caso, può essere un buon esempio per voi per iniziare:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по стопу.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, osl;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    osl=NormalizeDouble(OrderStopLoss(), dg);
    if (ocp==osl) return(True);
  }
  return(False);
}
 
artmedia70:

Nell'EA, controlla se l'ordine è chiuso su uno stop. E se è così, cambiate il valore della vostra bandiera.

Puoi usare la funzione pronta di Igor Kim per determinare se l'ultima posizione chiusa è stata chiusa da uno stop.

Oppure puoi farlo tu stesso. In ogni caso, sarà un buon esempio per voi per iniziare:


Grazie! Farò un tentativo)
Motivazione: