L'arrivo di una nuova generazione di software di trading. Come dovrebbe essere l'interfaccia EA? - pagina 13

 
Yury Kulikov:

Penso che dovremmo iniziare con l'Esperto. Ho dato tre tipi di compiti che sono rilevanti per l'esperto, ma risulta che non sono fattibili nella vostra interfaccia.

Cosa potrebbe aiutare? Forse un'integrazione più profonda, o limitare il progetto al "controllo remoto".

Non ho detto che questi compiti non sono fattibili nella mia interfaccia). Intendevo dire che le tecnologie basate su OOP non possono essere integrate nel mio codice, a causa dell'incompatibilità degli approcci. Dovrò implementare questi compiti da solo, dopo che le cose di base (la massima priorità) sono state fatte.
 

la tua energia in scopi pacifici :-)

Naturalmente, capisco che lo sviluppo di librerie GUI è un'attività creativa e per certi versi anche gratificante (si scrive codice, si disegnano finestre, si vede il risultato). Ma è un tale vicolo cieco e tanto tempo sprecato...

In breve, come si aggancia una GUI alternativa a MT:

- viene scritta una DLL che:

- alla prima chiamata crea una traccia separata e inizializza il sottosistema grafico

- per ogni utente due code di messaggi - da MT a GUI e viceversa.

- viene creata una classe MQ4/5 che fondamentalmente elabora/filtra i messaggi in queste code e li sposta avanti e indietro dal СhartEvent

- un'API opzionale per condividere le strutture e sincronizzare gli array

In questo modo ci si può agganciare praticamente a qualsiasi sistema moderno:

- puoi usare Dotnet con le sue winforms e otherShare (c'era un articolo da qualche parte sulla risorsa su come agganciare il codice del gestore e fare una dll in C#)

- gtk e design in glade https://glade.gnome.org/

- Qt con il suo designer https://www.qt.io/ui/

- si può anche eseguire un server http con alcune restrizioni :-)

L'architettura "giusta" risulta essere - la GUI esplorabile vive in un thread separato e non rallenta gli EAs/indicatori. La GUI è progettata e disegnata da "persone appositamente addestrate" :-) Expert Advisor/indicatore è praticamente un "modello" (come in MVC e simili).

Glade - A User Interface Designer
  • glade.gnome.org
Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment. The user interfaces designed in Glade are saved as XML, and by using the GtkBuilder GTK+ object these can be loaded by applications dynamically as needed. By using GtkBuilder, Glade XML files can be used in...
 
Реter Konow:
Non ho detto che questi compiti non sono fattibili nella mia interfaccia). Intendevo dire che le tecnologie basate su OOP non possono essere integrate nel mio codice, a causa dell'incompatibilità degli approcci. Dovrò implementare questi compiti da solo, dopo aver finito di implementare le cose di base (la priorità più alta).

L'OOP non c'entra niente. Naturalmente, è possibile passare stringhe ed eventi attraverso variabili globali, ma questo è un caso speciale, ma non per un progetto su larga scala, inoltre, sostenendo di essere "una nuova generazione di programmi di trading".

 
Maxim Kuznetsov:

la vostra energia per scopi pacifici :-)


I miei obiettivi sono puramente pacifici).

Il suo suggerimento è interessante. Vi suggerisco di provare ad implementarlo.

Personalmente, è abbastanza ovvio per me: preferire le soluzioni degli altri alle proprie è una scelta contro se stessi.

La MT ha un proprio linguaggio. Perché ne avete bisogno quando avete C++ e C#? Perché è stato creato?

Penso che sia stato creato perché quei linguaggi non erano ottimizzati per i compiti degli algotraders. Avevano bisogno di un linguaggio specializzato e applicato.

Agli utenti non importa come creare un'interfaccia, basta che si possa fare facilmente. Creare un'interfaccia, come suggerisci tu, può essere creato solo da un professionista serio, mentre per gli altri è a volte difficile utilizzare la libreria standard MT, per non parlare dei diversi collegamenti di programmi di terze parti tramite DLL.

