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

 
Zhunko:

Comunque, senza RefreshRates() i miei EA non funzionano. Li faccio in loop. Pertanto, RefreshRates() è obbligatorio.

Cosa intendi per "in loop"? In effetti, si può dire che qualsiasi Expert Advisor è in loop, poiché l'inizio ha un ciclo. Una volta per tick...

Zhunko:

Il caricamento della storia iniziale viene eseguito su questo principio. Poi lo ricarico periodicamente. Altrimenti appaiono dei "vuoti" nella storia con cui lavora l'Expert Advisor. Non so perché succede.

Mi sembra che sia lei che commercia in cucine, ecco perché si formano i buchi nella storia. Ho notato che succede nelle cucine zoppe. Un broker di qualità non dovrebbe avere quella merda.

Zhunko:

Ho provato a usare RefreshRates() per la paginazione. Non funziona sempre.

Ma RefreshRates() serve per aggiornare le variabili dell'ambiente di mercato, non per la paginazione. Naturalmente, non si scambia.


Zhunko:

A volte arriva solo l'ultima barra.

Dove arriva l'ultima barra?

Zhunko:

Se il grafico di uno strumento è aperto, c'è sempre una storia per esso. Non ci sono stati errori in questo caso. L'errore è apparso quando il grafico dello strumento richiesto non era aperto.

Hm. Beh, se i dati di mercato sono estratti attraverso MarketInfo(), come ho capito, non ci dovrebbero essere errori. E se lo aggira, ovviamente. Sembra di sì. Non ho ancora controllato, ma sembra essere la stessa logica.
 

Salve.

Volevo fare una domanda sui test del sistema. In generale, capisco il quadro, ma dato che non avevo nessuna esperienza reale di ottenere un EA funzionante, ma stavo creando-creando, testando-testando tutto... In generale, non so quando posso fermarmi ora.

Il mio Expert Advisor è semplice, non ha quasi nessun parametro di ottimizzazione. Non è uno scalping. L'ho scambiato su D1 durante il periodo dal 2000 al 2013 con un lotto minimo 0,01 a $100 di deposito. Questo è il rapporto.

segnalare


Possiamo fidarci di questi risultati? Ci sono solo 300 trade, ma secondo la logica della strategia e il timeframe D1 non dovrebbero essercene molti di più. La strategia ha solo un parametro di ottimizzazione - la fedeltà del segnale. Se rendiamo il sistema più severo nei loro confronti, i parametri presumibilmente miglioreranno ma la quantità di accordi sarà solo 175. Ci si può fidare dei risultati quando ci sono così tanti scambi? Oppure, è meglio scegliere la prima variante con indicatori peggiori ma più scambi?

rapporto 2


O entrambi sono inutili e abbiamo bisogno di un'aspettativa matematica più alta e così via?

 
sulla coppia di valute EUR/USD H4 "waiting for update" è acceso e non passa ad altri periodi cosa devo fare?
 
shurik32:
sulla coppia di valute EUR/USD H4 si accende "waiting for update" e non passa ad altri periodi cosa fare?
Entrare nella storia F2 swap H4!
 
Vinin:

Se nuovi tick arrivano durante i calcoli nell'Expert Advisor (quando la funzione start() è in esecuzione), l'Expert Advisor non li conoscerà (tick). RefreshRates() permette di utilizzare gli ultimi prezzi aggiornati, ma questa funzione non accede al server. Aggiorna l'ambiente di mercato noto al terminale. Nessuna funzione, tranne quella di scambiare indirizzi al server.

È difficile dire di quello assegnato. Bisognerebbe chiedere ai Metakbot.

Ho fatto bloccare il mio conto reale in MRC a causa della frequente apertura e aggiornamento dei grafici. Non è una funzione MQL4, ma un visualizzatore di grafici interno. Forse, per esempio, MarketInfo() sta accedendo al server o riceve solo una parte dei dati dalla panoramica del mercato.

====================================

