Domanda sul consulente multivaluta - pagina 6

 

Beh, non è questa la lamentela qui.

È come se avessi appena visto le regole per la prima volta.... Questo problema è già stato discusso - nei primi thread del campionato - vedi la home page

 

Sto testando e ottimizzando il mio Expert Advisor sulla storia di Metaquotes. All'inizio ho lavorato con la build 208 (installazione per Alpari) - ho bisogno di punti di contrasto, ma la 209 non li ha. In seguito ho testato l'Expert Advisor con gli stessi parametri e sulla stessa storia scaricata da Metaquotes nello stesso modo nella build 209 (installazione da Metaquotes). I risultati sono molto diversi. Anche il numero di barre nella storia e la quantità di tick simulati sono diversi, anche se il test è della stessa qualità. Per favore, ditemi la ragione del diverso algoritmo di funzionamento delle build 208 e 209 o forse è a causa delle impostazioni dei simboli (spread, swap, deposito, livelli di stop ecc.) in un caso sono quelli Alpari, nell'altro - quelli Metakvotes? O la ragione è qualcos'altro? E come faccio a fare dei test adeguati e un'ottimizzazione sui dati di Metakvotes - la storia ha una build 208 di Alpari? Dove posso scaricare la build 208 (installazione di Metakvotes)?

Ho scaricato la cronologia usando la ricetta di Renat 'Automated Trading Championship 2007: Common Errors in EAs' precedentemente cancellato tutti i file .hst.

Rapporto del tester di strategia
lavoratore
MetaQuotes-Demo (Build 208)


Simbolo EURUSD (Euro contro Dollaro USA)
Periodo 15 minuti (M15) 1999.01.05 13:00 - 2007.09.07 22:45
Modello Tutti i tick (basati su tutti i più piccoli periodi disponibili con interpolazione frattale di ogni tick)
Parametri
Bar nella storia 215177 Zecche modellate 13375536 Qualità della modellazione 89.96%
Deposito iniziale 10000.00
Utile netto 3484.57 Profitto totale 14828.81 Perdita totale -11344.24
Redditività 1.31 Aspettativa di vittoria 7.20
Dispersione assoluta 896.44 Massimo prelievo 1255.96 (12.12%) Prelievo relativo 12.12% (1255.96)
Totale scambi 484 Posizioni corte (% vittoria) 249 (47.79%) Posizioni lunghe (% vittoria) 235 (52.77%)
Operazioni redditizie (% di tutte) 243 (50.21%) Operazioni in perdita (% di tutte) 241 (49.79%)
Il più grande commercio redditizio 426.34 perdere l'accordo -99.96
Media affare redditizio 61.02 commercio perdente -47.07
Numero massimo vittorie continue (profitto) 6 (466.42) Perdite continue (perdita) 7 (-275.39)
Massimo Profitto continuo (numero di vittorie) 653.20 (4) Perdita continua (numero di perdite) -286.62 (3)
Media vincite continue 2 Perdita continua 2

Rapporto del tester di strategia
lavoratore
MetaQuotes-Demo (Build 209)


Simbolo EURUSD (Euro contro Dollaro USA)
Periodo 15 minuti (M15) 1999.01.05 13:00 - 2007.09.07 22:45 (1970.01.01 - 2007.09.08)
Modello Tutti i tick (basati su tutti i più piccoli periodi disponibili con interpolazione frattale di ogni tick)
Parametri
Bar nella storia 215437 Zecche modellate 15419309 Qualità della modellazione 89.96%
Deposito iniziale 10000.00
Utile netto 1882.77 Profitto totale 13653.61 Perdita totale -11770.84
Redditività 1.16 Payoff previsto 3.82
Dispersione assoluta 896.21 Massimo prelievo 1331.85 (12.52%) Prelievo relativo 12.52% (1331.85)
Totale scambi 493 Posizioni corte (% vittoria) 263 (48.67%) Posizioni lunghe (% vittoria) 230 (51.30%)
Operazioni redditizie (% di tutte) 246 (49.90%) Operazioni in perdita (% di tutte) 247 (50.10%)
Il più grande commercio redditizio 426.34 perdere l'accordo -99.96
Media affare redditizio 55.50 commercio perdente -47.66
Massimo vittorie continue (profitto) 6 (466.42) Perdite continue (perdita) 7 (-275.39)
Massimo Profitto continuo (numero di vittorie) 522.72 (3) Perdita continua (numero di perdite) -318.74 (5)
Media vincite continue 2 perdita continua 2

 

