Feedback su MQL5 - pagina 5

 
Sì, grazie! Cercherò di lavorare ....
 

Aggiustatelo, tanto per cominciare:

  • ERR_CHART_NO_REPLY( 4102) [,4003?] problema, initeall'inizio, estremamente dannoso per l'affidabilità dell'EA.
  • Stallo degli ordini nella fase di richiesta prima della fine della sessione. Succede, le richieste funzionano, cioè si aggrappano agli scambi. È impossibile ritirarli. Casi del tutto egregi, si verificano raramente, ma regolarmente.

  • Inoltre, una volta il mio terminale ha miracolosamente perso una posizione. Bene, questa volta l'autostart del robot era disabilitato, altrimenti la posizione opposta sarebbe stata liquidata, ecc. Il sistema è l'arbitraggio. L'ho notato per caso e ho chiamato [open-]broker, e una specie di interruttore ha girato e la posizione è apparsa.
  • Un'altra situazione spiacevole è quando i prezzi sul mercato partono su una bassa liquidità, e l'equità viene calcolata dal prezzo di apertura della posizione (che cambia ogni giorno in compensazione), al prezzo dell'ultimo affare di una settimana fa, che è a grande distanza dalle "bestie" reali. Cioè il risultato è pervertito al contrario. Così, una perdita sostanziale (profitto) cresce sulla posa, che non riflette effettivamente la realtà ed è immaginaria. Per esempio, su MIX-3.16 questo divario è ora di 6000-10000r per contratto. Supponiamo che queste metamorfosi causino il prelievo del 15% nel conto oggi e del 30% domani, e cosa succede il primo giovedì di agosto? Chiamata di margine? Solo a causa della totale mancanza di accordi sullo strumento? Non ho specificato come viene fatto questo calcolo nello scambio, ma su altre piattaforme questo problema non si è verificato. Ora non li uso, quindi non posso controllare.

Questa è solo la prima cosa che mi è venuta in mente. Ci sono un sacco di "piccole cose" come questa.

Gli sviluppatori hanno bisogno di capire da tempo - se annunciate un terminale azionario, usate un concetto appropriato. A cosa serve mettere una copia di una macchina da cucina "riscritta da zero" sulle stampelle...

Il focus avrebbe dovuto essere sugli strumenti finanziari scambiati in borsa a bassa liquidità fin dall'inizio. Quelli liquidi si inserirebbero nel sistema stesso.

Allora il mercato sarebbe umano,

e ci sarebbe un posto per la "Tabella dei parametri attuali" tradizionale per tutte le piattaforme,

e l'atteggiamento verso il trading con ordini limite prenderebbe il suo giusto posto,

e, forse, invece di inutili serie storiche (spread massimo, volume in tick) avremmo ASK/BID complete per un periodo.

In breve, la rivoluzione non è avvenuta, e i parassiti con stupidi consigli sono stati sconfitti. Lunga vita al re! ...cucina.

 
1150 vinda 8.1 pro 64x

Broker modalità demo ha 719 strumenti per il commercio, circa 650 disabilitato

