Il grande e terribile MT4 per sempre (o come strategizzare una transizione) - pagina 22

 
Igor Makanu:

è tutta una questione di conti di testa.

circa le stampelle attese - ho 2021, mi aspetto il software più user-friendly, come esempio - lo stesso Python, che permette all'utente di scrivere il suo codice nel modo più conciso possibile e ottenere un risultato pronto, quindi rapidamente "decollato" - la gente non vuole scrivere un lungo codice per la propria auto-soddisfazione, ma vuole nel più breve tempo possibile per risolvere i loro "desideri

ZS: ricordate le dita dei piedi e le orecchie? ... - Immaginate che vi sia stato dato Win 111, tutto è grande, ma ora il layout della tastiera deve essere cambiato premendo il pulsante di accensione sulla tastiera, capisco che i fanatici si attorciglino e mettano i pollici sul pulsante desiderato della tastiera

Ehhh. Ci sono stati momenti in cui la gente gongolava su MT4, dicendo che non aveva abbastanza controllo, e che gli sviluppatori avevano bisogno di più controllo e hanno dato loro accesso da MQL. Una volta che gliel'hanno data, le cose si sono messe molto male per loro. Anche se tutti i controlli e le aspettative erano precedentemente nascosti agli occhi degli utenti. Dopotutto, il ticket di posizione aperta ritorna in MT4. Questo suggerisce che tutta la sincronizzazione con l'ambiente di trading è semplicemente nascosta dagli occhi e dalle penne birichine degli utenti:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Così la gente ha chiesto l'accesso alla scatola nera e l'ha ottenuto.
Ora devi fare la sincronizzazione da solo. Chiesto? Chiesto. L'hanno fatto? L'hanno fatto. È buono? Hanno detto che sarebbe stato bello. Dopo che è stato dato - è diventato cattivo.

Scartiamo tutto ciò che è stato nascosto nelle funzioni standard di MQL4 e vediamo, è davvero così semplice, ed è stato tutto implementato da due magiche linee di codice? Non credo...

Pertanto, il paragone è del tutto scorretto. Se si espande il codice MQL di tutto ciò che è all'interno delle funzioni di trading standard in MT4, e si confrontano i volumi di codice, avendo prima portato ciò che si vede nella scatola nera a MT5. Allora il confronto sarà corretto.

Questo è ciò che riguarda stampelle e roba per MT5, e "ehi che amichevole ed eccitabile-bello MT4" - confrontare correttamente il volume e la logica del codice. Solo un posto è una scatola nera, l'altro è una sua implementazione (come richiesto, ricordate?).

Sulla complessità - sono d'accordo. Sì, è diventato più complicato e più codice da scrivere. Ma come hai letto sopra - hai chiesto e riso che "MQL4 è per le casalinghe, ma siamo cresciuti fuori di loro e vogliono essere seri" ...

Beh, ora la cosa si fa seria.

 
Igor Makanu:

è tutta una questione di conti di testa.

circa le stampelle attese - ho 2021, mi aspetto il software più user-friendly, come esempio - lo stesso Python, che permette all'utente di scrivere il suo codice nel modo più conciso possibile e ottenere un risultato pronto, quindi rapidamente "decollato" - la gente non vuole scrivere un lungo codice per la propria auto-soddisfazione, ma vuole nel più breve tempo possibile per risolvere i loro "desideri

ZS: ricordi le dita dei piedi e le orecchie? ... - Immaginate che vi è stato dato un Win 111, quindi tutto è grande, ma il layout della tastiera ora bisogno di passare premendo il pulsante di accensione del sistema, capisco che sono particolarmente fanatico torsione e sarà pollice loro piedi per premere il sacro pulsante sul sistema

Data l'enfasi, penso che questo sia diretto a me.

Anch'io sto parlando dei conti di copertura. Non sono affatto contrario all'accelerazione, ma se la velocità di internet non corrisponde alla velocità della CPU, allora di quale accelerazione possiamo parlare? Ti rendi conto che l'apertura di una posizione avviene sul server, e non è detto che l'apertura debba essere senza errori. E la velocità di risposta a OrderSend() dipende direttamente dalla velocità di Internet... Quindi, MT4 ha tutto dentro, finché non si riceve una risposta dal server, la continuazione non avverrà. E solo dopo aver ricevuto un biglietto o un numero di errore si saprà tutto. E questo ordine è fissato per tutti. Di conseguenza, la velocità di esecuzione non è di alto livello.

Ora MT5 ha una tattica diversa ... Il programmatore deve controllare se è stato eseguito o meno ... se vuoi, devi controllare, ma se non vuoi, otterrai una maggiore velocità. Ma tu, per qualche ragione, non vuoi capire questo e ti risenti di dover controllare e invece di controllare stai cercando di trovare il tempo di ritardo.

Cosa c'entra questo con il rettilianismo? Scrivere software amichevole in MQL5, mentre Python non è stato creato per essere scritto in esso e buttare via MQL5... Questo è quello che penso.

 

Personalmente ho partecipato centocinquanta volte, non c'è niente che mi convinca, conosco i pro di ogni piattaforma da molto tempo.