A quanto pare, è il feed delle citazioni stesso. Per esempio, i prezzi di apertura/chiusura delle diverse versioni storiche sono leggermente diversi e quindi il movimento dei prezzi all'interno di una barra sarà modellato in modo leggermente diverso! E con fermate =40/50 questo avrà già un impatto.

Inoltre, non è molto chiaro - hai fatto il test entrambe le volte su mt4 Alpari? (Con diverse citazioni).

O la seconda volta usando mt4 MQ? Forse, gli spreads sono diversi lì. E per 500 scambi - già 1 pip è "-500".

E gli scambi sono gli stessi...

 
rid:

A quanto pare, è l'alimentazione del prezzo stesso. Per esempio, i prezzi di apertura/chiusura delle diverse versioni storiche sono leggermente diversi e quindi il movimento del prezzo all'interno della barra sarà modellato in modo leggermente diverso! E con stop =40/50 questo avrà già un impatto.

Inoltre, non è molto chiaro - hai fatto il test entrambe le volte su mt4 Alpari? (Con diverse citazioni).

O la seconda volta usando mt4 MQ? Forse, gli spreads sono diversi lì. E per 500 scambi - già 1 pip è "-500".

E gli scambi sono la stessa cosa...


Qual è l'obiettivo qui? Le citazioni vengono caricate su entrambi i terminali dal Centro Storico di Metacvotecs. Il primo terminale è stato creato dall'installazione Alpari (build 208), il secondo dall'installazione Metakvotes (build 209). Entrambi sono stati a loro volta loggati in un account di prova (rilasciato da Metakvotes per partecipare al campionato) e le citazioni sono state caricate secondo la ricetta di Renat. I primi 300 trade circa vanno quasi 1:1 (il che conferma l'identità delle quotazioni, degli spread, degli swap...), poi diversamente (vedi le dichiarazioni). Stupefacente la stessa qualità di modellazione :(

E un'altra cosa sorprendente: l'Expert Advisor non è complesso, usa solo un indicatore incorporato e mostra risultati 2-3 volte migliori sui dati Alpari che sui dati di Metakvotes History Center. E nessuna ottimizzazione gli permette di avvicinarsi ai risultati Alpari. Questo nonostante il fatto che quando il commercio con costante 0.1 lotto MOL circa 35, PF = 2.5, offerte durano a volte per diversi giorni, cioè TS chiaramente non scalper / scalper.

File:
test.zip  278 kb
 

Un'altra cosa che posso immaginare è questa.

Anche io ho avuto problemi con la cronologia, quando ho registrato un terminale MT4 in diversi DC. All'inizio tutto sembrava a posto. E poi devo aver cliccato da qualche parte e pezzi di storia di una società di brokeraggio (per una e la stessa coppia) hanno cominciato a insinuarsi nella storia di un'altra. O i pezzi hanno cominciato a cadere del tutto. Infine, tutto è diventato così incasinato che mi rifiuto di aprire conti di diverse società di intermediazione su un solo terminale.

Ora ho quattro conti Mt4 nel mio copm da diverse società di intermediazione, ma ho risolto il problema con questo casino! Provate a farlo nello stesso modo.

P.S Ho anche notato. C'è una società di brokeraggio Masterforex (non considerarla una pubblicità - solo per dire...). Quindi con le sue quotazioni, i miei EAs per qualche motivo mostrano ottimi risultati sulla storia. Ma su Lite o Alpari - con gli stessi parametri e qualità - un po' peggio.

 
rid:

Un'altra cosa che posso immaginare è questa.

Anch'io ho avuto problemi con la storia, quando ho registrato un terminale MT4 in diversi DC. All'inizio tutto sembrava a posto. E poi devo aver cliccato da qualche parte e pezzi di storia di una società di brokeraggio (per una e la stessa coppia) hanno cominciato a insinuarsi nella storia di un'altra. O i pezzi hanno cominciato a cadere del tutto. Infine, tutto è diventato così incasinato che mi rifiuto di aprire conti di diverse società di intermediazione su un solo terminale.

Ora ho quattro conti Mt4 nel mio copm da diverse società di intermediazione, ma ho risolto il problema con questo casino! Cercate di fare lo stesso.


Grazie, ma sono consapevole di questo problema. Ho scritto sopra che ho preso installazioni pulite, le ho installate, ho cancellato tutti i file .hst, ho loggato ognuno dei due terminali ad un solo account rilasciato da Metacvotes, ho cancellato tutti gli altri terminali dalla cartella config, così non ci può essere confusione e i pezzi di storia estranei non hanno dove venire. E puramente il terminale tester Alpari, sul quale ho ottenuto risultati 2-3 volte migliori prima, non si è mai collegato a nessuna società di brokeraggio o conto. È caricato con i file .hst di Alpari.
 
Rimane la domanda: perché la stessa qualità di simulazione è data per un diverso numero di barre e tick simulati? E inoltre, dov'è la garanzia che la cartella di download con un volume maggiore di storia senza omissioni? Si è scoperto, la valutazione quantitativa della qualità della simulazione data dal tester non è affidabile?
 

Non ci si può fidare di nessuno!

Non credo che il tester reagisca al numero di barre.

E per quanto riguarda la valutazione della qualità, possiamo vedere che la quantità di qualità è valutata dai seguenti criteri: - Come completamente il timeframe testato è riempito con le quotazioni minime al suo interno. Se è pieno, allora =90%. Se non è completamente riempito, la qualità è inferiore.

Ma ho dei cali inspiegabili nelle quotazioni (da settembre a ottobre/novembre 2006) per tutti i TF in Fuy e Kiwi (quando si carica). Ma il tester non lo nota e dà =90%, poiché tutte le altre barre in qualsiasi timeframe sono completamente piene di minuti.

E il fatto che manchino le barre - il tester non vede.

Forse si sta perdendo una o due settimane di storia da qualche parte. Da qui la differenza.

Z

 

La questione di un Expert Advisor multivaluta è tornata a galla. C'è la necessità di far funzionare una delle coppie in modalità prezzo aperto! Ho trovato un esempio di un tale disegno negli articoli. L'ho prima incollato nella versione singola. Tutto ha funzionato.

int start()
//ждем открытия нового бара. Если появл. новый бар - проверяем возможность сделки
 {if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0];

Poi l'ho inserito nel mio Expert Advisor multi valuta allo stesso modo. E tutte le coppie hanno lavorato con i prezzi di apertura. Ma non ho bisogno di tutti loro. Ne ho bisogno solo di uno - il secondo paio. Ho fatto così:

Ho dichiarato in globale - static int prevtime = 0;

ЗАДАЕМ ВНЕШНИЕ ПАРАМЕТРЫ ПО КАЖДОЙ ПАРЕ
 static int prevtime = 0;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
 
int start()
  {  
 int Orders=OrdersTotal ();     //получаем кол-во открытых ордеров
if (Orders<3)                 //если  открытых ордеров <3
  { 
if (выключатель 1 вкл) {РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ПЕРВУЮ ПАРУ } 
if (выключатель 2 вкл) 
{
if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0]; 
 
РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ВТОРУЮ ПАРУ } 
  }
//========================================================================
for (int x=0; x<OrdersTotal(); x++)                                             {
    if (OrderSelect(x, SELECT_BY_POS, MODE_TRADES)) 
{       
if (UseTrailing 1) - ТРЕЙЛИНГ ПЕРВОЙ ПАРЫ
... ... ...
if (UseTrailing 2) - Трейлинг второй пары
}
//======================================================================
   return(0);
  }

Inoltre dopo ogni biglietto della seconda coppia inserito :

ticket=OrderSend("EURUSD", OP_BUY,Lots,_ask ,3,_bid-SL_long*_point,
                       _ask +TP_long*_point,"M_4",MagicEURUSD,0,CLR_NONE);
 
                        Sleep(30000);
                       if(ticket < 0)   {
                           prevtime = Time[1];
                         }

Non funziona niente! L'EA continua a lavorare dalla seconda coppia attraverso tutti i tick!

Ho provato un'altra costruzione. Ne ho provato un altro.

bool isNewBar=false;
if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }
//-------------------------------------------------------
 
if (isNewBar) {

Ho impostato le variabili in anticipo:

int         ExpertBars;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
ExpertBars = Bars;
//----------------
   return(0);

Ma .... Stessa storia. Quando l'ho messo all'inizio - tutte le coppie lavorano con i prezzi di apertura. Ma quando voglio applicarlo a una coppia - non funziona! Sto lottando per il terzo giorno.

Sarò felice per qualsiasi consiglio e raccomandazione....

 
rid:
I nomi evidenziati in rosso da ME si riferiscono allo strumento a cui l'EA è collegato. Prova a usare iTime() invece di Time[].