Se sviluppassi la tua versione, non sarei in grado di diffonderla nella comunità, mentre come sai la DLL può essere usata principalmente per me stesso. E che bene farebbe questa soluzione agli altri?

La tua soluzione è possibile, ma non può essere distribuita su larga scala.

 
Yury Kulikov:

L'OOP non c'entra niente. Naturalmente, è possibile passare stringhe ed eventi attraverso variabili globali, ma questo è un caso speciale, ma non per un progetto su larga scala, inoltre, sostenendo di essere "una nuova generazione di programmi di trading".

Purtroppo, non posso trarre alcuna costruttività dalla vostra critica e rivolgerla alla mia attività. Forse non ho capito bene il suo messaggio...
 

Amici, sto tornando a lavorare su un progetto che si è bloccato un po' mentre sono occupato a chiacchierare sul forum. Periodicamente posterò qui i progressi del mio sviluppo e risponderò a tutti.

Se avete pensieri, idee o suggerimenti per l'interfaccia dei futuri EA, sentitevi liberi di scrivere.

Grazie.

 
Реter Konow:

Tuttavia, difficoltà come la mancanza di tecnologia, l'assenza di standard comuni, la bassa qualità della grafica creata e altri problemi hanno affrontato i programmatori che hanno preso il rischio di creare un'interfaccia utente del loro robot di trading. È diventato chiaro che è molto più difficile creare un'interfaccia utente completa per gli MT, che codificare la logica di trading, scrivere algoritmi di raccolta delle statistiche o implementare il riconoscimento dei pattern in una strategia. Sono queste difficoltà che sono diventate un ostacolo per la transizione del trading algoritmico verso un nuovo livello di trading algoritmico, dove si espande notevolmente l'area di necessaria interazione tra uomo e programma, che aumenta l'efficacia del trading e sblocca il potenziale delle idee più originali. L'area di interazione, che permette di compensare gli svantaggi del programma di "ferro" legato agli algoritmi, dalla flessibilità del pensiero umano.

Ora gli EA sono come i tram che corrono rigorosamente su rotaie, e gli utenti non conoscono gli altri, ma immaginate se gli EA diventano come le automobili, con la possibilità di sterzare in qualsiasi direzione? Con tali "macchine" ci si può sentire molto più sicuri sul mercato...

Buon pomeriggio a tutti.

Molto ben scritto sul nuovo livello di trading algoritmico. Il fatto - un'interfaccia moderna per il trading è una cosa molto necessaria. Come crearlo è una domanda a parte. Noi, per esempio, abbiamo statistiche in diretta sul nostro sito. Ma è possibile se il robot è legato a una risorsa esterna e l'UI è implementata lì. Non abbiamo cercato di usare l'infografica su MT e l'abbiamo creata dove è conveniente. Inoltre, un normale trader sa come usare un browser, e qualsiasi nuova interfaccia deve ancora imparare e abituarsi. Per gli utenti le statistiche individuali sono in arrivo, presto ci sarà molto di più.

Ma per quanto riguarda il tram: dove si sterza? Cosa vuoi dire? La nostra esperienza ha dimostrato che i robot scritti, testati e messi a punto che attraversano il mercato delle valute "come i tram" sono più sicuri ed efficaci di quando i trader guidano. Tornando al tram - capire quale percorso fa è importante. Ma se il punto finale è lo stesso - che senso ha una macchina? La probabilità di un incidente è molte volte maggiore. Sono proprio quelli che cercano di "pilotare" che ci causano problemi.

 
Реter Konow:
È fantastico! Anche a me piacerebbe. Tuttavia, l'intelligenza artificiale potrebbe diventare avida e prendersi una percentuale di profitto in tasca, o mandare in bancarotta il proprietario per motivi di animosità personale)).
Tutto quello che serve è un grande pulsante "get paid" sullo schermo e i verdi uscirebbero subito dal DVD))
 
