Aiuto per la codifica - pagina 91

 
k3rn3l:
mladen... puoi correggere l'errore?

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

//| MTF_RSI.mq4 |

//| Copyright © 2006, Keris2112 |

//| |

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

#property copyright "Copyright © 2006, Keris2112"

#property link "https://www.forex-tsd.com"

//----

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

#property indicator_color3 White

#property indicator_level1 30

#property indicator_level2 70

#property indicator_minimum 0

#property indicator_maximum 100

//----

extern int TimeFrame=5;

extern int RSIperiod=33;

extern int applied_price=0;

extern int TimeFrame1=15;

extern int RSIperiod1=21;

extern int applied_price1=0;

extern int TimeFrame2=15;

extern int RSIperiod2=14;

extern int applied_price2=0;

//----

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicator line

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(2,DRAW_LINE);

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("MTF_RSI("+RSIperiod+") ("+TimeFrameStr+")");

}

//----

return(0);

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

//| MTF RSI |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

//----

ExtMapBuffer1=iRSI(NULL,TimeFrame,RSIperiod,applied_price,y);

}

datetime TimeArray1[];

int ii,limiti,yi=0,counted_bars1=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray1,MODE_TIME,Symbol(),TimeFrame1);

limiti=Bars-counted_bars1;

for(ii=0,yi=0;ii<limiti;ii++)

{

if (Time<TimeArray1[yi]) yi++;

//----

ExtMapBuffer2=iRSI(NULL,TimeFrame1,RSIperiod1,applied_price1,yi);

}

datetime TimeArray2[];

int iii,limitii,yii=0,counted_bars2=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray2,MODE_TIME,Symbol(),TimeFrame2);

limitii=Bars-counted_bars2;

for(iii=0,yii=0;iii<limitii;iii++)

{

if (Time<TimeArray2[yii]) yii++;

//----

ExtMapBuffer3=iRSI(NULL,TimeFrame2,RSIperiod2,applied_price2,yii);

}

//----

return(0);

}

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

Prova quello allegato

 

Ciao Mladen,

per favore, puoi aggiungere "velo6" all'indicatore allegato?

Ho bisogno di input per il colore e "vero-falso" ....see immagine per esempio.

SEMPRE GRAZIE......

File:
euro.gif  32 kb
 

1) durante il trend, le bande di bollinger si allargano .....poi il trend si ferma e c'è il treding range.durante il trading range le bande di bollinger si contraggono e in questa situazione è molto buono usare stoc oversold-overbought.

questa è la mia formula di metastoch...

LARGHEZZA:=

((Mov(C,71,S)+(2*(Std(C,71))))-

(Mov(C,71,S)-(2*(Std(C,71)))));

MEDIA:=Mov(WIDTH,15,S);

ST:=Stoch(5,3);

TIME:=BarsSince(WIDTH=0 AND

BarsSince(WIDTH<MEDIA)<=5;

CONDBUY:=ST<=30 OR (Ref(ST<=30,-1) AND H<=Ref(H,-1));

TEMPO E CONDBUY

SPIEGAZIONE:

1) uso la banda di bollinger 71 e la deviazione 2

2) sulla larghezza della banda di bollinger applico una media mobile semplice 15

3) quando la larghezza della banda di bollinger è al di sotto della SMA e anche per 5 barre dopo, significa che il mercato ha iniziato a fare trading range....

4) quando c'è trading range vedo lo stocastico sotto il 30

 
carbonmimetic:
Ciao Mladen,

per favore, potete aggiungere "velo6" all'indicatore allegato?

Ho bisogno di input per il colore e "vero-falso" ....see immagine per esempio.

SEMPRE GRAZIE......

carbonmimetic

Ecco a te

File:
 

...come ho detto prima...SEMPRE GRAZIE!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Ciao Mladen

Per disturbarti ti prego di mettere il codice negli indicatori MT4 ok?

Sono ansioso di testare.

Grazie

Kreangast

2013/5/25

 
Kreangast:
Ciao Mladen

Per disturbare si prega di mettere il codice in MT4 indicatori ok?

Sono ansioso di testare.

Grazie

Kreangast

2013/5/25

Scusa

Dal momento che non uso Amibroker non posso convertire quel codice in metatrader 4 e di essere sicuro al 100% che sia corretto (e mi dispiacerebbe essere responsabile di qualche indicatore non correttamente codificato)

 
mladen:
Mi dispiace Dato che non uso Amibroker non posso convertire quel codice in metatrader 4 ed essere sicuro al 100% che sia corretto (e non vorrei essere responsabile di qualche indicatore codificato male)

Ciao Mladen

Scusa ! AMI Poiché il problema è stato risolto.

Grazie per favore aiuta a sostituire MT4.

"-BarsSince(X)=BarsLate(X)"

_SECTION_BEGIN("pfoot");

TimeFrameSet(inDaily);

TR=Max(Max((High-Low),abs(Ref(Close,-1)-High)),abs(Ref(Close,-1)-Low));

A= H-(TR*0.3);

A1=H-(TR*0,6);

A2=H-(TR*0.8);

A3=H-(TR*1.0);

//

B= L+(TR*0.3);

B1=L+(TR*0.6);

B2=L+(TR*0.8);

B3=L+(TR*1.0);

//

N=100;

H2=H==HHV(H,N);//

L2=L==LLV(L,N);//

PPF=Rif(A,-BarsSince(H2));//-BarsSince=BarsLate

PPF1=Rif(A1,-BarsSine(H2));//

PPF2=Rif(A2,-BarsSine(H2));//

PPF3=Rif(A3,-Rif (H2));//

//

PPFF=Ref(B,-BarsSine(L2));//

PPFF1=Rif(B1,-BarSince(L2));//

PPFF2=Rif(B2,-BarsSince(L2));//

PPFF3=Rif(B3,-BarsSince(L2));//

TimeFrameRestore();

// Traccia le nuvole e le linee dei livelli di supporto //

Plot(TimeFrameExpand(PPF,inDaily ,expandLast), "R1", colorGreen, styleThick);

Plot(TimeFrameExpand(PPF1,inDaily ,expandLast), "R2", colorGreen,styleThick);

Plot(TimeFrameExpand(PPF2,inDaily ,expandLast), "R3", colorGreen,styleThick);

Plot(TimeFrameExpand(PPF3,inDaily ,expandLast), "R4", colorGreen,styleThick);

Plot(TimeFrameExpand(PPFF,inDaily ,expandLast), "S1", colorBlue, styleThick);

Plot(TimeFrameExpand(PPFF1,inDaily ,expandLast), "S2", colorBlue,styleThick);

Plot(TimeFrameExpand(PPFF2,inDaily ,expandLast), "S3", colorBlue,styleThick);

Plot(TimeFrameExpand(PPFF3,inDaily ,expandLast), "S4", colorBlue,styleThick);

_SECTION_END();

Grazie a

Kreangast

 

Formulo la mia domanda qui.

Qual è il metodo per ridurre il numero di barre che mostra un indicatore sul grafico?

Senza dover ridurre il numero di barre mostrate nel grafico Metatrader.

C'è qualche riga di codice che può essere applicato a un gran numero di indicatori?

Grazie per la vostra attenzione.

 
Antonsan:
Formulo la mia domanda qui.

Qual è il metodo per ridurre il numero di barre che mostra un indicatore sul grafico?

Senza dover ridurre il numero di barre mostrate nel grafico Metatrader.

C'è qualche riga di codice che può essere applicato a un gran numero di indicatori?

Grazie per la vostra attenzione.

Antonsan

Si prega di leggere questo post: https: //www.mql5.com/en/forum/180284/page31. Ripeterà l'essenza - è necessario modificare il limite di barre nel codice. Non c'è altro modo.

Motivazione: