Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
6
Valutazioni:
(6)
Pubblicato:
\MQL5\Include\MQL5Book\
Freelance MQL5 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:

  1. 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).
  2. 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!

Gli input sono:
  • 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;
L'indicatore non controlla se gli oggetti incollati corrispondono all'effettivo grafico di destinazione, come il simbolo, l'intervallo di prezzo, il numero di sottofinestre, ecc. - è necessario farlo da soli.

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:

2 oggetti grafici incollati sul grafico tramite gli appunti








Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/52263

STRUMENTI DI CALIBRAZIONE A ZIG-ZAG STRUMENTI DI CALIBRAZIONE A ZIG-ZAG

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)

iBeta iBeta

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

Value Charts Value Charts

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

SuperTrend SuperTrend

SuperTrend indicator.