Aiuto per la codifica - pagina 305

 
Boomerang:
Ciao

Per favore, qualcuno può aiutare a codificare un indicatore con i seguenti criteri:

Input dell'utente:

1- Time frame: time frame corrente da 1 minuto a 4 ore:

2- RSI(periodo): impostazione predefinita 14

3- Livelli RSI:

a- Livello su: da 50 a 100

b- Livello basso: da 0 a 50

c- Livello medio: 50

4- Modalità di segnale:

a- Modalità di vendita: mostra solo i segnali di vendita.

b- Modalità di acquisto: mostra solo i segnali di acquisto.

5- X= definito dall'utente pochi pip sopra o sotto il massimo o il minimo del giorno corrente.

Segnali in modalità vendita:

1- Sell mode day: mostra solo segnali di vendita sul grafico.

2- Attendere che l'RSI incroci il livello superiore dal basso e poi ritracci sotto il livello medio dall'alto.

3- Disegna una freccia rossa verso il basso alla chiusura della prima candela che attraversa il livello medio dall'alto.

4- Disegna un punto verde sopra il massimo del giorno di x pip prima del segnale della freccia rossa.

5- Allerta e possibilità di e-mail (vero, falso).

6- Ignorare qualsiasi incrocio (su, giù e medio) prima dell'ora A e dopo l'ora B:

a- Default A: 8:15 della piattaforma.

b- Default B: 22:00 della piattaforma.

Segnali in modalità buy:

1- Modalità buy giorno: mostra solo il segnale buy sul grafico.

2- Attendere che l'RSI incroci il livello di ribasso dall'alto e che poi ritracci sopra il livello medio dal basso.

3- Disegna una freccia verde verso l'alto alla chiusura della prima candela che attraversa il livello medio dal basso.

4- Disegnare un punto rosso sotto il minimo del giorno di X pip prima del segnale della freccia verde.

5- Allerta e possibilità di e-mail (vero, falso).

6- Ignorare qualsiasi incrocio (su, giù e medio) prima dell'ora A e dopo l'ora B:

a- Default A: 8:15 della piattaforma.

b- Default B: 21:00 della piattaforma.

Esempio:

Grazie in anticipo

Boomerang

Perché non hai preso anche il primo segnale (stessa condizione del segnale che hai segnato)?

 

heiken_ashih_sw_mtf_chrt.mq4

Ciao, Mr.Tools ha gentilmente fatto questo per me un po' di tempo fa, ma ora non si compila nel nuovo MT4, gli errori sono con il codice timeframetoString, dicendo "char" non valido ecc!

Per favore, puoi risolvere il problema?

funziona ancora visivamente, ma ho una seconda versione per "finestra separata" che non è sopravvissuta correttamente alla transizione, ha lasciato solo il file .ex4 che funziona ma credo che gli avvisi abbiano smesso di funzionare, quindi sto cercando di ricompilare di nuovo per controllare. Ho bisogno dello stesso per la finestra principale e la finestra separata. Grazie.

 
zigflip:
heiken_ashih_sw_mtf_chrt.mq4

Ciao, Mr.Tools ha gentilmente fatto questo per me un po' di tempo fa, ma ora non si compila nel nuovo MT4, gli errori sono con il codice timeframetoString, dicendo "char" non valido ecc!

Per favore, puoi risolvere il problema?

funziona ancora visivamente, ma ho una seconda versione per "finestra separata" che non è sopravvissuta correttamente alla transizione, ha lasciato solo il file .ex4 che funziona ma credo che gli avvisi abbiano smesso di funzionare, quindi sto cercando di ricompilarlo di nuovo per controllare. Ho bisogno dello stesso per la finestra principale e la finestra separata. Grazie.

Zigflip questa è la versione del grafico resa compatibile, c'è qualche possibilità che tu abbia la versione a finestra separata, così da poterla rendere compatibile.

 

Per favore, qualcuno può aiutarmi con questo codice...ripete sempre lo stesso avviso, per esempio se porta un avviso di acquisto su una coppia, dopo circa 7 candele, porterà lo stesso avviso di acquisto sulla stessa coppia. Voglio che funzioni in modo che quando porta un avviso di acquisto su una coppia, non porterà più il segnale di acquisto su quella coppia fino a quando non avrà consegnato il segnale di vendita:

#proprietà indicator_chart_window

#proprietà indicator_buffers 2

#proprietà indicator_color1 Lime

#proprietà indicator_color2 Red

//--- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

//variabile esterna......

extern int barsToProcess=100;

//+------------------------------------------------------------------+

//|funzione di inizializzazione dell'indicatore personalizzata

//+------------------------------------------------------------------+

int init()

{

//---- indicatori

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,217);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,217);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Funzione personalizzata di deinizializzazione dell'indicatore |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Funzione di iterazione dell'indicatore personalizzato |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted(),

limite;

if(counted_bars>0)

counted_bars--;

limit=Bars contate_bars;

se(limite>barsToProcess)

limit=barsToProcess;

for(int i=0;i<limit;i++)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0);

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1);

}

static datetime lastAlerted=0;

static string AlertType1="";

static string AlertType2="";

//aggiornamento degli avvisi

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point;

}altrimenti

ExtMapBuffer1=0,0;

Alert(Symbol()," ",Period(), "M Price UP");

/avvisi di vendita

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point;

}altrimenti

ExtMapBuffer2=0,0;

Alert(Symbol()," ",Period(), "M Price Down");

return(0);

}

//+------------------------------------------------------------------+

 
mrtools:
Zigflip questa è la versione del grafico resa compatibile, per caso tu hai la versione a finestra separata, quindi puoi rendere compatibile anche quella.

Grazie!

Ho solo il file .ex4 per la versione a finestra separata e non so come sia successo ma non riesco a trovare il .mq4 da nessuna parte!

Ho appena cambiato la versione del grafico prima per fare la versione separata, cambiando solo una riga in alto - proprietà dell' indicatore - da chart_window a separate window - non va bene?

 

Ciao ragazzi,

Ho bisogno del vostro aiuto. Come faccio a mandarvi una copia di un indicatore che ho bisogno che modifichiate per me? Non so proprio come fare. Grazie per il vostro tempo.

Steve,

 
Genesisman:
Ciao ragazzi,

Ho bisogno del vostro aiuto. Come posso inviarti una copia di un indicatore che ho bisogno che tu modifichi per me? Non so proprio come fare. Grazie per il tuo tempo.

Steve,

Se si tratta di un codice pubblico, basta postarlo qui (premi il tasto "vai avanti" e lì troverai come allegare un file)

 
Mastercash:
Pls può qualcuno aiutarmi con questo codice...ripete sempre lo stesso avviso.es. se porta l'avviso di acquisto su una coppia, dopo circa 7 candele, porterà lo stesso avviso di acquisto sulla stessa coppia.voglio che funzioni che quando porta l'avviso di acquisto su una coppia, non porterà più il segnale di acquisto su quella coppia fino a quando non avrà consegnato il segnale di vendita:

#proprietà indicator_chart_window

#proprietà indicatore_buffer 2

#proprietà indicator_color1 Lime

#proprietà indicator_color2 Red

//--- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

//variabile esterna......

extern int barsToProcess=100;

//+------------------------------------------------------------------+

//|funzione di inizializzazione dell'indicatore personalizzata

//+------------------------------------------------------------------+

int init()

{

//---- indicatori

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,217);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,217);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Funzione personalizzata di deinizializzazione dell'indicatore |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Funzione di iterazione dell'indicatore personalizzato |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted(),

limite;

if(counted_bars>0)

counted_bars--;

limit=Bars contate_bars;

se(limite>barsToProcess)

limit=barsToProcess;

for(int i=0;i<limit;i++)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0);

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1);

}

static datetime lastAlerted=0;

static string AlertType1="";

static string AlertType2="";

//aggiornamento degli avvisi

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point;

}altrimenti

ExtMapBuffer1=0,0;

Alert(Symbol()," ",Period(), "M Price UP");

/avvisi di vendita

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point;

}altrimenti

ExtMapBuffer2=0,0;

Alert(Symbol()," ",Period(), "M Price Down");

return(0);

}

//+------------------------------------------------------------------+

Questo sarebbe un modo per farlo.

File:
m.mq4  4 kb
 

Caro Mrtools

Nell'indicatore allegato 'macd signal line' i calcoli sono in SMA, può essere calcolato in EMA (come Gerald Appel MACD)?

In alcuni time frame il MACD non viene visualizzato correttamente, è possibile aggiungere un moltiplicatore per una migliore visualizzazione!

Grazie per qualsiasi aiuto

secretcode

File:
macdcci.mq4  4 kb
 
secretcode:
Caro Mrtools

Nell'indicatore allegato 'macd signal line' i calcoli sono in SMA, può essere calcolato in EMA (come Gerald Appel MACD)?

In alcuni time frame il MACD non viene visualizzato correttamente, è possibile aggiungere un moltiplicatore per una migliore visualizzazione!

Grazie per qualsiasi aiuto

secretcode

Ciao Secretcode, ho aggiunto le opzioni di modalità per fast, slow, e signal ma's per il macd, e aggiunto il moltiplicatore.

File: