Unisciti alla nostra fan page
- Visualizzazioni:
- 6
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Avete mai avuto bisogno di copiare e incollare alcuni oggetti grafici tra grafici aperti? Credo di sì. Sorprendentemente, MetaTrader non fornisce la funzione "Copia e incolla" per gli oggetti. L'unica cosa che permette di ottenere un effetto più o meno simile sono i modelli (file tpl). Ma il modello memorizza l'intero stato del grafico, compresi gli indicatori, le impostazioni e molte altre cose ausiliarie, che potrebbero essere irrilevanti e non necessarie per la procedura di replica richiesta.
Per questo motivo ho sviluppato l'indicatore ChartObjectsCopyPaste.mq5. Copia gli oggetti selezionati negli appunti, da dove possono essere incollati su altri grafici. Senza alcun vincolo.
L'indicatore è basato su un altro indicatore pubblicato nel libro algotrading - ObjectGroupEdit.mq5.
Seguite il link per saperne di più su tutte le classi sottostanti(ObjectMonitor, MapArray e altre) che lavorano dietro le quinte.
Questo indicatore non ha buffer. Deve essere collegato almeno a due grafici: il grafico di origine da cui si desidera copiare gli oggetti e il grafico di destinazione in cui si intende incollarli.
Durante l'esecuzione su un grafico, l'indicatore tiene traccia degli oggetti grafici esistenti e prende nota di quelli selezionati.
Come di consueto, i comandi "Copia e Incolla" funzionano in coppia:
- Premere il tasto di scelta rapida Ctrl+Q per copiare tutti gli oggetti selezionati negli appunti di Windows sotto forma di testo (è possibile salvarlo e visualizzarlo in qualsiasi editor di testo; un esempio è riportato di seguito).
- Su un grafico di destinazione, premere Ctrl+J per incollare tutti gli oggetti dagli appunti.
Perché Ctrl+Q/Ctrl+J? Queste sono solo 2 combinazioni di tasti libere scelte volontariamente tra pochissime. Questo perché MetaTrader intercetta e non propaga molti tasti di scelta rapida ai programmi MQL. In particolare è così per i tasti standard Ctrl+C/Ctrl+V/Ctrl+Ins/Shift+Ins, che non funzionano in questo contesto.
Poiché il codice sorgente è disponibile, è possibile cambiare i tasti di scelta rapida con altre combinazioni.
Poiché l'indicatore utilizza le DLL di sistema per accedere agli appunti di Windows, è necessario consentire l'importazione di DLL nella finestra di dialogo Proprietà, nella scheda Dipendenze.
Poiché il Codebase non consente l'importazione di DLL, il codice relativo agli appunti è racchiuso nella direttiva condizionale del preprocessore #ifdef DLL_LINK, quindi si prega di decommentare la riga
#define DLL_LINK
prima della compilazione. Altrimenti, vedrete come gli stub delle funzioni degli appunti mostreranno avvisi in risposta alla pressione dei tasti di scelta rapida, senza che venga eseguita alcuna azione effettiva!
- MakeAllSelectable - flag per rendere tutti gli oggetti selezionabili (che normalmente è falso per gli oggetti creati programmaticamente);
- LogDetails - flag per inviare al log tutte le proprietà degli oggetti trasferiti;
Ecco un esempio di testo degli appunti con 2 oggetti:
OBJ_VLINE H1 Vertical Line 5578 0 0 enum ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 55295 1 OBJPROP_STYLE 2 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 0 8 OBJPROP_TIME 1726739940 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847009 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1032 OBJPROP_RAY 1 enum ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE 1.11449 enum ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1 Vertical Line 5578 6 OBJPROP_TEXT 206 OBJPROP_TOOLTIP OBJ_CHANNEL H1 Equidistant Channel 40885 5 1 enum ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 255 1 OBJPROP_STYLE 0 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 5 8 OBJPROP_TIME 1726758000 8 OBJPROP_TIME.1 1726797600 8 OBJPROP_TIME.2 1726758000 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847883 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1003 OBJPROP_RAY_LEFT 0 1004 OBJPROP_RAY_RIGHT 0 1031 OBJPROP_FILL 0 enum ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE -28.113879003558715 9 OBJPROP_PRICE.1 -21.708185053380777 9 OBJPROP_PRICE.2 -48.04270462633452 enum ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1 Equidistant Channel 40885 6 OBJPROP_TEXT 206 OBJPROP_TOOLTIP
Ed ecco gli oggetti incollati sul grafico:
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/52263

Permette di visualizzare facilmente i periodi rialzisti e ribassisti confermati dall'indicatore zigzag utilizzando le vlines. È possibile controllare la visualizzazione dello zigzag, scegliendo di partire dall'inizio del grafico o da un certo numero di barre, nonché la visualizzazione delle etichette che mostrano il prezzo del picco o del minimo, la direzione del periodo passato e la sua ampiezza in pip. Naturalmente, funziona sia sulla finestra principale che sulle sottofinestre. ATTENZIONE!!! Si tratta di un valido aiuto per la comprensione e la calibrazione degli indicatori e per lo sviluppo di strategie, ma non è destinato all'uso diretto. Tradotto con DeepL.com (versione gratuita)

Indicatore di covarianza, correlazione e coefficiente Beta di due simboli.

Value Charts is a detrended price indicator, it shows the overbought and oversold states using the detrended price extremes.

SuperTrend indicator.