Ecco un comodo script che uso sempre. Disegna linee di riferimento ogni 10 pip per aiutarmi a valutare il movimento del mercato. Ero davvero frustrato nel cercare di capire questo guardando i prezzi sul lato destro dello schermo, così ho creato uno script. Lo script potrebbe essere un buon modo per i principianti di esercitarsi a disegnare oggetti.
Rendilo un CI non uno script, calcola da 0 non dal prezzo di chiusura, disegna solo sulla parte visibile del grafico (WinPriceMax() e sua sorella), aggiornalo quando il prezzo si muove oltre il limite (nel tuo caso, intervallo di linea = 10 pips), usa OBJ_RECTANGLE invece di OBJ_HLINE.
Si sincronizzerà su tutti i grafici aperti.
:D
Oppure . . . farlo diventare un indicatore . . ha bisogno di un po' più di codice in modo che sia aggiornato solo all'inizio di una nuova barra . . .
int deinit() { for (int ix = 0; ix < nLines; ix++) // delete my horizontal lines { ObjectDelete("tensLines"+ix); } return(0); } int start() { int nLines = 40; // Number of total line to draw double lineInterval = 0.0010; // Interval between lines double normPrice = NormalizeDouble(Close[1],3); // Current price is rounded to nearest "10" for (int ix = 0; ix < nLines; ix++) // Loop span number of times { if(ObjectFind("tensLines"+ix) < 0) ObjectCreate("tensLines"+ix, OBJ_HLINE, 0, 0, normPrice+((ix-(nLines/2))*lineInterval)); // Place half above and half below the current price else ObjectSet("tensLines"+ix, OBJPROP_PRICE1, normPrice+((ix-(nLines/2))*lineInterval)); ObjectSet("tensLines"+ix,OBJPROP_COLOR,DarkSlateGray); // Make the lines look better } return(0); //All done }
Fallo diventare un CI non uno script, calcola da 0 non dal prezzo di chiusura, disegna solo sulla parte visibile del grafico (WinPriceMax() e sua sorella), aggiornalo quando il prezzo si muove oltre il limite (nel tuo caso, intervallo di linea = 10 pips), usa OBJ_RECTANGLE invece di OBJ_HLINE.
Si sincronizzerà su tutti i grafici aperti.
:D
Tutto questo ha senso tranne la parte "OBJ_RECTANGLE invece di OBJ_HLINE". Perché i rettangoli?
Oppure . . . farlo diventare un indicatore . . ha bisogno di un po' più di codice in modo che sia aggiornato solo all'inizio di una nuova barra . . .
Sì, certo, molto meglio. Dimmi, c'è modo di usare una sorta di "jolly" per cose come ObjectDelete? Vorrei fare qualcosa del genere, ObjectDelete("tensLines "*); in altre parole, cancellare tutto ciò che inizia con "tensLines".
Tutto questo ha senso tranne la parte "OBJ_RECTANGLE invece di OBJ_HLINE". Perché i rettangoli?
Ho quella cosa a griglia da anni, non vedo mai i prezzi sul lato destro comunque, probabilmente non ti piace il rettangolo però, usa WindowsBarsPerChart() e forse WindowsFirstVisibleBar().
Vedi in basso a destra del grafico, è 25/341. Significa che la griglia è di 25 pip e l'altezza del grafico è di 341 pip.
:D
Ho quella cosa a griglia da anni, non vedo mai i prezzi sul lato destro comunque, probabilmente non ti piace il rettangolo però, usa WindowsBarsPerChart() e forse WindowsFirstVisibleBar().
Vedi in basso a destra del grafico, è 25/341. Significa che la griglia è di 25 pip e l'altezza del grafico è di 341 pip.
:D
In realtà mi piace il modo in cui hai disposto questo con le barre. È facile per gli occhi. Tu dici, "non vedi mai i prezzi sul lato destro comunque". Mi sono spesso chiesto perché con due sole scelte, comprare o vendere, ho il 50% di possibilità ma mi sbaglio l'80% delle volte ;-)
Lo stesso qui ...
:D
In realtà mi piace il modo in cui l'hai disposto con le barre. È facile per gli occhi. Tu dici: "non vedi mai i prezzi sul lato destro in ogni caso". Mi sono spesso chiesto perché con due sole scelte, comprare o vendere, ho il 50% di possibilità ma mi sbaglio l'80% delle volte ;-)
onewithzachy, ho appena finito di impostare il tuografico in stile OBJ_RECTANGLE. Hai menzionato "WindowsBarsPerChart() e forse WindowsFirstVisibleBar()". Sto ancora avendo difficoltà a capire come far scorrere le barre dal lato sinistro dello schermo a quello destro. Ma mi piace il layout! Qualche indizio su come farlo?
Ciao MisterDog,
Semplice.
1. Ottieni la distanza temporale tra una barra e l'altra. Possiamo ottenere questo sottraendo il tempo della barra attuale con il tempo della barra precedente o moltiplicando il periodo con 60 secondi, scegliendo quest'ultimo, perché c'è un gap di tempo il lunedì.
datetime Bar_Time_Gap; // or integer type Bar_Time_Gap = Time [0] - Time [1]; // or Time [7] - Time [8] or whatever Bar_Time_Gap = Period()*60;
2. WindowsFirstVisibleBar() è la barra di sinistra. Iniziate a disegnare da quella barra, o meglio ancora iniziate a disegnare da n a sinistra di quella barra, diciamo 5 barre a sinistra. Diciamo che il ritorno di WindowsFirstVisibleBar() è 20. Ciò significa che la barra molto a sinistra è la barra [20], iniziate a disegnare dalla barra [25] allora. In realtà disegno da [Bars - 1].
datetime Start; Start = Time [WindowFirstVisibleBar() + 5]; //which is the same ... Start = Time [WindowFirstVisibleBar()] - 5 * Bar_Time_Gap; //... with this one
3. WindowsBarsPerChart() è il numero di barre sul grafico . Diciamo che il ritorno diWindowsBarsPerChart() è 35 e WindowsFirstVisibleBar() è 20. Quindi a partire dalla barra [0] ci sono circa 15 barre vuote sul lato destro. Disegnate la fine di quel rettangolo fino alla barra di destra di quello spazio vuoto, o meglio ancora iniziate a disegnare da n destra di quella barra diciamo 5 barre a destra.
datetime End; int Right_Bar = WindowBarsPerChart() - WindowFirstVisibleBar() + 5; End = Time[0] + Right_Bar * Bar_Time_Gap;
Quando arriverà una nuova barra, questa barra di destra si sposterà a sinistra, quindi la fine del rettangolo sarà visibile, e dovremo disegnarla di nuovo.
Spero di non sbagliare, perché l'ho scritto in fretta.
:D

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ecco un comodo script che uso sempre. Disegna linee di riferimento ogni 10 pip per aiutarmi a valutare il movimento del mercato. Ero davvero frustrato nel cercare di capire questo guardando i prezzi sul lato destro dello schermo, così ho creato uno script. Lo script potrebbe essere buono per i principianti per esercitarsi a disegnare oggetti.