Discussione sull’articolo "Crea i Tuoi Pannelli Grafici in MQL5" - pagina 4

 

L'indicatore ha questa proprietà:

#property indicator_separate_window

Questa proprietà è necessaria affinché l'indicatore si trovi in basso. Beh, sì, è abbastanza chiaro.

Ho bisogno di avere una "barra di dialogo" anche nella finestra principale....

E questo è quanto. Grazie a questa proprietà, qualunque cosa si faccia, qualunque proprietà si definisca, la barra di dialogo sarà nella sottofinestra dell'indicatore. E non sarà mai nella finestra principale.

Ho passato tre giorni a cercare di capire la libreria standard. Ancora non capisco come sia stato possibile creare una tale omissione.

Se mi sbaglio, ditemi dove sbaglio. Per l'amor di Dio, non scrivete che è necessario specificare 0 per le proprietà di finestre e sottofinestre.

Nel frattempo, creerò il mio pannello che funzionerà come dovrebbe.

 
Evgeniy Scherbina libreria standard. Ancora non capisco come sia stato possibile creare una tale omissione.

Se mi sbaglio, ditemi dove sbaglio. Per l'amor di Dio, non scrivete che è necessario specificare 0 per le proprietà di finestre e sottofinestre.

Nel frattempo, creerò il mio pannello che funzionerà come dovrebbe.

analizzare il codice, aggiungere l'opzione m_subwin che definisce il numero della sottofinestra, intercettare gli eventi di "creazione/cancellazione" della sottofinestra per correggere questo caso nell'intero dialogo se non è 0, usare questo m_subwin dove viene usato ObjectCreate(...)

quindi i pannelli e gli elementi possono essere creati in qualsiasi finestra e sottofinestra

 
Maxim Kuznetsov #:

analizzare il codice, aggiungere l'opzione m_subwin che definisce il numero di sottofinestra, intercettare gli eventi di "creazione/cancellazione" della sottofinestra per correggere questo caso nell'intero dialogo se non è 0, utilizzare questo m_subwin dove viene utilizzato ObjectCreate(...).

Quindi i pannelli e gli elementi possono essere creati in qualsiasi finestra e sottofinestra.

Sì, sì, questo è tutto da aggiungere, attaccare, avvolgere con filo di alluminio e nastro adesivo. Abbiamo bisogno di una soluzione semplice e corretta per tutta questa libreria. Se non c'è questa soluzione, allora la libreria deve essere riprogettata. Probabilmente realizzerò da solo la mia finestra di dialogo.
 
Evgeniy Scherbina #:
Sì, sì, aggiungete tutte queste cose, attaccatele, avvolgetele in un filo di alluminio e fissatele con lo scotch. Abbiamo bisogno di una soluzione semplice e corretta per l'intera libreria. Se non c'è questa soluzione, allora la libreria deve essere riprogettata. Probabilmente creerò una mia finestra di dialogo.

Questa è una limitazione della piattaforma MetaTrader: un indicatore può essere presente solo nella finestra principale o solo in una sottofinestra.

Le possibili soluzioni e un esempio di implementazione sono riportati nel libro.

In breve, si creano due indicatori e uno crea l'altro utilizzando ChartIndicatorAdd. Possono scambiarsi dati tramite eventi, risorse, buffer, ecc.

Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
  • www.mql5.com
Создание прикладных программ - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky #:

Si tratta di una limitazione della piattaforma MetaTrader: un indicatore può essere presente solo nella finestra principale o solo in una sottofinestra.

Nel libro sono riportate le possibili soluzioni e un esempio di implementazione.

In breve: si creano due indicatori e uno crea l'altro utilizzando ChartIndicatorAdd. Possono scambiarsi dati tramite eventi, risorse, buffer, ecc.

Se queste sono le parole di uno specialista, allora è esattamente quello che volevo sentire. E significa che è necessario creare il proprio pannello.

Se questa è solo un'ipotesi... allora dovete creare il vostro pannello.

Sto aspettando un suggerimento su come inserire il pannello nella finestra principale, se l'indicatore si trova nella finestra secondaria.