Non mi interessa la sua attuazione:

posizioni aperte su un conto vuoto alla fine dell'esecuzione dello script. È permesso chiudere alcune posizioni da qualsiasi terminale durante l'esecuzione dello script. Questo "intervento" è necessario solo per evitare decisioni stupide.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Il grande e terribile MT4 per sempre (o come costruire una strategia di migrazione intelligente)

fxsaber, 2021.05.08 18:54

Ho bisogno di scrivere uno script su MT5 che apra 100 posizioni su un conto vuoto.


Su MT4 ho risolto in questo modo.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Chi ha una soluzione su MT5?



 
Igor Makanu:

Personalmente ho partecipato centocinquanta volte, non c'è niente che mi convinca, conosco i pro di ogni piattaforma da molto tempo.

Mi interessa la realizzazione del soggetto:

Sapete a cosa serve questo suggerimento:

Ho bisogno di scrivere uno script su una MT5 che apra 100 posizioni su un conto vuoto.

Su MT4 ho risolto in questo modo.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

Chi ha la soluzione su MT5?

Se volessi mostrare quanto sia disgustoso MQL5 (perché ho bisogno di scrivere lì ciò che è già scritto in MQL4 dentro OrderSend())

Così i nuovi ignoranti che non capiscono l'essenza della semplicità di MQL4 diranno quanto sia brutto MQL5 - invece di due linee di codice [1. Voglio una posizione aperta 100 volte. 2. Buona - tenuta], dovranno scrivere i propri controlli dopo ogni "voglio" e prima di "buona tenuta", nascosti all'utente nel primo caso, e ampliati nel codice MQL nel secondo. Questa è una manipolazione del tipo più puro.

Molto probabilmente a causa dell'inghippo nella domanda nessuno prenderà una decisione pubblica in questo thread - molte persone capiscono il punto di questo trash-talk - per mostrare il felice-perfetto MQL4 e il complicato-moot-core MQL5. Sarò felice di sbagliarmi. Ma la formulazione della domanda dice molto.

 
Artyom Trishkin:

Scartiamo tutto ciò che è nascosto nelle funzioni standard di MQL4 e vediamo se è così semplice, e se è tutto fatto con due magiche linee di codice. Non credo...

Non si può avere una situazione come in MT5 dal punto di vista architettonico. Non all'esterno, ma all'interno. Poiché non c'è una nozione di ordine/scambio/posizione in MT5 all'interno (non quello che si vede all'esterno). Cioè l'interno di MT4 è molto più semplice delle viscere di MT5.

Le voci doppie non sono un problema di MT5, ma un bug architettonico dove le funzioni Total()- mostrano falsi positivi. E quando un ordine che apre una posizione (completamente riempito) viene piazzato insieme alla sua posizione. Tutto sommato, solo le stampelle risolvono tutto. E sembra che tutte le stampelle siano ora disponibili per intero.

 

Artyom Trishkin:

... Questa è manipolazione pura e semplice.

Non capisco le ragioni ...

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Come usare MT4 per bene (o come creare una strategia di migrazione)

Alexey Viktorov, 2021.05.09 09:15

Se non sei sicuro della strategia corretta che hai creato per MQL5 e MQL4, hai un effetto negativo, vero? Cosa succede se mi collego al mio account da un'altra azienda e piazzo un paio di ordini pendenti, cosa aprirà MQL4?

Vuoi rovinare tutto senza nessun controllo? Stai sostenendo la permissività nella programmazione, o stai solo cercando di diffamare MQL5 per gli interessi egoistici di qualcuno ?

Scrivere lo stesso in mql4 con controlli e a prova di errore.


 
Artyom Trishkin:

Sai a cosa serve questa frase:....

Per mostrare a tutti gli ignoranti quanto sia disgustoso MQL5

Questa è una speculazione, il problema deve essere risolto, se stiamo cercando di pensare come persone tecnicamente alfabetizzate.

Ho provato 5 volte a risolvere questo problema finché non ho capito come farlo in modo ottimale.

 

fxsaber:

...E sembra che tutte le stampelle siano ora completamente disponibili.

Basta non rompersi la testa con queste stampelle.

 
Artyom Trishkin:

Per mostrare a tutti gli ignoranti quanto sia disgustoso MQL5 (perché bisogna scrivere lì quello che è già scritto in OrderSend() in MQL4)

Non si tratta di brevità. Usa la tua biblioteca pubblica di trading per scrivere una soluzione al problema. Stavo chiedendo una soluzione, non valutandola.

Il fatto è che il problema elementare non è stato ancora risolto su MT5. E non mi interessa la lunghezza del codice.


Dato che ci sono persone qui con le loro librerie commerciali, non possono usare le loro soluzioni pronte per scrivere una formulazione così semplice dello script?

 
Igor Makanu:

Ho affrontato questo problema cinque volte finché non ho capito come risolverlo in modo ottimale

Non ho ancora provato lo stile MT4, ma teoricamente dovrebbe funzionare. Non ho ancora avuto la possibilità di guardarlo.