Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
In termini di tecnologia software, potenzialmente sì. Le biblioteche possono essere chiamate dall'ottimizzatore finché non si trova nel cloud.
sul lato NS - come te lo immagini?
Nell'ottimizzatore viene fatto un passaggio e i dati vengono scritti nel file, poi si passa alla formazione della rete, dopo la formazione i risultati della valutazione della formazione vengono restituiti a MT4/5 e la rete (regole) viene scritta nel file. E l'altra vista è quando usiamo i file registrati della logica NS per condurre l'ottimizzazione (delle varianti NS) e fissare gli indicatori standard di TS.
Ho esteso la demo del grafico Tk - ora mostra anche la tabella degli ordini.
Il codice MQL che si riferisce alla tabella degli ordini
- seleziona tutti i suoi ordini e li invia a tcl nel metodo OnOrderList
- nell'output otteniamo 3 liste di ticket - quelli nuovi, quelli che sono cambiati e quelli che sono stati cancellati
e il metodo Tcl che fa il lavoro principale:
- ottiene un nuovo elenco di ordini
- confrontare con le chiamate precedenti
- costruisce 3 elenchi (nuovo, cambiato, cancellato).
- crea una tabella ... che in realtà è un albero e può essere fatta in diversi livelli.
# надо обновить внутренние структуры
# и вернуть триплет (список из трёх списков)
# 1 - список новых ордеров
# 2 - ордера которые поменялись
# 3 - ордера которые удалены
method OnOrderList { orderList } {
set created {}
set changed {}
set removed {}
foreach order $orderList {
set ticket [ lindex $order 0 ]
set known($ticket) $order
if { ! [ info exists Orders($ticket) ] } {
# новый тикет
# добавить в список свежесозданных
lappend created $ticket
set Orders($ticket) $order
continue
}
if { $Orders($ticket) != $order } {
# что-то поменялось
# добавить в список изменённых
set Orders($ticket) $order
lappend changed $ticket
}
}
foreach ticket [ array names Orders ] {
if { ! [ info exists known($ticket) ] } {
# прежнего ордера нет в новом списке - значит удалён
lappend removed $ticket
unset Orders($ticket)
}
}
# обновить грфику :-)
foreach ticket $removed {
my OnRemoveOrder $ticket
}
foreach ticket $changed {
my OnChangeOrder $ticket
}
foreach ticket $created {
my OnCreateOrder $ticket
}
return [ list $created $changed $removed ]
}
tutto è molto compatto.
È possibile utilizzare i punti di forza di entrambi i linguaggi - MQL è vicino all'ambiente di trading e conta rapidamente negli array,
Tcl può facilmente gestire liste e hash.
MQL implementa un duro algoritmo di trading mentre gli script gestiscono l'interazione con il mondo e l'utente.
L'archivio è allegato.
Uno script per esportare le citazioni in Excel
Ho fatto un breve script per esportare le citazioni direttamente in Excel.
Senza alcuna voce in CSV o alcun parametro - basta gettarlo sul grafico, il foglio Excel si aprirà e tutte le citazioni saranno copiate in esso.
Ho commentato il testo il più possibile e l'ho allegato. Ho fornito i dettagli dello script sul mio sito web http://nektomk.ru/atcl:ratestoexcel.
Il volume va al di là del forum, per cui ecco. Forse quando sarò in vena lo duplicherò nel blog locale in modo che l'informazione non sia andata persa di sicuro.
Lo script allegato
PS/ Qualcuno ha un file make per la compilazione batch di mql? che cambierà un mqh, spingerà make e ricostruirà un mucchio di mq4 che sono elencati nelle dipendenze...
aggiornato/ duplicato l'articolo sul blog locale https://www.mql5.com/ru/blogs/post/718304 - ora probabilmente non andrà viaIl mailer funziona, ma ha ancora bisogno di altro lavoro...
Nel frattempo, una domanda per le persone - il GUI-Builder sarà richiesto?
per Tk, ci sono, ma a causa del fatto che gli script in testo scrivono più velocemente che in disegno, sono poco richiesti.
qualcosa del genere:
PS/ il risultato di tale GUI-builder può essere avviato da MT4...
il mailer funziona, ma ha ancora bisogno di altro lavoro...
ma nel frattempo una domanda per la gente - ci sarà una richiesta di GUI-Builder?
per Tk lo sono, ma a causa del fatto che gli script sono più veloci da scrivere in testo che in disegno non sono molto richiesti.
qualcosa del genere:
PS/ il risultato di un tale GUI-builder e ora con l'aiuto di "tale e tale madre" può essere avviato da MT4...
Che roba interessante... solo come applicarli?
Ah, ho un'idea per le interfacce grafiche - creare una logica di trading come un albero decisionale! Cioè, creare un albero nell'editor grafico (cioè la shell) e usare un pulsante per convertirlo in regole semplici, o anche direttamente in codice! Tuttavia, le regole possono anche essere lette nel codice in modo molto compatto.
Perché ne abbiamo bisogno? Questo approccio permette di dettagliare la strategia di trading, per esempio, possiamo facilmente dividerla in serie temporali - non solo decidendo se commerciare o meno, ma anche se commerciare in questo tempo e in questo tempo in modo diverso. I segni di un cambiamento di tattica sono molti e vari, ma non è molto conveniente scriverlo nel codice e in secondo luogo, è difficile da leggere visivamente - si possono fare molti errori.
Sei interessato a un'idea del genere per applicare il tuo talento?
Che roba interessante... ma come applicarli?
Ah, ho un'idea per le interfacce grafiche - creare una logica di trading come un albero decisionale! Cioè creiamo un albero nell'editor grafico (cioè la shell) e usiamo un pulsante per convertirlo in regole semplici o anche direttamente in codice! Tuttavia, le regole possono anche essere lette nel codice in modo molto compatto.
Perché ne abbiamo bisogno? Questo approccio permette di dettagliare la strategia di trading, per esempio, possiamo facilmente dividerla in serie temporali - non solo decidendo se commerciare o meno, ma anche se commerciare in questo tempo e in questo tempo in modo diverso. I segni di un cambiamento di tattica sono molti e vari, ma non è molto conveniente scriverlo nel codice e in secondo luogo, è difficile da leggere visivamente - si possono fare molti errori.
Ti interessa un'idea del genere per un'applicazione dei tuoi talenti?
Non capisco l'idea di un "albero decisionale grafico". :-) forse il tuo talento non è sufficiente :-)
Non capisco affatto l'idea dell'"albero decisionale grafico". :-) forse non hai abbastanza talento :-)
Immaginate una tabella di dati con una serie di regole
Queste regole sono disposte nel codice nel modo seguente
Se un valore della regola e un valore calcolato (valore dell'indicatore/tempo/altro modello) coincidono, allora viene eseguita un'azione di trading, per esempio.
Questo metodo di decisioni di trading è molto compatto e versatile - possiamo codificare in modo così semplice, per esempio, molte strategie - dando loro diversi simboli magici.
Ma la fregatura è che abbiamo bisogno proprio dell'ambiente per questo stile di programmazione. Questo ambiente dovrebbe assomigliare a un albero decisionale (un diagramma a blocchi primitivo) dove possiamo creare blocchi (risultato del calcolo per esempioarr_iDelta_Max_D1 con valori predefiniti (1,2,3,4 ...n) e/o con possibilità di limitare i valori da e verso, creando molti gruppi diversi in questo modo), da questo blocco si dirama per ogni valore della variabile o intervallo di valori della variabile, e così via fino al blocco successivo e così via. Così, avremo un insieme di regole, ognuna delle quali, tra l'altro, non deve usare tutti i blocchi.
Questo ti fa capire? Se avete bisogno di spiegazioni, chiedete pure.
Presentare una tabella di dati con una serie di regole
Queste regole sono codificate come segue
Se abbiamo una coincidenza tra i valori delle regole e i valori calcolati (valore dell'indicatore/tempo/altro schema), allora, per esempio, viene eseguita un'azione di trading.
Questo metodo di decisioni di trading è molto compatto e versatile - possiamo codificare in modo così semplice, per esempio, molte strategie - dando loro diversi simboli magici.
Ma la fregatura è che abbiamo bisogno proprio dell'ambiente per questo stile di programmazione. Questo ambiente dovrebbe assomigliare a un albero decisionale (un diagramma a blocchi primitivo) dove possiamo creare blocchi (risultato del calcolo per esempioarr_iDelta_Max_D1 con valori predefiniti (1,2,3,4 ...n) e/o con possibilità di limitare i valori da e verso, creando molti gruppi diversi in questo modo), da questo blocco si dirama per ogni valore della variabile o intervallo di valori della variabile, e così via fino al blocco successivo e così via. Così, avremo un insieme di regole, ognuna delle quali, tra l'altro, non deve usare tutti i blocchi.
Questo ti fa capire? Se avete bisogno di spiegazioni, chiedete pure.
L'ho visto in tcl - un ambiente in cui collegano i blocchi con le frecce... è così che hanno programmato l'elaborazione del suono/video/grafica. http://wiki.tcl.tk/8565 sembra essere un sacco di roba, hanno anche bloccato Maxima in qualche blocco
Se lo è - presterà molta attenzione
Come Xcos (http://www.scilab.org/en/scilab/features/xcos) e simili alla moda nelle simulazioni?
L'ho visto in tcl - ambiente in cui collegano i blocchi con delle frecce... è così che hanno programmato l'elaborazione audio/video/grafica. http://wiki.tcl.tk/8565 sembra essere un sacco di cose, hanno anche infilato Maxima in qualche blocco
Se lo è - presterà molta attenzione
Sì, questo è l'approccio! La cosa principale è non complicare le cose, e fare un interprete corretto, in modo che tutti i blocchi siano raccolti in una linea (un ramo), con cui il programma in MQL funzionerà già.
Sì, questo è l'approccio! La cosa principale è non complicare le cose, e fare un interprete corretto, in modo che tutti i blocchi siano raccolti in una linea (un ramo), che funzionerà già con il programma in MQL.
Non credo di voler complicare troppo, per esempio non voglio incasinare il codice bwise.
Al massimo, lo adatterò per usarlo insieme ad ATcl (cioè trasferire i dati da Mql ai suoi ingressi) e prendere le uscite.
Naturalmente, dovrò scrivere qualche HowTo "come disegnare i quadrati e attaccarli a EA". E praticare l'inglese quando si comunica con l'autore(i) :-)