[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 361

 

Diubakin:
1. Здраствуйте, подскажите пожалуйста, есть ли возможность доступа к исторической тиковой информации в МТ4, средствами MQL4? То есть что-то вроде "тик-серии"?

2. È possibile programmare le MA sulla base dei tick, ma non dei timeframe (serie temporali)? Scusate se non mi esprimo correttamente. In breve, ho bisogno di una cronologia delle zecche...


1. Leggi articoli (fai una ricerca) su come funziona il tester di strategia.

2. una tale possibilità esiste - ma qui la scelta dell'azienda, attraverso la quale lavorare, le sue condizioni commerciali, ecc, gioca un ruolo molto importante. Per questo hai bisogno di una cronologia di tick, quindi "scaricala" in MT4... Molte altre cose - questa non è una lista completa delle questioni da risolvere...

Vedi alla fine del codice base del sito - un Expert Advisor (by Composter) - Save... - non ricordo il suo nome esatto - come scrivere la storia dei tick di un fornitore di quote (CA).

 
Grazie per l'aiuto, se ho capito bene, allora in MT4 il lavoro completo con i tick è un problema serio, cioè poter utilizzare tutte le possibilità (indicatori, esperti, script) come sui timeframe e quindi quando si programma sulla base delle informazioni dei tick ci sono molti problemi aggiuntivi, che sarebbero molto difficili da risolvere per un principiante. Era davvero così difficile per gli sviluppatori fare un lavoro completo con informazioni di zecca?
 

Diubakin:
1. Спасибо за помощь, если я правильно понял, то в МТ4 полноценная работа с тиками - это серьёзная проблем, то есть чтоб можно было использовать все возможности(индикаторы, эксперты, скрипты) как на таймфреймовых графиках и соответственно при программировании на основе тиковой информации возникает масса дополнительных задач, которые начинающему решить будет очень сложно.

2. È stato molto difficile per gli sviluppatori fare un lavoro completo con le informazioni delle zecche?


1. dipende dalla tua formazione di base - quali linguaggi di programmazione parli, la tua capacità di imparare, assimilare e applicare i materiali di apprendimento, molte altre cose... Se tutto va bene, c'è il desiderio e l'aspirazione a studiare in questa direzione, allora capire e applicare tutto questo piacere nella pratica, sono sicuro, non è difficile e possibile. Se proprio..., allora è molto difficile, se non impossibile, farlo da soli, la possibilità, non intendo attraverso una joba...

2. Qui, chiedete agli sviluppatori stessi.

 
pension:
Mi scusi, come avrei dovuto scrivere il codice per mantenere gli spazi, ma mi fa paura guardarlo da solo? Tutto andava bene nella bozza nell'editor di testo.

Qui nell'editor, premi ktrl+alt+M - metti il codice negli appunti in questa finestra, poi premi "Incolla" in basso, poi continua con il tuo array.
 
Cari professionisti. Qui sotto c'è un frammento dell'Expert Advisor, che viene spesso ripetuto in esso, in posti diversi, per scopi diversi.
Domanda. Perché gli Expert Advisor scrivono l'operatore B (condizione di base a p4) dopo l'operatore A? O non capisco qualcosa, o è solo riassicurazione-precisione,
o sono consapevoli di alcune insidie? Allora cosa potrebbe accadere di inaspettato?
Ho un altro suggerimento, è un elemento di strutturazione del programma, per migliorare la comprensione della sua logica, ma poi se tale tecnica è usata frequentemente

il rendimento del programma è compromesso. Si prega di spiegare qual è lo scopo di scrivere la pagina 4.

for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {                                       //стр.1
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);                                   //стр.2
       if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber)  continue;  //стр.3 Оп-р А.
       if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)             //стр.4 Оп-р Б.
                   if (OrderType() == OP_BUY || OrderType() == OP_SELL)                //стр.5 Пример нужного оператора
                                                 Profit += OrderProfit();              //стр.6 Пример нужного действия
        }                                                                              //стр.7
 
Vinin:

È difficile dire del reale senza sapere molte cose. Ma con una prima approssimazione il 50% è sicuro. Intendo una ripetizione del risultato.

Capisco, grazie!
 
pension:
Domanda. Perché gli esperti scrivono l'operatore B (condizione principale pagina 4) dopo l'operatore A?

l'istruzione continue termina l'iterazione corrente del ciclo for se il nome dello strumento corrente non è uguale o il mago non è uguale, cioè sotto l'istruzione continue il codice non sarà eseguito fino al "nostro ordine", la seconda istruzione if controlla l'esecuzione simultanea delle condizioni

Un codice un po' ingombrante, guardate il ramo https://www.mql5.com/ru/forum/131859, ci sono un sacco di funzioni scritte in modo intelligente

 

C'è (sto scrivendo) un indicatore che simula la pressione della tastiera come richiesto tramite keybd_event(...) . L'indicatore deve stare su diversi grafici. Così, se un altro grafico è aperto, anche senza indicatore, mentre il grafico con l'indicatore è nascosto, questa pressione viene inviata a quest'altra finestra attiva e non viene inviata a quella chiusa con l'indicatore. E se si esegue l'indicatore su diversi grafici, sarà...!!!

La domanda è, come fa l'indicatore a saperlo? che il suo grafico è inattivo, per bloccare almeno questo invio o, se l'invio, dovrebbe inviare questo push alla propria finestra inattiva?

 
pension:
Cari professionisti. Qui sotto c'è un frammento dell'Expert Advisor, che viene spesso ripetuto in esso, in posti diversi, per scopi diversi.
Domanda. Perché gli Expert Advisor scrivono l'operatore B (condizione di base al p4) dopo l'operatore A? O non capisco qualcosa, o si tratta solo di riassicurazione-rifinanziamento,
o sono consapevoli delle insidie? Allora quale potrebbe essere l'imprevisto?
Ho un altro suggerimento, è un elemento di strutturazione del programma, per migliorare la comprensione della sua logica, ma poi se tale tecnica è usata frequentemente

il rendimento del programma è compromesso. Si prega di spiegare qual è lo scopo di scrivere la pagina 4.



La cosa migliore da fare è controllare il funzionamento di questo gufo da soli con 4° pg, senza 4° pg... in tester, su demo - non importa... Due varianti - farli lavorare in parallelo allo stesso tempo, sullo stesso strumento... Poi, pubblicate qui i campioni di queste due varianti. Sembra solo un'eccessiva assicurazione... Dopo tutto, se abbiamo superato la condizione A, allora possiamo tranquillamente andare alla linea №5 - riassicurazione...
 

Sono totalmente confuso con l'ottimizzazione.

Il compito è quello di vedere come funzionerà l'EA in un dato periodo, il risultato non è ancora importante.

Abbiamo un saldo iniziale di $10000. Un parametro da ottimizzare. Ho impostato la condizione limite - il saldo minimo è di $1000. Tester cerca e dice "nessun risultato". Ok. Inizio a testare e vedo che il drawdown massimo è di 532$ e il saldo finale è di 9378$. Cioè il saldo del periodo è sempre più di 1000 dollari, ma il tester non lo mostra durante l'ottimizzazione. Perché? Una ricerca sui forum mostra che non c'è questo problema, il che significa che non ho capito bene il significato di "saldo minimo"...