Per quanto ricordo, i dati di Market Watch non devono essere gli stessi delle variabili predefinite. Allora cosa e dove si aggiorna RefreshRates()?

Ho solo una risposta. Refresh è l'impaginazione e la riconciliazione della storia dal server. Sono stato convinto di questo molte volte quando ho cercato di aggiornare la storia con esso. Spesso arrivava solo l'ultima barra. C'era un "buco" nel file HST dopo che il terminale è stato scaricato. Ma se aprite questo grafico e lo aggiornate, il "buco" è stato riempito. A proposito, quando RefreshRates() è in esecuzione nel Task Manager, potete osservare il caricamento dei dati. Forse, la riconciliazione non avviene quando la storia viene aggiornata con RefreshRates(), ma avviene quando il grafico viene aggiornato.

Quindi, è necessario controllare se avete bisogno della storia senza scappatoie nel flusso di Expert Advisor.

hoz:
1. Cosa intende per ciclico? In effetti, qualsiasi Expert Advisor è in loop, perché ha un ciclo iniziale. Una volta per zecca.

2. Mi sembra che sia lei che commercia in cucine, ecco perché si formano i buchi nella storia. Ho notato che succede nelle cucine zoppe. Ma un broker di qualità non dovrebbe avere quella merda.

Ma RefreshRates() serve per aggiornare le variabili dell'ambiente di mercato, non per la paginazione. Naturalmente non è paginazione.

4. Dove arriva l'ultima barra?

5. Hmm. Beh, se tirate i dati di mercato attraverso MarketInfo(), come ho capito, non dovrebbero esserci errori. E se lo aggiriamo, allora è ovvio. Sembra così. Non ho ancora controllato, ma sembra essere la stessa logica.

1. Come questo:

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2. Non dipende da un broker. Questa è una peculiarità del terminale e del suo lavoro con il server. Per qualche ragione, RefreshRates() non aggiorna la storia nello stesso modo in cui aggiorna il grafico.

3. Avresti già letto l'aiuto? Ci risiamo:

Aggiorna i dati nelle variabili predefinite e negli array di serie temporali. Questa funzione viene utilizzata quando l'Expert Advisor o lo script ha eseguito i calcoli per molto tempo e ha bisogno di dati aggiornati. Restituisce TRUE se i dati sono aggiornati, altrimenti FALSE. I dati non possono essere aggiornati solo perché corrispondono allo stato attuale del terminale client. Gli Expert Advisors e gli script lavorano con la propria copia di dati storici. La copia dei dati sul simbolo corrente viene creata al primo lancio dell'Expert Advisor o dello script. Ad ogni successivo lancio dell'Expert Advisor (ricorda che lo script viene eseguito una volta sola e non dipende dai tick in arrivo), la copia creata inizialmente viene aggiornata. Uno o più nuovi tick possono apparire mentre l'Expert Advisor o lo script è in esecuzione, quindi i dati possono non essere aggiornati.

4. di cosa stiamo parlando? Parlando dell'aggiornamento dei dati nel thread di Expert Advisor.

5. Il codice EA qui sopra mostra come e dove vengono aggiornati i dati. Se IsRefreshRates non è incluso, i dati vengono aggiornati solo in MarketInfo().

 
 

Ho negoziato con successo su alpari con ilan 2.0 (1.6) con impostazioni ragionevoli, fino a quando non sono arrivati avvisi di frequenti richieste improduttive che caricano il server per niente. Si è scoperto che in un mercato veloce alpari aumenta il livello di impostazione dello stop loss minimo possibile a 2 spread, che corrispondeva a 40 pips, a volte meno. Ma il mio EA sembra impostare questo valore nell'intervallo di 15-55 pips, che ho capito leggendo il codice dell'EA. Ma alpari non era soddisfatto e sono stato minacciato di blocco, quindi ho smesso di fare trading. Non conosco bene mql4, ho appena modificato queste linee nel codice, che mi sembravano le uniche linee responsabili del problema, è nella scheda di qualsiasi ilan, vicino all'inizio:

doppio PrevCl;

doppio CurrCl;

se (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

se ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Dove stupidamente ho cambiato i numeri da 15 a 40 per risolvere il problema, ma ulteriormente ho imparato da alpari che il problema non è risolto, cioè ho fatto qualcosa di sbagliato, il che non è sorprendente. Potete consigliarmi come modificare correttamente il codice EA in modo che metta il livello di stop loss nell'intervallo 40-55 pips invece che 15-55. So che l'intervallo di 40-55 punti non è abbastanza grande per un comodo stop-loss impostato ed è troppo lontano dal prezzo, il che riduce il profitto. Ma non ho scelta, non voglio lasciare Alpari, si sta bene lì. Non c'è un parametro corrispondente nelle impostazioni standard di EA.

 
Dmido:

Salve.

Volevo fare una domanda sui test del sistema. In generale, capisco il quadro, ma dato che non ho avuto alcuna esperienza reale di ottenere un EA funzionante, ho creato-creato, testato-testato tutto... In generale, non so quando posso fermarmi ora.

Il mio Expert Advisor è semplice, non ha quasi nessun parametro di ottimizzazione. Non è uno scalping. L'ho scambiato su D1 durante il periodo dal 2000 al 2013 con un lotto minimo 0,01 a $100 di deposito. Questo è il rapporto.


Possiamo fidarci di questi risultati? Ci sono solo 300 trade, ma secondo la logica della strategia e il timeframe D1 non dovrebbero essercene molti di più. La strategia ha solo un parametro di ottimizzazione - la fedeltà del segnale. Se rendiamo il sistema più severo nei loro confronti, i parametri presumibilmente miglioreranno ma la quantità di accordi sarà solo 175. Ci si può fidare dei risultati quando ci sono così tanti scambi? Oppure, è meglio scegliere la prima variante con indicatori peggiori ma più scambi?



O entrambi sono inutili e abbiamo bisogno di un'aspettativa matematica più alta e così via?


Il 10% all'anno è buono o cattivo?
 
Andrew245:

Ho negoziato con successo su alpari con ilan 2.0 (1.6) con impostazioni ragionevoli, fino a quando non hanno cominciato ad arrivare avvisi su frequenti richieste improduttive che caricano il server per niente. Si è scoperto che in un mercato veloce alpari aumenta il livello di impostazione dello stop loss minimo possibile a 2 spread, che corrispondeva a 40 pips, a volte meno. Ma il mio EA sembra impostare questo valore nell'intervallo di 15-55 pips, che ho capito leggendo il codice dell'EA. Ma alpari non era soddisfatto e sono stato minacciato di blocco, quindi ho smesso di fare trading. Non conoscevo bene mql4, ho solo modificato queste linee nel codice, che mi sembravano essere le uniche linee responsabili del problema, è nella scheda di qualsiasi ilan, vicino all'inizio:

doppio PrevCl;

doppio CurrCl;

se (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

se ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Dove stupidamente ho cambiato i numeri da 15 a 40 per risolvere il problema, ma ulteriormente ho imparato da alpari che il problema non è risolto, cioè ho fatto qualcosa di sbagliato, il che non è sorprendente. Potete consigliarmi come modificare correttamente il codice EA in modo che metta il livello di stop loss nell'intervallo 40-55 pips invece che 15-55. So che l'intervallo di 40-55 punti non è abbastanza grande per un comodo stop-loss impostato ed è troppo lontano dal prezzo, il che riduce il profitto. Ma non ho scelta, non voglio lasciare Alpari, si sta bene lì. Non c'è un parametro corrispondente nelle impostazioni standard di EA.


Quindi cambia i parametri dello stoploss, perché stai cambiando i parametri dell'indicatore?
 
pako:

quindi cambiare i parametri di stop loss, perché stai cambiando i parametri dell'indicatore?

L'avevo intuito, ma non riesco a trovarli, i parametri di stop loss