Il mercato si sbaglia sempre - pagina 3

 

Non ho ancora avuto a che fare con l'Expert Advisor, ma uso un codice simile per calcolare il capitale

if (AccountEquity() > beginEquity) {
      if (IsTesting()) {
         beginPrice = Bid;
         magicnumber++;
         beginEquity = AccountEquity();
      } else {
         Alert("Please refresh beginPrice, beginEuqity and change magicnumber");
      }

Suggerisco di equiparare la variabile al saldo durante l'inizializzazione come seconda opzione

int init()
  {
//----
   if (IsTesting()) {
      beginEquity = AccountBalance();
   }
   return(0);
  }

In questo caso non ci sarà bisogno di controllare il capitale prima di eseguire l'EA,

static double beginEquity = 200000;

Perché il suo capitale è uguale al saldo prima dell'inizio dell'Expert Advisor!

Vyacheslav.


 
Winner:
Reshetov:
Se siete disposti, potete farlo. Altrimenti i fondi andranno al reinvestimento.
E qual è il rischio di non prosciugare il deposito, se il consulente apre posizioni per tutto il deposito????
Non appena il tester MT inizierà a supportare il multi-trading, sarà possibile ottenere una stima empirica della probabilità di perdere su dati storici.

Per ora, il tester può solo valutare empiricamente il rischio su singole coppie.

Una stima analitica del rischio per questa tattica non è ancora stata derivata.
 
Reshetov:
timbo:
YuraZ:
Una strategia molto buona,
...
l'altra questione è che i prelievi sono fatti dopo un anno o due
Ho letto un libro su forex, azioni, ecc. In particolare, si trattava di dipendenti di vari fondi che apparentemente aumentano il denaro dei depositanti e che sono considerati come professionisti e quasi celestiali. Quindi si è pensato che sono le stesse persone di chiunque altro, né meglio né peggio, e che non sbagliano meno spesso. Il "deposito" è così grande che permette di non fare alcuno svantaggio.
Se non avete tanta fretta di prelevare, e la dimensione del deposito è immensa, non fa molta differenza da che parte aprite - prima o poi sarete in attivo.
Se aprite una posizione di acquisto ad un massimo storico o una posizione di vendita ad un minimo storico, il profitto aspetterà fino al prossimo estremo storico. C'è una differenza tra entrare e uscire dal mercato, ed è significativa.

Per evitare tali situazioni sarebbe meglio aggiungere una semplice teanalisi ed evitare di essere eccessivamente preoccupati scegliere un periodo di un giorno.
 

Grazie per la sua risposta, rispettato signor Reshetov. Mi sono già reso conto che queste linee sono per precauzioni di sicurezza, qualcosa come {try...catch} in altre lingue. In particolare, nel test non ho mai inserito la funzione Closeby.

Sembra che io abbia creato qualcosa per il test. Anche se non posso ancora escludere errori, ho pensato di mostrarvi qualcosa su cui ho lavorato. Ho intenzione di farlo su Finlist (mi sento più a mio agio lì), ma visto che Yuri è su questo forum probabilmente inizierò qui.

In generale, quello che vedrete qui vi aiuterà a capire come vengono generati i segnali dell'EA.

Finora ho aggiunto una versione 1.1 dell'algoritmo EA. Yuri continua a darmi nuove versioni e io devo scavare come una lumaca. Sembra essere lo stesso della versione 1.1 ma sellprofit ha >0,001 invece di 0,01.

Il test si svolge secondo il mio piano, quindi non dispiacerti. Significa che il mio depo per ora è di 1000 dollari e quindi ho un numero limitato di coppie in uso. Finora uso solo un gruppo EUR. Limito il test a 24 ore. Il mio programma è flessibile e naturalmente posso stabilire la durata di 2 o 10 giorni. Ma per il momento non mi interessa, ciò che è importante è una comprensione generale dell'algoritmo. Soprattutto perché ci vuole ancora molto tempo per calcolare. Il giorno del test è un calcolo di mezz'ora, è a causa della tabella di vista (vedi sotto). È molto lungo, ma in realtà sto emettendo tutte le assegnazioni delle variabili nella tabella e altre cose. Invidio persino il test MQL - quanto velocemente fanno girare tutto. Certo, tutto è fatto in modo più professionale, ma non vedrete tutto lì. Ma per me è un granello alla volta - ma ho una visione chiara.

Alcune spiegazioni. Le mie citazioni sono preparate appositamente - significa che hanno dei buchi e così via. Tale elaborazione richiede tempo, dato che non voglio caricare dati freschi e ho la gamma di quotazioni storiche dal 01/01/05 al 16/09/06. Quindi il test è entro questi limiti e questo mi basta per ora. Sì, le quotazioni sono forexclub, minute e prese da forextester.

Fornisco 3 tabelle dove potete vedere tutti gli sviluppi:

1) _history - è simile a "Account history" in mql, ma solo gli ordini aperti e chiusi si trovano insieme, il segno di separazione è il campo [flag]. Lì tutto è chiaro. Campo id_operazione: se "1", è BUY/.

2) _risorse: saldo totale, capitale e profitto per ordini aperti al momento attuale per tutte le coppie di valute coinvolte. Tutto dovrebbe essere chiaro anche qui, tranne il campo [ID] - questo è il mio identificatore di data interno. Posso spiegare più dettagliatamente, se avete domande, ma in generale, a quale data corrisponde si può vedere nella terza tabella _view, dove tutto è dettagliato, e in _resources viene visualizzato il totale di ogni minuto.

3) _view - tutto è molto dettagliato, per ogni coppia di valute c'è una storia diversa dello sviluppo delle transazioni. Il campo [Actual_price] è la chiusura di un preventivo minuto. Bid, Ask - ottengo +-spread (lo spread è preso da Alpari, ma poiché tutto è in tabelle, posso correggerlo, ma non vedo molto senso, comunque tutto è approssimativo). E la lettura dei dati è molto semplice - la prima versione dell'EA, e il numero di riga sarà un puntatore, e in quale luogo era l'assegnazione nella variabile (per esempio, il campo [money_54] corrisponde alla 54a riga dell'EA, dove il denaro viene ricalcolato. Se "0", significa che in questo luogo non c'è stato nessun calcolo, perché non c'erano condizioni corrispondenti). Controlla il campo dei commenti, le operazioni sono documentate lì e corrispondono alla storia nella tabella _history. Sì, un possibile malinteso. Il campo Itog_profit è il profitto totale per il momento attuale degli ordini aperti per la coppia di valute data. Il campo sellprofit o buyprofit può essere diverso perché contiene solo i dati dell'ultimo ordine di vendita o acquisto aperto. Quindi nel ciclo <for> per la lista degli ordini aperti. Il resto dovrebbe essere chiaro, a meno che non troviate i miei errori.

Ho appena iniziato a guardarlo anch'io. All'inizio ero soddisfatto del test. Ho fatto quattro volte il primo giorno disponibile (non sto ancora guardando il grafico) con 2 simboli EURUSD+ EURCHF e ho fatto il calcolo di un giorno e ho avuto buoni risultati - da 15 a 150 pips. Ma poi sono arrivato al giorno in cui il totale della giornata si è concluso con -80 pip. Ancora una volta sto interrompendo il test e questo non è corretto. A quanto pare se il test continua ci sarà un risultato diverso. Ma per ora la vedo così.

Questa versione del test è una sorta di scalping e Yuri dice correttamente che il suo EA è molto diverso e il deposito non dovrebbe essere piccolo perché il processo tecnologico del funzionamento EA è violato quando il deposito è piccolo, beh, la media non va come previsto perché non c'è abbastanza finanziamento e la lotta per la "sopravvivenza" può risultare non molto positiva.

Ancora una volta dirò che ammiro tanto l'Expert Advisor di Yuri. Molto interessante e originale. Ma guardate voi stessi - è sia bello che pericoloso, almeno la versione 1.


Sinceramente, Fed

Sì, ancora una volta: Depo $1000, Bl=1000, BeginPrice - corrente al momento del calcolo della data. Lo scopo del test è quello di capire come vengono generati i segnali.

Prima prova - 15/03/05 10:00 a 16/03/05 10:00

Questo giorno era "degno di nota", ma dato che stiamo guardando la generazione dei segnali (chi se ne frega), per ora è lo stesso.

Prima per 2 coppie EURUSD e EURCHF



 
Ora gli stessi parametri di input, ma viene preso solo un EURUSD
 

Ora 2 coppie EURUSD e EURCHF, depo 1000, bl 1000, c 15/03/05 00:00 a 16/03/05 00:00. Cioè tempo leggermente cambiato, BeginPrice=corrente.

 
Bene e 1 coppia EURUSD, depo 1000, bl 1000, dal 15/03/05 00:00 al 16/03/05 00:00.




Bene, per ora, smetterò di riempire mql con le mie creazioni. Forse non è interessante, forse a questo punto qualcuno troverà il mio errore. Ma posso mostrare il cambiamento di calcolo a seconda di Bl e BeginPrice <> corrente

Cordiali saluti, Fed
 
FION:
Reshetov:
timbo:
YuraZ:
Una strategia molto buona,
...
l'altra questione è che i prelievi sono fatti dopo un anno o due
Ho letto un libro su forex, azioni, ecc. In particolare, si trattava di dipendenti di vari fondi che apparentemente aumentano il denaro dei depositanti e che sono considerati come professionisti e quasi celestiali. Quindi si è pensato che sono le stesse persone di chiunque altro, né meglio né peggio, e che non sbagliano meno spesso. Il "deposito" è così grande che permette di non fare alcuno svantaggio.
In altre parole, se non avete tanta fretta di prelevare, e la dimensione del deposito è immensa, non fa differenza da che parte aprite - prima o poi sarete in attivo.
Se apri una posizione lunga sul massimo storico e vendi sul minimo storico, il profitto aspetterà fino al prossimo estremo storico. Reshetov: C'è una differenza per entrare e uscire dal mercato, ed è significativa.

Per evitare che accada, sarebbe bene aggiungere una semplice teanalisi e scegliere un periodo di giorni per evitare di esagerare.
Semplicemente non ho letto il libro con attenzione. E questo libro afferma chiaramente che i "professionisti" fanno trading rigorosamente in controtendenza e il più delle volte con il metodo della media. Ecco perché non c'è modo per loro di comprare al massimo locale e vendere al minimo locale.
 
Fed:

Grazie per la sua risposta, rispettato signor Reshetov. Mi sono già reso conto che queste linee sono per precauzioni di sicurezza, qualcosa come {try...catch} in altre lingue. In particolare, nel test non ho mai inserito la funzione Closeby

È davvero un peccato che MQL non sia orientato agli oggetti. I gestori di situazioni eccezionali e i gestori di eventi fatti in casa semplificano molto la vita dei programmatori, perché molti bug possono essere risolti in anticipo. E mentre non c'è OOP, dobbiamo cercare di prevedere vari oltraggi a livello algoritmico, e il codice non è troppo kosher.
 
Paha:
Ciao!
Stavo solo scherzando.
Come ha detto Mathemat "sull'analisi di superficie" bene, molto bello! Non un solo valore negativo. Ma quello che non capisco (forse ho capito male): non spengo il giocatore e non chiudo il terminale. L'avviso verrà visualizzato in queste condizioni o l'EA farà trading da solo come dovrebbe? Cosa succederà se mi disconnetto da Internet per un breve periodo e poi ripristino la connessione? Senza alcuna disconnessione da parte mia?
Per me la questione è molto importante a causa della mia assenza dal computer per almeno 18 ore al giorno (sonno, lavoro, ecc.) e se in quel tempo si verifica la disconnessione, o non posso inserire nuovi dati. ..... bene, non proprio buono.
Inoltre, se ho capito bene: se si accende la camma o il terminale, basta inserire i valori attuali e tutto andrà come al solito, cioè ricollegare l'EA?
Inoltre, se l'avviso viene visualizzato, ma non facciamo nulla, l'EA continua a fare trading secondo le vecchie impostazioni o aspetta che vengano inserite quelle nuove?
Se possibile, si prega di dare questi punti più dettagliatamente!!!!
Grazie per un altro motivo per scervellarmi un po'! (in senso buono).
Sinceramente !!!!
Una disconnessione a breve termine da Internet non influisce in alcun modo sulle tattiche dell'Expert Advisor.

In generale, si può fare a meno delle allergie e passare al semi-manuale, soprattutto se non c'è la possibilità di monitorare gli Expert Advisors. Il principio è quello di iniziare un nuovo gioco (cioè un nuovo magik e beginPrice per tutti gli EA) quando il livello di equity supera il precedente.

Cioè, quando c'è un'opportunità, guarda l'equità. Se ha superato il livello precedente, allora:
  1. Impedire a tutti gli EA di lavorare.
  2. Chiudiamo le posizioni opposte per tutti i simboli usando "close overlapped orders" per non perdere sullo spread.
  3. Aumenta i maghi di 1 e imposta il loro beginPrice al Bid attuale, cioè inizia una nuova partita.
  4. Ricordate l'attuale livello di equità. Per esempio, scrivetelo su un pezzo di carta o in un file.
  5. Avviare gli EA con le nuove impostazioni.
  6. Vai al lavoro, agli affari o alle ragazze.
  7. Quando si presenta l'opportunità di guardare di nuovo l'equità e cambiare le impostazioni, la guardiamo e se il livello precedente viene superato, procediamo al punto 1. Se non viene ancora superato, procediamo al punto 5.