Algorithmfx Algorithmfx:

Buon pomeriggio a tutti.

Molto ben scritto sul nuovo livello di trading algoritmico. Il fatto è che un'interfaccia moderna per il trading è una cosa molto necessaria. Come crearne uno è una domanda a parte. Noi, per esempio, abbiamo statistiche in diretta sul nostro sito. Ma è possibile se il robot è legato a una risorsa esterna e l'UI è implementata lì. Non abbiamo cercato di usare l'infografica su MT e l'abbiamo creata dove è conveniente. Inoltre, un normale trader sa come usare un browser, e qualsiasi nuova interfaccia deve ancora imparare e abituarsi. Per gli utenti le statistiche individuali sono in arrivo, molto di più è in arrivo.

Ma per quanto riguarda il tram: dove si sterza? Cosa vuoi dire? La nostra esperienza ha dimostrato che i robot scritti, testati e sintonizzati che attraversano il mercato delle valute "come i tram" sono più sicuri ed efficaci di quando i trader guidano. Tornando al tram - capire quale percorso fa è importante. Ma se il punto finale è lo stesso - che senso ha una macchina? La probabilità di un incidente è molte volte maggiore. Sono proprio quelli che cercano di "pilotare" che ci causano problemi.

Pomeriggio.

L'essenza del mio concetto di consulenti del futuro (lavorando per MT), si basa sulla convinzione che è necessario collegare e centralizzare tutto il necessario, all'interno di un unico programma.

Sono convinto che la massima efficienza di qualsiasi programma sta proprio nella sua centralizzazione e versatilità. Combinando il numero massimo di caratteristiche rilevanti e tagliando tutto il superfluo, si può migliorare qualitativamente l'efficienza di qualsiasi meccanismo, compreso l'EA. Al momento, la maggior parte delle varianti proposte di robot di trading si concentrano sui tentativi di collegare linguaggi e risorse incompatibili in modi diversi. Suggeriscono di usare DLL esterne, interfacce costruite in visual studios, diversi servizi statistici, ecc. Dovrei notare che il compito di aumentare la capacità del robot di trading può essere risolto in questo modo, ma è ovvio - questa soluzione è scomoda e non adatta a tutti.

Fino a quando ogni persona, anche un algotrader non molto abile, non sarà in grado autonomamente (o con l'aiuto di qualcun altro) senza grandi spese di costruire un robot di trading che vuole utilizzare, e fino a quando non sarà più costretto a rivolgersi a risorse esterne cercando di risolvere i compiti più complicati di integrazione e riparazione, i robot di trading non salteranno ad un nuovo livello. Questa è la mia convinzione.

Le statistiche esterne e le statistiche all'interno di un robot sono cose fondamentalmente diverse. Nel primo caso solo l'utente può monitorare le statistiche e reimpostare alcuni parametri della sua strategia, nel secondo caso le statistiche di trading possono essere analizzate dall'Expert Advisor in tempo reale, permettendo al robot stesso di regolare le sue impostazioni. È possibile scrivere algoritmi per correggere le impostazioni della strategia di trading, con la possibilità di sostituire completamente la strategia a valori statistici bassi. Il potenziale di sviluppo di questa idea è ovvio. Questo è ciò che intendevo per "sterzo", che è disponibile per un'auto e non per un tram.

Un'opzione in cui l'EA si trova su una piattaforma, la sua interfaccia è su un'altra, e le statistiche sono su una terza, non ha un bell'aspetto in termini di meccanismo ideale che ognuno vuole che sia il suo EA. ))

 
Alexey Volchanskiy:
Tutto quello che serve è un grande pulsante "get paid" sullo schermo, e i verdi escono direttamente dal DVD )).
Abbiamo già avuto una discussione qui su un tale pulsante. L'argomento è molto popolare e richiede un ramo speciale).
Motivazione: