Aggiungere colore a un indicatore - pagina 3

 
mrchuckw:


Ecco come appare la tua ea dopo che ci ho giocato. Puoi dirmi come mettere il quadrato in una linea retta? ?

Grazie

Basta impostare i valori di queste variabili a 0 . . .

if(Down.5.0) AshiRed[shift] = 0 ;
if(Up.5.0) AshiWhite[shift] = 0 ;
 
Ok... l'ho fatto, ma ora non compare nulla. Ho provato a mettere un numero... come 1.43851 (prezzo attuale) e lo mette in una linea retta, ma solo per l'inizio, poi inizia a saltare di nuovo. E non riesco a capire come ottenere la seconda linea lì.... qualche idea
 

questo indi frattale potrebbe aiutare.

 
mrchuckw:
Ok... l'ho fatto, ma ora non compare nulla. Ho provato a mettere un numero... come 1.43851 (prezzo attuale) e lo mette in una linea retta, ma solo per l'inizio, poi inizia a saltare di nuovo. E non riesco a capire come far entrare la seconda linea lì.... qualche idea
Il problema è che la finestra separata si ridimensiona automaticamente per i dati attualmente visualizzati. Non sono sicuro del modo migliore per risolvere questo. . . . So cosa funzionerà, crea 2 nuovi buffer per i quadrati senza colore, imposta i loro valori per la barra 0 e la barra 1 a 1 e -1 rispettivamente . . poi imposta i valori per i tuoi buffer quadrati rossi e bianchi a 0 . . .
 
19730719:

qualcosa come questo

int    iSquare=110;
double dGap=10*Point
int init()
  1. manca il punto e virgola dopo il punto.
  2. Le variabili globali possono essere inizializzate solo con le costanti. Necessità di inizializzare all'interno di init()
  3. Gli EA e gli indicatori devono regolare i broker a 4/5 cifre. 10*Point è 10 pip su un broker a 4 cifre e 1 pip su uno a 5 - il codice si rompe.
    //++++ These are adjusted for 5 digit brokers.
    int     pips2points;    // slippage  3 pips    3=points    30=points
    double  pips2dbl;       // Stoploss 15 pips    0.0015      0.00150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int     init(){
        if (Digits == 5 || Digits == 3){    // Adjust for five (5) digit brokers.
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
    

  4. Non so perché vuoi un quadrato quando potresti usare due simboli diversi come 225/226, 241/241, 67/68, 71/72
  5.     if ( counted_bars > 0 ) {counted_bars--;          // Last bar will be recounted
        }    
        int limit = Bars - counted_bars;
        for (int shift = limit; shift >=0 ; shift--)      // Paint bars going from left to right . . 
    
    Il limite è Bars - 1 - counted_bars, cioè la prima volta che counted==0 si fa il loop da Bars - 1..zero. Il decremento non è necessario.
 
RaptorUK:
Il problema è che la finestra separata si ridimensiona automaticamente per i dati attualmente visualizzati. Non sono sicuro del modo migliore per risolvere questo. . . . So cosa funzionerà, create 2 nuovi buffer per i quadrati senza colore, impostate i loro valori per la barra 0 e la barra 1 rispettivamente a 1 e -1 . . poi impostate i valori per i vostri buffer dei quadrati rossi e bianchi a 0 . . .

Mi sto ancora documentando sui buffer, totalmente nuovi per me, quindi mi sto trascinando un po'.

Quello che ho finora (l'indicatore è una finestra separata) sta iniziando a funzionare, ma non riesco a superare questo blocco.

Voglio il colore del grafico a 5 minuti in un piccolo quadrato su una linea retta... in una finestra separata dell'indicatore.

Non riesco a far apparire il bianco e il rosso sulla stessa linea. Poi, voglio passare al colore del grafico a 15 minuti sulla linea successiva.

Sono in un blocco mentale o qualcosa del genere.

Qualche idea... a parte il buffer degli indicatori... che un giorno dovrò imparare.

File:
ashi-2.mq4  3 kb
 
mrchuckw:

Mi sto ancora documentando sui buffer. Sono totalmente nuovo per me, quindi sto trascinando un po' i piedi.


Questo aiuterà: https://book.mql4.com/samples/icustom
 
mrchuckw:

Sono in un blocco mentale o qualcosa del genere.

Qualche idea... a parte l'indicatore buffer... che devo imparare un giorno.

Prova questo . . ma per favore usalo per imparare, ho commentato ciò che ho aggiunto o cambiato, stampalo, stampa la tua versione 2 e confrontale fianco a fianco . . studia, capisci, fai pratica è l'unico modo per imparare . . .

Se avete domande sul perché ho fatto quello che ho fatto chiedete pure e vi spiegherò.

File:
ashi-2.1.mq4  4 kb
 
Dovrai impostare il colore del 5° e 6° buffer sul colore di sfondo del tuo grafico.
 
RaptorUK:

Provate questo . . ma per favore usatelo per imparare, ho commentato ciò che ho aggiunto o cambiato, stampatelo, stampate la vostra versione 2 e confrontatele fianco a fianco. . . studiate, capite, fate pratica è l'unico modo per imparare . . .

Se avete domande sul perché ho fatto quello che ho fatto chiedete pure e vi spiegherò.

Questo è perfetto. Grazie mille. Sta facendo esattamente quello che volevo. Ci ho giocato, ho spostato un po' le linee e ho aggiunto altri grafici temporali.

L'unica cosa.... Non riesco ad ottenere più di 4 linee. Ho tolto il Top e il Bottom che hai aggiunto, e ho il 5 min, 15 min, 30 min e 60 min. Vorrei aggiungere il 240 (4 ore) ma non è così importante.

Mi piacevano le linee superiore e inferiore... centrava molto meglio le altre, ma le ho sacrificate per ottenere le altre linee.

Inoltre... come si fa a far ridipingere l'indicatore come se fosse stato caricato per la prima volta... il 5 min e su si muovono insieme al 1 min. (il grafico su cui ho l'indicatore), quindi sembra un po' sbilanciato...

Per esempio... se l'1 min sta scendendo, il grafico mostrerà una barra rossa per ogni barra discendente. Dopo diverse barre rosse, anche il 5 min mostrerà diverse barre rosse, ma potrebbe essere solo giù di una barra... Un po' ti fa pensare che il 5 min stia scendendo più a lungo di quanto non sia.

Ma non è così importante, perché per i punti di entrata guardo solo la barra corrente.

Di nuovo, grazie mille!!!!!