IL CAMPIONATO DI TRADING 2007! - pagina 10

 
rsi:
Come eseguirebbe il pre-test degli EA multivaluta?

È possibile includere in un EA la possibilità di test, per esempio, io l'ho fatto in questo modo:

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int PeriodCounter=2,SymbolCounter=1,trendOnTF;
  string ComString;
  int tf;
//----
   if (IsTesting())
      {
      Print("Прошли проверку на IsTesting");
      for (int indexCount=TestingIndexPeriod;indexCount<=6;indexCount++)
         {
         if (isNewBar(TestingIndexSymbol,indexCount)) 
            {
            Print("Вызовем трейлинг");
            if (OrdersTotal()>0) CheckOrdersForTrailing();            
            trendOnTF=TrendByWPR(TestingIndexSymbol,indexCount);
            TrendOnSymbol[TestingIndexSymbol,indexCount]=trendOnTF;
            GatorTrend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,7,0);
            NRTR_Trend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,6,1);
            Complextrend[TestingIndexSymbol,indexCount]=(TrendOnSymbol[TestingIndexSymbol,indexCount]+GatorTrend[TestingIndexSymbol,indexCount]+NRTR_Trend[TestingIndexSymbol,indexCount])/3.0;
            ComString="";
            for (tf=indexCount;tf<7;tf++)
               {
               ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Complextrend=",Complextrend[TestingIndexSymbol,tf],"n");
            }
            Comment(ComString);   
            Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
            }
         }
      }
   else
      {
      for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
         {
         for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
            {
            if (isNewBar(SymbolCounter,PeriodCounter))
               {
               if (OrdersTotal()>0) CheckOrdersForTrailing();            
               trendOnTF=TrendByWPR(SymbolCounter,PeriodCounter);
               TrendOnSymbol[SymbolCounter,PeriodCounter]=trendOnTF;
               GatorTrend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,7,0);
               NRTR_Trend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,6,1);
               Complextrend[SymbolCounter,PeriodCounter]=(TrendOnSymbol[SymbolCounter,PeriodCounter]+GatorTrend[SymbolCounter,PeriodCounter]+NRTR_Trend[SymbolCounter,PeriodCounter])/3.0;
               if (Symbol()==GetSymbolString(SymbolCounter))
                  {
                  ComString="";
                  for (tf=2;tf<7;tf++)
                     {
                     ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Z_trend=",TrendOnSymbol[SymbolCounter,tf],"  G_trend=",
                     GatorTrend[SymbolCounter,tf],"  N_trend=",NRTR_Trend[SymbolCounter,tf],"n");
                     }
                  Comment(ComString);   
               //Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
                  }
               } 
            }
         }
      }
   
   ArrayInitialize(TPvsSL,0.0);
   ArrayInitialize(BestTPvsSLSymbol,0);
   ArrayInitialize(BestTPvsSLPeriod,0);
   if (TrendExist())
      {
      if (OrdersTotal()<MaxOpenedOrders) TryOpenOrder();
      else TryCloseOrder();
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Rosh:
rsi ha scritto (a):
E come sarà fatto il pre-test degli esperti di multi-valuta?

Puoi iniziare a testare gli EA, per esempio, io l'ho fatto in questo modo:

...
Grazie per il codice. Cercherò di capirlo, ma 1) sarebbe utile avere una descrizione (mi scuso per l'impudenza), 2) penso che non risolva sistematicamente la questione. Voglio dire che allora è necessario includere nelle condizioni della competizione (forse raccomandarlo) per gli EA multicurrency un requisito per aggiungere questo codice al loro programma - così gli organizzatori potrebbero condurre test preliminari dell'EA prima del campionato. Giusto?
 
Grosso modo - un Expert Advisor multivaluta dovrebbe permettere un backtest su ogni simbolo e ogni frame, per il quale è dichiarato.
Se il backtest - lavoriamo solo su Symbol() e Period (). Se online - lavoriamo su tutti i simboli, inclusi nell'algoritmo.
 
Reshetov писал (а):
Mathemat ha scritto (a):

8. Quota d'iscrizione $100:.... E qui hanno raccolto una folla eterogenea, solo perché i partecipanti potessero compilare una o due righe di codice.


In sostanza non era un campionato, ma qualcosa di simile a un evento sportivo a livello distrettuale, dove la condizione principale è che qualcuno, non importa come,
ma arrivare al traguardo.

Questi sono i risultati.
Il risultato è abbastanza normale, considerando il fatto che il campionato si è tenuto per la prima volta.
Questo è il motivo per cui le regole del futuro campionato vengono discusse ora.

È chiaro che non tutti sono disposti a pagare la quota di iscrizione, e alcuni potrebbero non essere in grado di farlo. Forse, solo uno della folla eterogenea batterà i programmatori super-duper. Quindi perché limitare la capacità delle persone di partecipare al concorso.
Tanto più che le regole saranno probabilmente aggiornate per tenere conto di tutte, o molte, delle carenze dell'ultimo campionato
più nuove restrizioni e requisiti.
Tutto arriva al punto in cui un Expert Advisor con una strategia redditizia e corretta
gestione del capitale, non solo gestione aggressiva del capitale.
 
alexnau писал (а):

Ovviamente, non tutti sono disposti a pagare la tassa, e alcuni potrebbero non essere in grado di farlo. Forse, solo forse, uno della folla eterogenea batterà i programmatori super-duper. Quindi perché limitare la capacità delle persone di partecipare al concorso.
Tanto più che le regole saranno probabilmente aggiornate per tenere conto di tutte, o molte, delle carenze dell'ultimo campionato
più nuove restrizioni e requisiti.
Tutto sta andando verso il punto in cui un Expert Advisor con una strategia redditizia e corretta
e non solo una gestione aggressiva del capitale.

alexnau, pensi davvero che gli organizzatori, avendo ricevuto solo un ex4 (questo è permesso), saranno in grado di risolvere con competenza la questione di una strategia redditizia e di una corretta gestione del capitale? E cosa succede se l'EA fallisce leggermente nell'area testata? Allora è respinto?

Le limitazioni e i requisiti devono essere ragionevoli e non facilmente aggirabili. Diciamo che il limite minimo di 10 scambi è facilmente aggirabile. Quindi è irragionevole.

Il pre-test sulla storia, a mio parere, è necessario solo per verificare il rispetto dei requisiti formali già descritti nel regolamento del 2006 (vedi III. Programmi Expert Advisors).

Ma la valutazione dell'adeguatezza di un Expert Advisor da parte dell'Organizzatore dal punto di vista della redditività e del MM sullo storico è un compito stantio: si può stipare in un Expert Advisor qualsiasi segnale storico preparato in anticipo e darlo al tester a isTesting() == true. I segnaliZigZag sono un buon esempio: sono perfetti sulla storia! A proposito, c'è un punto misterioso nelle Regole del Campionato 2006, che impedisce tali falsificazioni:

7. Se l'Expert Advisor si comporta diversamente durante il controllo preliminare e durante il campionato, questo porterà alla squalifica.

Ci sono stati dei precedenti, signori, organizzatori del Campionato 2006? Se no, come definisce queste differenze?
.

Quindi, forse, dobbiamo accettare il fatto che gli organizzatori non saranno in grado di escludere tutti gli EA ovviamente avventurosi nella fase di ammissione degli EA. Ma possiamo eliminarne la maggior parte in modo radicale - per esempio, facendo pagare una piccola tassa di iscrizione di 30 dollari che viene restituita solo quando l'EA finisce il campionato con qualche risultato positivo. La folla sarà minore, ma la qualità degli EA dovrebbe aumentare drasticamente: che senso ha pagare 30 dollari con un EA di sashken o Zonker?

Propongo questa lista di requisiti:

- Quota di iscrizione di 30 dollari, con un ritorno solo al risultato finale di almeno il capitale iniziale + 30 dollari
- Minimo 70% di Margin Call per il campionato; in caso di Margin Call, sarai immediatamente squalificato.
- Tutti i requisiti formali del Campionato 2006 (vedi III. Programmi Expert Advisors).

Condizioni di trading:

- capitale iniziale - $500 (se questa condizione è troppo rigida, allora $1000)
- dimensione minima del lotto 0,1 e nessun limite sul lotto massimo, numero e dimensione delle posizioni aperte simultaneamente (con ordini pendenti).

Nessuna limitazione su:

- redditività sulla storia
- MM sulla storia
- TP/SL
- Numero di scambi all'interno del campionato
- Rapporto margine/patrimonio netto.
 
Mathemat:
- Tassa di iscrizione $30, rimborsabile solo sul risultato finale di almeno il capitale iniziale + $30
In generale, sono personalmente d'accordo che sarebbe una buona idea avere delle tasse d'iscrizione. Le tasse d'iscrizione esistono nelle competizioni di quasi tutti gli sport. L'idea di un rimborso sembra già, sempre a me personalmente, un po' controversa.
Ma la ragione principale per cui non accadrà mai è il lato tecnico della questione. Chiedere tutte quelle tasse è una tale seccatura che non ripaga in alcun modo. Soprattutto se si ricorda che non tutti i potenziali partecipanti vivono sul territorio della BSSR, cioè accettando pagamenti in denaro normale da carte di credito separatamente, diversi surrogati di denaro separatamente. E un permesso per gestire un'attività di vendita al dettaglio con carte di credito...? E tutto questo fastidio sulla testa degli organizzatori invece di fare quello che sanno fare.

Quindi perché pagare 30 dollari per uno zoner. E poi metterne due, uno su e uno giù. 60 dollari sono soldi ridicoli quando ci sono 40.000 dollari in gioco, e lo zonker era vicino a vincere, dannatamente vicino.
 
Beh, forse non dovremo ripagare la tassa d'ingresso, che non è troppo denaro, ma almeno qualche incentivo per creare un EA decente...

Ma abbattere gli esperti in base ai segnali è un compito sconcertante.

Proibire registrazioni multiple da un IP è molto facile da gestire se l'autore ha almeno due computer con IP diversi. Quindi, se vuole inviare due o più Expert Advisors diversi da diversi IP, può farlo senza che gli organizzatori se ne accorgano. L'unico vero problema sorgerà se carica almeno due dei suoi lavori come leader e gli organizzatori vogliono intervistare i leader.

Per essere onesti, non penso che sia ingiusto: se un autore mette due diversi EA che finiscono per essere secondi classificati, complimenti all'autore! Un'altra cosa è che questo non è conforme alla tradizione stessa di tali concorsi. Non ho intenzione di farlo io stesso :)

Per quanto riguarda gli EA "a specchio", come EuroBull o EuroBear di Zonker. È possibile, per esempio, introdurre un controllo aggiuntivo per gli EA con una correlazione innaturale dei segnali. È estremamente dubbio che diversi autori possano creare indipendentemente gli stessi Expert Advisors. Quindi, o non li hanno fatti loro (li hanno trovati su Internet), o li hanno condivisi tra loro, o si tratta di un solo autore. Nel primo caso, è molto probabile che sia un cattivo esperto, e nel secondo e nel terzo è un gioco sleale.

Gli organizzatori, ad esempio, possono esigere il codice sorgente di questi EA compilato esattamente nello stesso ex4 inviato agli organizzatori. In caso di rifiuto di fornire il codice o il codice compilato in un altro ex4, - squalifica senza rimborso della quota di iscrizione e inserimento dell'IP nella lista nera del campionato. Se i codici "corretti" sono inviati e la loro logica è la stessa - squalifica per tutti tranne uno su una base di eagle-reckoning. Dubito che tali azioni influenzeranno gli autori, che hanno inviato un ragionevole e competente Expert Advisor.

P.S. In generale, per solidità, potremmo introdurre un turno di qualificazione - diciamo, per un mese. Gli esperti con risultato predeterminato, secondo i risultati di qualificazione, passano al turno principale. E poi il giro principale - per due o tre mesi, con lo stesso consulente. Sì, c'è la probabilità che alcuni candidati estremi ce la facciano. Ma la maggior parte degli ovvi perdenti - almeno il 70% - non ce la farà.
 
Indicatore NRTR_GATOR ?
 
Mathemat:
alexnau ha scritto (a):

Tutto si riduce al fatto che un consulente con una strategia redditizia incorporata e un adeguato
Si tratta di avere un EA con una strategia redditizia e una corretta gestione del capitale, non solo una gestione aggressiva del capitale.

alexnau, pensi davvero che gli organizzatori, avendo ricevuto solo ex4 (questo è permesso), saranno in grado di risolvere con competenza la questione di una strategia redditizia e di una corretta gestione del capitale? E cosa succede se l'EA fallisce leggermente nell'area testata? Quindi è respinto?
Mathemat ho espresso l'opinione che la qualità degli Expert Advisors dovrebbe migliorare al prossimo campionato,
Non credo che l'organizzatore debba "prendere una saggia decisione sulla redditività della strategia e sulla corretta gestione del denaro" basandosi su
test di ex4 di cui non avevo idea.