quando si specifica nella panoramica del mercato "Mostra tutti" dopo il caricamento di tutti i 719 terminale rallenta e freesit ... (c'è un ritardo tra il comando click o la pressione del tasto) e la sua esecuzione 1-4 secondi ...

Perplesso, il codice scritto per mt4 e riportato quasi senza modifiche in mt5, funziona dieci volte più lento in mt5

Quando si passa dal forex ai futures, le finestre precedentemente aperte sono sospese e aspettano l'aggiornamento (teoricamente, il primo simbolo dei futures dovrebbe prenderlo o semplicemente chiudersi, ma non sospendersi in attesa di aggiornamento...)

Il lavoro con "Market Watch" non è pensato affatto...

Se cancellate un simbolo con il tasto Del, la finestra diventa inattiva, e per cancellarlo di nuovo con il tasto Del, dovete prima attivare la finestra...

Il funzionamento rapido con gli strumenti di "Market Watch" è estremamente mal concepito...

Per µl5

in µl4 hai aggiunto ObjectsDeleteAll(0, "Prefix"); cancella per prefisso, e in mt5 hai dimenticato?
 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

Broker demo mode ha 719 strumenti da scambiare, circa 650 disabilitati

quando si specifica "Mostra tutto" nella panoramica del mercato dopo aver caricato tutti i 719 il terminale rallenta e si blocca ... (c'è un ritardo tra il comando click o la pressione del tasto) e la sua esecuzione 1-4 secondi ...

Perplesso, il codice scritto per mt4 e trasferito in mt5 quasi senza modifiche, funziona dieci volte più lento in mt5

Quando si passa dal forex ai futures, le finestre precedentemente aperte sono sospese e aspettano l'aggiornamento (teoricamente, il primo simbolo dei futures dovrebbe prenderlo o semplicemente chiudersi, ma non sospendersi in attesa dell'aggiornamento...)

Il lavoro con "Market Watch" non è pensato affatto...

Se cancellate un simbolo con il tasto Del, la finestra diventa inattiva, e per cancellarlo di nuovo con il tasto Del, dovete prima attivare la finestra...

Il lavoro di velocità con gli strumenti in Market Watch non è stato pensato per niente...

Su µl5

in µl4 hai aggiunto ObjectsDeleteAll(0, "Prefix"); cancella per prefisso, ma in mt5 hai dimenticato?


No, non hanno dimenticato. Ma non c'è molta differenza:

ObjectsDeleteAll(0,prefixObj,0,-1);


P./S.: A proposito, e in MT4 funziona con -1 invece di EMPTY.

Per quanto mi riguarda, ho scritto il promemoria in questo modo:

int  ObjectsDeleteAll(
   long    chart_id,           // идентификатор графика
   string  prefix_obj,         // общий префикс в именах объектов  
   int     sub_window=-1,      // индекс окна
   int     type=-1             // ENUM_OBJECT (тип объекта для удаления)
   );
 

Anche il lavoro dello stilista sfida la spiegazione.

è scritto nell'aiuto

Eccezioni alla formattazione interlineare

Le regole dello styler di cui sopra non si applicano in alcuni casi. Questo per assicurare che l'allineamento dell'autore non sia compromesso sulle linee adiacenti. Lo styler riconosce l'interlinea sulla linea adiacente per le seguenti parole chiave e caratteri:

  • "//" - caratteri "C";
  • "{" - parentesi graffa sinistra;
  • "}" - parentesi graffa destra;
  • "return" - operatore di "ritorno";
  • "cancellare" - operatore "delete";
  • "=" - simbolo di uguaglianza;
  • ":" - due punti;
  • "." - punto e virgola.



Lo styler governa ancora il codice come vuole....

 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

La modalità demo del broker ha 719 strumenti da scambiare, circa 650 disabilitati

Quando indico "mostra tutto" nella panoramica del mercato dopo aver caricato tutti i 719, il terminale rallenta e freesit ... (c'è un ritardo tra il comando click o la pressione del tasto) e la sua esecuzione 1-4 secondi ...
Stiamo lavorando su questo, stiamo lavorando per velocizzare molti strumenti attivi. Specificare il nome del server di trading, per favore.


Il codice scritto per mt4 e trasferito quasi invariato in mt5 è decine di volte più lento in mt5.

Dimostralo tecnicamente, per favore.

Si può dire subito che lei è direttamente fuorviante.


Quando si passa dal forex ai futures, le finestre precedentemente aperte sono sospese e aspettano l'aggiornamento (teoricamente dovrebbe prendere il primo simbolo dei futures e visualizzarlo o semplicemente chiuderlo, ma non appeso in attesa di aggiornamento...)

Non confondere il tuo "teoricamente" con "fare sempre". Se sei passato a un altro conto dove il tuo precedente set di strumenti non è disponibile, la strategia migliore è lasciarti decidere da solo cosa fare e cosa cambiare.

Questo non è un errore e non è un problema.


L'operazione con "Market Watch" non è affatto ben pensata...

Se cancellate un simbolo con il tasto Del, la finestra diventa inattiva e dovete prima attivare la finestra per cancellare nuovamente il simbolo con il tasto Del ...
Questo è un piccolo problema di interfaccia, ma lo risolveremo.


Estremamente sconsigliata la gestione della velocità degli strumenti in Market Watch ...

Specificare specificamente cosa non è abbastanza veloce?

C'è la strutturazione degli strumenti, i filtri, l'ordinamento intelligente e l'occultamento di quelli scaduti.


Per µl5

In µl4 hai aggiunto ObjectsDeleteAll(0, "Prefix"); cancella per prefisso, ma in mt5 hai dimenticato?
Questa funzione è apparsa originariamente in MQL5 molti anni fa.
 
Vladimir Pastushak:

Anche il lavoro dello stilista sfida la spiegazione.

è scritto nell'aiuto

Eccezioni alla formattazione interlineare

Le regole di sostituzione dello styler di cui sopra non si applicano in alcuni casi.


Lo styler governa ancora il codice come vuole....

La descrizione delle regole dello styler non può essere inserita in poche righe di testo fittizio.

Lo formatta nel modo in cui vogliamo che lo formatti.

 

Personalmente, l'unica cosa che mi manca al momento sono i puntatori a un array.

In particolare - nella funzione intOnCalculate() otteniamo riferimenti agli array, ma non possiamo salvarli. Invece di salvare i puntatori e usarli all'interno del codice, dobbiamo prima copiare le serie temporali negli array interni e solo dopo usare i puntatori a queste classi.

Penso che sarebbe ragionevole fare la funzione OnCalculate(), che riceve puntatori a oggetti di serie temporali della Libreria Standard.

 

Io leggo, tutti scrivono e non sono troppo pigro per farlo.

Per fare una valutazione sulla velocità del 5-Rka, bisogna prima dire quanti bit di computer, quanta memoria e così via.

Mi piace ancora tutto. Ci sono, ovviamente, delle sfumature, ma fondamentalmente si tratta di aggirare la stessa programmazione. 4-rka non è anche un regalo da alcuni punti di vista....

 
Renat Fatkhullin:

La descrizione delle regole di uno stilista non può essere riassunta in poche righe di narrativa.

E' formato come stabilito da noi.

Sulla styler:

Voglio vedere il codice come l'ho "aggiustato"

   ENUM_OBJECT   GetTYPE(string name)              { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name)        { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name)                       { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике 

Styling:

   ENUM_OBJECT   GetTYPE(string name) { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name) { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name) { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике

Perché una parte del codice è lasciata fuori e un'altra dentro? Sintatticamente ogni linea è la stessa....

Motivazione: