Aiuto per la codifica - pagina 112

 
mladen:
Invece di usare iCustom() per rsi e cci usa le funzioni integrate.

Parametri necessari per RSI :

iCCI( [TD]string symbol, int timeframe, int period, int applied_price, int shift)
double iRSI([/TD]string symbol, int timeframe, int period, int applied_price, int shift)[/TD]

[/TR]

[

/TABLE]

Parametri necessari per CCI :

[TABLE="class: docvar"]

[TR] [

TD]double

E per CMO, il primo parametro è LastBarOnly e il secondo è CMO_Range, quindi la chiamata iCustom() dovrebbe essere qualcosa come :

iCustom(NULL,0, "cmo",false,CMORange,0,i);

dove CMORange sarebbe un qualche parametro

Sono un principiante di mql4, potete scrivere,? per favore

 
anonimm:
sono un principiante di mql4, puoi scrivere,? per favore

Fate qualcosa del genere:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Crimson

#property indicator_color2 RoyalBlue

extern int barsToProcess=100;

extern int RsiPeriod = 14;

extern int RsiPrice = PRICE_CLOSE;

extern int CciPeriod = 14;

extern int CciPrice = PRICE_TYPICAL;

extern int CmoRange = 14;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars>0)counted_bars--;

int limit=Bars-counted_bars; if(limit>barsToProcess)limit=barsToProcess;

for(int i=limit;i>=0;i--)

{

double rsi=iRSI(NULL,0,RsiPeriod,RsiPrice,i);

double cci=iCCI(NULL,0,CciPeriod,CciPrice,i);

double cmo=iCustom(NULL,0,"cmo",false,CmoRange,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=High+5*Point;

else ExtMapBuffer1=EMPTY_VALUE;

if(rsi<40.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=Low-5*Point;

else ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

Allegando un indicatore di prova (come il codice di cui sopra) anche

File:
_test.mq4  2 kb
 

Posto qui una delle migliori divergenze stocastiche di FX5 che abbia mai visto 5 (ho provato molti indici come quello),

Indica la "divergenza normale" e l'interessante "divergenza nascosta".

Qualcuno può aggiungere nel codice la possibilità di cambiare il colore delle linee di tendenza sul grafico e lo stocastico

E qualcuno può usare questo codice per fare una divergenza RSI così bella perché non l'ho mai trovata

Grazie mille per il coder che lo farà

Buona giornata

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps: Grazie al moderatore che ha cambiato questo post nel posto giusto ;-)

File:
 
zilliq:
Posto qui una delle migliori divergenze stocastiche di FX5 che abbia mai visto 5 (ho provato molti indici come questo),

Indica la "divergenza normale" e l'interessante "divergenza nascosta".

Qualcuno può aggiungere nel codice la possibilità di cambiare il colore delle linee di tendenza sul grafico e lo stocastico

E qualcuno può usare questo codice per fare una divergenza RSI così bella perché non l'ho mai trovata

Grazie mille per il coder che lo farà

Buona giornata

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps: Grazie al moderatore che ha cambiato questo post nel posto giusto ;-)

zilliq

Prova ora: i colori possono essere impostati dai parametri

 

Grazie mille Mladen ,

Lo provo immediatamente

Zilliq

 

Ciao Mladen

I valori dell'indicatore di correlazione da advanced elite non appaiono, puoi aiutarmi? Grazie.

 
nevar:
Ciao Mladen I valori dell'indicatore di correlazione da advanced elite non appaiono, puoi aiutarmi? Grazie.

Ciao Nevar, se è questo https://www.mql5.com/en/forum/180028 hai ottenuto anche la dll e abilitato le importazioni di dll?

 

Grazie MrTools

Sì, è risolto con il file dll.

 

Aiuto di codifica necessario....

Sto giocando con OBJ_VLINE e non sto andando da nessuna parte velocemente. Usando il seguente codice, posso disegnare una VLINE su un'intersezione di due medie mobili come esempio.

{

string name="vline "+DoubleToStr(i,0);

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Quello che sto veramente cercando di fare è creare una VLINE e una linea orizzontale nel punto in cui una MA cambia pendenza da positiva a negativa. La linea orizzontale che mostra il prezzo attuale dove avviene il cambiamento. Sto usando il seguente codice per cambiare i colori sulla pendenza.

fasttrend=fasttrend;

se (MABuf>MABuf) fasttrend= 1;

se (MABuf<MABuf) fasttrend=-1;

se (fasttrend>0)

{

FastUpBuffer = MABuf;

se (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

if (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

Il mio primo tentativo ha avuto come risultato che le vlines sono state disegnate su ogni barra, il che è stato colorato ma non proprio quello che avevo in mente. Inoltre non ho idea di come cancellare il vecchio "cross hair" quando ne viene creato uno nuovo. C'è una funzione in giro che fa questo? Vorrei impostare questo come un'alternativa alle frecce per indicare il cambiamento di pendenza dove possiamo vedere il prezzo effettivo sulla barra in cui l'indicatore ha effettivamente cambiato direzione.

Grazie per qualsiasi aiuto,

Alex

 
hughesfleming:
Aiuto di codifica necessario....

Sto giocando con OBJ_VLINE e non sto andando da nessuna parte velocemente. Usando il seguente codice, posso disegnare una VLINE su un'intersezione di due medie mobili come esempio.

{

string name="vline "+DoubleToStr(i,0);

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Quello che sto veramente cercando di fare è creare una VLINE e una linea orizzontale nel punto in cui una MA cambia pendenza da positiva a negativa. La linea orizzontale che mostra il prezzo attuale dove avviene il cambiamento. Sto usando il seguente codice per cambiare i colori sulla pendenza.

fasttrend=fasttrend;

se (MABuf>MABuf) fasttrend= 1;

se (MABuf<MABuf) fasttrend=-1;

se (fasttrend>0)

{

FastUpBuffer = MABuf;

se (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

if (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

Il mio primo tentativo ha avuto come risultato che le vlines sono state disegnate su ogni barra, il che è stato colorato ma non proprio quello che avevo in mente. Inoltre non ho idea di come cancellare il vecchio "cross hair" quando ne viene creato uno nuovo. C'è una funzione in giro che fa questo? Vorrei impostare questo come un'alternativa alle frecce per indicare il cambiamento di pendenza dove possiamo vedere il prezzo effettivo sulla barra in cui l'indicatore ha effettivamente cambiato direzione.

Grazie per qualsiasi aiuto,

Alex

Alex

Hai provato qualcosa di simile a questo (per l'aggiunta della linea orizzontale ):

{

string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);

name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);

}