Domande da un "manichino" - pagina 165

 
Karlson:

Non è così difficile rifare questo.

https://www.mql5.com/ru/code/470

Grazie!)

È la cosa giusta da fare.

Quando lo rifai, cominci a capire.

 
Una domanda di follow-up. Qual è la differenza tra un numero d'ordine e un biglietto? Come si fa la numerazione dell'uno e dell'altro? Cosa inizia con 1 e cosa con 0? I biglietti sono numerati in ordine o no?
 
kPVT:

Non c'è niente di sbagliato negli indicatori. È possibile conoscere il numero e quali indicatori sono sul grafico, mettere un indicatore o eliminare un indicatore dal grafico.

Tuttavia, per gli Expert Advisor e gli script non è implementato, solo l'arresto del funzionamento dell'Expert Advisor chiamando ExpertRemove() dall'EA stesso.

Sembra che ci sia davvero solo fnctional sugli indici (anche se non ho controllato fino alla fine).

Ho guardato in MQL4, c'è una funzione lì.

string WindowExpertName()
Возвращает имя выполняющегося эксперта, скрипта, пользовательского индикатора или библиотеки, в зависимости от того,
из какой MQL4-программы вызвана данная функция.
Ho suggerito agli sviluppatori di aggiungere la funzionalità necessaria alle informazioni del grafico e in modo tale che sia possibile ottenere l'ifna da qualsiasi grafico.
 

Dato che solo un EA può lavorare in un grafico, questa informazione non è stata probabilmente creata solo per la determinazione degli indicatori.

Ma è davvero possibile ottenere informazioni da altri grafici, se qualcuno ne ha bisogno.

 
Karlson:

Dato che solo un EA può lavorare in un grafico, questa informazione non è stata probabilmente creata solo per la determinazione degli indicatori.

Ma è davvero possibile ottenere informazioni da altri grafici, se qualcuno ne ha bisogno.

Posso ancora prenderlo con le stampelle, ma non sono riuscito a trovare la funzionalità standard.
 

Ho scoperto che l'indicatore può ottenere il suo nome breve da se stesso, ma la sua maniglia no e probabilmente è causato da qualcosa.

Questo è il motivo per cui se fai un loop attraverso tutti i grafici e le finestre dell'indicatore, raggiungerai "se stesso" e rimarrai bloccato se non trovi un workaround.

Naturalmente puoi farlo in uno script o in un Expert Advisor, ma io ho dovuto farlo in un indicatore.

Ma non è questa la cosa principale, mi è appena venuta in mente un'altra volta:

- sarebbe bene avere uno speciale "grafico" vuoto nel terminale senza simbolo e periodo e altri dintorni, ma sul quale si può anche lanciare un indicatore/script/esperto.

Una specie di scheda per vari pannelli e altri comandi/controlli per altri grafici e programmi convenzionali.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Свойства пользовательских индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Свойства пользовательских индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Свойства пользовательских индикаторов - Документация по MQL5
 
kPVT:

Ma non è questo il punto principale, solo un pensiero di nuovo:

- Sarebbe bello avere uno speciale "grafico" vuoto nel terminale senza simbolo e periodo e altri dintorni, ma sul quale un indicatore/script/esperto può anche essere lanciato.

Una specie di scheda per i vari pannelli e altri comandi/controlli di altri grafici e programmi convenzionali.

Che Allah ti ascolti, Renat.

Penso che questa idea (per niente nuova) dovrebbe essere promossa attivamente, e in un contesto molto più ampio, cioè:

  • Abbiamo bisogno di diversi tipi di grandi finestre (il grafico standard è solo una delle opzioni). Vuoto - per gli esperti, forse un foglio di calcolo, una finestra del browser, e naturalmente diversi tipi di grafici ancora (renko-kagi, tick chart, ecc.).
  • Gli esperti e gli script dovrebbero essere separati dai grafici, la finestra del navigatore ha una scheda speciale (mql-Space) con una tabella ad albero dei programmi mql in esecuzione, che sarebbe il punto di ancoraggio principale per gli esperti. Il legame con un grafico specifico è possibile (opzionale), ma non obbligatorio. Nel terminale multivaluta il legame a un simbolo specifico (e al grafico) non è troppo assurdo solo per gli indicatori.

Purtroppo, sono pienamente consapevole che questo non sarà implementato in MT5 (con il 99,9% di fiducia). L'architettura del terminale, nelle sue fondamenta, non permette facili aggiornamenti e nemmeno un'espansione in questo particolare aspetto. Ma lo sviluppo del sistema non finirà con MT5, e quando si troverà MT6 (e forse il processo è già in corso), dobbiamo fare in modo che gli sviluppatori implementino architettonicamente esattamente questo schema, invece di ereditare il solito semplificato ("un grafico - un Expert Advisor", "ogni scheda della finestra principale = grafico", ecc.)

Ci sono difficoltà private nell'implementazione di una tale architettura, ma non sono fondamentali e non possono essere superate. Ma la facilità d'uso vincerà per ordini di grandezza. Alla fine, gli sviluppatori otterranno anche un po' di conforto - per esempio, specifici tipi di finestre possono essere introdotti per gradi e gradualmente, senza grande stress a livello architettonico.

Amen.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Отображение графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Отображение графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Отображение графиков - Документация по MQL5
 
MetaDriver:

Che Allah ti ascolti, Renat.

Credo che questa idea (per niente nuova) dovrebbe essere promossa attivamente, e in un contesto molto più ampio, cioè:

  • Abbiamo bisogno di diversi tipi di grandi finestre (il grafico standard è solo un'opzione). Vuoto - per gli esperti, forse un foglio di calcolo, una finestra del browser, e naturalmente diversi tipi di grafici ancora (renko-kagi, tick chart, ecc.).
  • Gli esperti e gli script dovrebbero essere separati dai grafici, la finestra del navigatore ha una scheda speciale (mql-Space) con una tabella ad albero dei programmi mql in esecuzione, che sarebbe il punto di ancoraggio principale per gli esperti. Il legame con un grafico specifico è possibile (opzionale), ma non obbligatorio. Nel terminale multivaluta il legame a un simbolo specifico (e al grafico) non è troppo assurdo solo per gli indicatori.

Purtroppo, sono pienamente consapevole che questo non sarà implementato in MT5 (con il 99,9% di fiducia). L'architettura del terminale, nelle sue fondamenta, non permette facili aggiornamenti e nemmeno un'espansione in questo particolare aspetto. Ma lo sviluppo del sistema non finirà con MT5, e quando si troverà MT6 (e forse il processo è già in corso), dobbiamo fare in modo che gli sviluppatori implementino architettonicamente esattamente questo schema, invece di ereditare il solito semplificato ("un grafico - un Expert Advisor", "ogni scheda della finestra principale = grafico", ecc.)

Ci sono difficoltà private nell'implementazione di una tale architettura, ma non sono fondamentali e non possono essere superate. Ma la facilità d'uso vincerà per ordini di grandezza. Alla fine, gli sviluppatori otterranno anche un po' di conforto - per esempio, specifici tipi di finestre possono essere introdotti per gradi e gradualmente, senza grande stress a livello architettonico.

Amen.


Cosa c'è di così triste?

Fai un grafico falso e voilà i ruscelli si trasformano in pantaloncini eleganti, o lunghi :) Scusa il gioco di parole.

 
Urain:

Cosa c'è di così triste?

Un grafico falso è fatto e voilà, i ruscelli si trasformano in eleganti pantaloncini, o longs :) scusate il gioco di parole.

Sfortunatamente, mql5 non può rimuovere una divertente scritta "USDZAR" da un'etichetta "pseudo-chart" e sostituirla con, per esempio, "Hello UrainSpreadSheat", e non può nemmeno dipingere sopra l'etichetta. Non è possibile mettere su un grafico falso cinque "background" Expert Advisors, che sono sempre necessari in tutti i grafici (come orologio, pannelli di trading, ecc). Quindi... conosci i limiti dell'attuale implementazione, non importa quanto ti sforzi. E poi, il secondo punto (staccare gli EA dai simboli) è altrettanto importante, e nessuno lo farà nell'implementazione attuale.
 

Cosa c'è di sbagliato nel codice. Perché continuano ad apparire gli errori"failed cancel order #0 buy 0.00 at market [Invalid request]"?


   MqlTradeRequest order_remove_mql_trade_request = {0};
   order_remove_mql_trade_request.action = TRADE_ACTION_REMOVE;

   i = OrdersTotal();
   if(i > 0){
      if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY){
         for(i2 = 0;i2 <= i;i2++){
            ul = OrderGetTicket(i2);
            OrderSelect(ul);
            if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_LIMIT){
               order_remove_mql_trade_request.order = ul;
               OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}
      if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL){
         for(i2 = 0;i2 <= i;i2++){
            ul = OrderGetTicket(i2);
            OrderSelect(ul);
            if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_LIMIT){
               order_remove_mql_trade_request.order = ul;
               OrderSend(order_remove_mql_trade_request,mql_trade_result);}}}}

Motivazione: