Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie mille, sei così bravo!
Salve,
Qualcuno conosce un indicatore che tracci solo il punto di oscillazione sul grafico come descritto qui sotto (come quello in Pipware Dashboard):
Strategia Fractal Breakout
Come detto in precedenza, l'azione dei prezzi si muove in onde. La direzione del trend (su o giù) è determinata dai massimi e minimi consecutivi.
UP TREND è quando queste onde fanno alti e bassi più alti.
DOWN TREND è quando queste onde fanno minimi e massimi più bassi.
Poiché i frattali sono alti e bassi, possono essere usati per determinare la direzione del trend.
Considera il grafico GU H4 (a destra). Prima del punto A il trend è al rialzo, cioè il secondo frattale basso è più alto del primo... il secondo frattale alto è più alto del primo.
Un nuovo frattale basso si è formato al punto A ed è più alto dei due precedenti frattali bassi (continuando il trend UP). La candela immediatamente dopo il punto A ha formato un nuovo alto frattale. Questo frattale è più basso del precedente frattale alto, indicando un possibile cambiamento nella direzione del trend. La candela sotto il punto B "rompe" il livello frattale del punto A (linea verde). Viene disegnata una freccia rossa che indica che la direzione del trend è cambiata in DOWN.
Le frecce possono essere visualizzate da ArrowsOn=true. Nota: le frecce sono disegnate solo quando una rottura frattale cambia la direzione del trend. Per esempio, dopo il punto B, i frattali inferiori continuano ad essere rotti (altre 2 volte).
Dopo il punto B, il trend è considerato DOWN fino a quando un frattale alto viene rotto. Appena prima del punto C, si forma un frattale superiore basso. La direzione del trend è ancora considerata DOWN ... nessun frattale alto è stato ancora rotto.
Al punto E, il frattale alto del punto C viene rotto. Anche se si tratta di una piccola rottura, viene disegnata una freccia verde al punto D che indica un cambiamento nella direzione del trend. Il trend è ora considerato UP fino alla prossima rottura del frattale basso.
Molte grazie per il vostro aiuto.
Il migliore,
Gringoh
Grazie Mladen, è perfetto! Se voglio aggiungere un'altra linea all'indicatore come questa, come modifico il codice? grazie in anticipo....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
Grazie Mladen, è perfetto! Se voglio aggiungere un'altra linea all'indicatore come questa, come modifico il codice? grazie in anticipo....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
k3rn3l
L'hai già fatto (ci sono 2 linee sull'indicatore). Se intendi una in più (per averne 3) fai semplicemente la stessa cosa che hai fatto per la seconda linea
cari codificatori,
ho trovato questo indicatore METASTOCK molto buono, puoi per favore renderlo per mt4?
x:=Input("Consecutive Lower Closes - Entry",
0,21,5);
y:=Input("Consecutive Higher Closes - Exit",
0,21,5);
delay:=Input("Ritardo entrata e uscita",0,5,0);
plot:=Input("segnali: [1]Pulito, [2]Tutti",
1,2,2);
In:=Somma(C<Rif(C,-1),x)=x;
Out:=Somma(C>Rif(C,-1),y)=y;
Init:=Cum(In+Out>-1)=1;
InInit:=Cum(In)=1;
flag:=BarsSince(Init OR In)
<BarsSince(Init OR Out)+InInit;
segnali:=(InInit AND Alert(InInit=0,2)
OR flag AND Alert(flag=0,2))
-(flag=0 AND Alert(flag,2));
0;Ref(If(plot=1,signals,In-Out),-delay)
cari codificatori,
Ho trovato questo indicatore METASTOCK molto buono, puoi per favore renderlo per mt4?
x:=Input("Consecutive Lower Closes - Entry",
0,21,5);
y:=Input("Consecutive Higher Closes - Exit",
0,21,5);
delay:=Input("Ritardo entrata e uscita",0,5,0);
plot:=Input("segnali: [1]Pulito, [2]Tutti",
1,2,2);
In:=Somma(C<Rif(C,-1),x)=x;
Out:=Somma(C>Rif(C,-1),y)=y;
Init:=Cum(In+Out>-1)=1;
InInit:=Cum(In)=1;
flag:=BarsSince(Init OR In)
<BarsSince(Init OR Out)+InInit;
segnali:=(InInit AND Alert(InInit=0,2)
OR flag AND Alert(flag=0,2))
-(flag=0 AND Alert(flag,2));
0;Ref(If(plot=1,signals,In-Out),-delay)debashis
Qual è il nome di questo indicatore?
guru
si chiama "basic pattern system". http://www.metastocktools.com/MetaStock/Pattern01.txt
Ciao Malden, grazie per avermi aiutato con l'ASCTrend. Mi sto chiedendo se puoi aiutarmi a fare un ea per questo indicatore. c'è un altro indicatore chiamato MaonMa. (Li allegherò) Il mio pensiero è quando l'ASCTrend frecce su E la barra è sopra la linea gialla (60 MA), mettere un trade lungo, stop lose sarà il minimo precedente, allo stesso modo, quando l'ASCTrend frecce giù E la barra è sotto la linea gialla (60 MA), mettere un trade corto, stop lose sarà il massimo precedente. Grazie.
Ciao Mladen,
ho bisogno del tuo aiuto di nuovo. ho impostato il seguente codice per un indicatore basato sulla freccia. ma il suo pc si blocca. se si può evitare il lagging, si può scrivere di nuovo il codice utilizzando i codici originali rsi, cci e cmo nell'indicatore senza funzione icustom.
#proprietà indicator_chart_window
#proprietà indicator_buffers 2
#proprietà indicator_color1 Crimson
#proprietà indicator_color2 RoyalBlue
//---- parametri di input
extern int barsToProcess=100;
//---- buffer
double ExtMapBuffer1[]
double ExtMapBuffer2[]
//+------------------------------------------------------------------+
//|Funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
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 rsi=iCustom(NULL,0, "rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0, "cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0, "cmo",barsToProcess,0,i);
if(rsi>60.0 && cci>150.0&&cmo>30.0)
ExtMapBuffer1=High+5*Point;
altrimenti
ExtMapBuffer1=0.0;
if(rsi<10.0 && cci<-150.0&&cmo<-30.0)
ExtMapBuffer2=Low-5*Point;
altrimenti
ExtMapBuffer2=0.0;
}
return(0);
}
Ciao Mladen,
ho bisogno del tuo aiuto di nuovo. ho impostato il seguente codice per un indicatore basato sulla freccia. ma il suo pc si blocca. se si evitasse il lagging, puoi scrivere di nuovo il codice usando i codici originali rsi, cci e cmo nell'indicatore senza la funzione icustom.
#proprietà indicator_chart_window
#proprietà indicator_buffers 2
#proprietà indicator_color1 Crimson
#proprietà indicator_color2 RoyalBlue
//---- parametri di input
extern int barsToProcess=100;
//---- buffer
double ExtMapBuffer1[]
double ExtMapBuffer2[]
//+------------------------------------------------------------------+
//|Funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
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 rsi=iCustom(NULL,0, "rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0, "cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0, "cmo",barsToProcess,0,i);
if(rsi>60.0 && cci>150.0&&cmo>30.0)
ExtMapBuffer1=High+5*Point;
altrimenti
ExtMapBuffer1=0.0;
if(rsi<10.0 && cci<-150.0&&cmo<-30.0)
ExtMapBuffer2=Low-5*Point;
altrimenti
ExtMapBuffer2=0.0;
}
return(0);
}Invece di usare iCustom() per rsi e cci usate le funzioni integrate.
Parametri necessari per RSI :
[/TR]
[/TABLE]
Parametri necessari per CCI :
[TABLE="class: docvar"]
[TR]
[TD]doubleE 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