
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
mladen... вы можете исправить ошибку?
//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+
Попробуйте приложенный вариант
Здравствуйте, Младен,
пожалуйста, не могли бы вы добавить "velo6" в прилагаемый индикатор?
Мне нужен ввод для цвета и "true-false"....see изображения, например.
ВСЕГДА БЛАГОДАРЮ ВАС......
1) во время тренда полосы Боллинджера расширяются, затем тренд останавливается и появляется диапазон, во время торговли полосы Боллинджера сужаются и в этой ситуации очень хорошо использовать сток перепроданность-перекупленность.
вот моя формула метастока...
ШИРИНА:=
((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));
ВРЕМЯ И КОНДУИТ
ПОЯСНЕНИЕ:
1) я использую полосу Боллинджера 71 и отклонение 2
2) на ширине полосы Боллинджера я применяю 15 простую скользящую среднюю
3) когда ширина полосы Боллинджера ниже SMA, а также в течение 5 баров после этого, это означает, что рынок вошел в торговый диапазон.
4) когда есть торговый диапазон, я вижу стохастик ниже 30
Привет, Младен,
пожалуйста, можете ли вы добавить "velo6" в прилагаемый индикатор?
Мне нужен ввод для цвета и "true-false"....see изображения, например.
ВСЕГДА БЛАГОДАРЮ ТЕБЯ......carbonmimetic
Вот, пожалуйста
Привет Младен
Чтобы побеспокоить вас, пожалуйста, поместите код в индикаторы MT4 хорошо?
Мне не терпится протестировать.
Спасибо
Kreangast
2013/5/25
Привет Младен
Чтобы побеспокоить вас, пожалуйста, поместите код в индикаторы MT4 хорошо?
Мне не терпится протестировать.
Спасибо
Kreangast
2013/5/25Извините
Поскольку я не использую Amibroker, я не могу преобразовать этот код в metatrader 4 и быть на 100% уверенным, что он правильный (и я бы не хотел быть ответственным за какой-то неправильно закодированный индикатор).
Извините, поскольку я не использую Amibroker, я не могу преобразовать этот код в metatrader 4 и быть на 100% уверенным, что он правильный (и мне бы не хотелось быть ответственным за какой-то неправильно закодированный индикатор).
Привет Младен
Извините! AMI Поскольку проблема была решена.
Спасибо, пожалуйста, помогите заменить 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=Ref(A,-BarsSince(H2));//-BarsSince=BarsLate
PPF1=Ref(A1,-BarsSine(H2));//
PPF2=Ref(A2,-BarsSine(H2));//
PPF3=Ref(A3,-BarsSine(H2));//
//
PPFF=Ref(B,-BarsSince(L2));//
PPFF1=Ref(B1,-BarSince(L2));//
PPFF2=Ref(B2,-BarsSince(L2));//
PPFF3=Ref(B3,-BarsSince(L2));//
TimeFrameRestore();
// Постройте облака и линии уровней поддержки //
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();
Спасибо
Kreangast
Я формулирую свой вопрос следующим образом.
Каким способом можно уменьшить количество баров, которые показывает индикатор на графике?
Без необходимости уменьшать количество баров, отображаемых на графике Metatrader.
Есть какие-то строчки кода, которые можно применить к большому количеству индикаторов?
Спасибо за внимание.
Формулирую свой вопрос здесь.
Каким способом можно уменьшить количество баров, которые показывает индикатор на графике?
Без необходимости уменьшать количество баров, отображаемых на графике Metatrader.
Есть какие-то строки кода, которые можно применить к большому количеству индикаторов?
Спасибо за внимание.Antonsan
Прочитайте пожалуйста этот пост : https://www.mql5.com/en/forum/180284/page31. Повторю суть - нужно изменить лимит баров в коде. Другого способа нет.