Индикаторы: MTF Moving Average

 

MTF Moving Average:

Отображает на текущем таймфрейме скользящую среднюю заданного таймфрейма.

Author: exhumer

 

Немного подправил для удобства:

//buffers
double ma[];
string tf_say;

int init()
{
tf_say = DoubleToStr(tf, 0);
if (tf == 10080) tf_say = "Weekly";
if (tf == 1440) tf_say = "Daily";
if (tf == 240) tf_say = "4 часа";
SetIndexBuffer(0,ma);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexLabel(0,"MA" + DoubleToStr(period, 0) + " " + tf_say);
IndicatorShortName("Moving Average (" + tf_say + ", " + period + ")");

 

еще бы сделать, что бы можно было высчитывать 4часовки начиная с 1, 2, 3, 4 часа было бы гораздо точнее теханализ, и отображать на графике тоже корректно начиная с высчитываемого часа.... жду индюк )))

 

В чем смысл специально рассчитывать индюк с большим таймфреймом на графике с меньшим периодом?

Можно просто рассчитывать период машки для любого старшего периода.

Ступенек конечно не будет, но и лишних расчетов тоже.

 
Flax:

В чем смысл специально рассчитывать индюк с большим таймфреймом на графике с меньшим периодом?


это более точные с математической точки зрения данные, а если ступеньки накладывать по моей методике то появляеться гораздо больше уровней, и ступенек, опираясь на которые можно быстрее других войти в позицию, и дольше других не выходить....
 

igrun,

готов поспорить, что с математической точки зрения рассчет необходимого периода для любого индюка на текущем графике,

чтобы получить картину поведения на большем таймфрейме, будет абсолютно одинаковым с вашим рассчетом.

Конечно, ступенек не будет, но и входить/выходить вы будете более точнее.

 

расчитывая 4часовой индюк каждый час,то можно получить очень различные результаты так как входящие данные различны.... а тем более накладывая такие разные результаты на один график можно весьма и весьма интересные явления заметить наблюдать и понять...

 

К стопам и ордерам добавил профит (канал):

#property indicator_chart_window
#property indicator_buffers 3

#property indicator_color1 Magenta
#property indicator_color2 Green
#property indicator_color3 Red
#property indicator_width1 3

//inputs
extern int tf = 1440;
extern int period = 5;
extern int method = 1; // 0-SMA; 1-EMA; 2-SMMA (сглаженная); 3-LWMA(линейно-взвешенная)
extern int shift = 0;
extern int EnvWidth = 85; // ширина канала в пп: если ждем длинную Daily =125 (настройка для Ма5 Daily)

//buffers
double ma[];
double maHighEnv[];
double maLowEnv[];

//variables
string tf_say;

int init()
{
tf_say = DoubleToStr(tf, 0);
if (tf == 10080) tf_say = "Weekly";
if (tf == 1440) tf_say = "Daily";
if (tf == 240) tf_say = "4часа";

IndicatorBuffers(3);

SetIndexBuffer(0,ma);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexLabel(0,"MA" + DoubleToStr(period, 0) + " " + tf_say);

SetIndexBuffer(1,maHighEnv);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexLabel(1,"МаксHigh Ма"+ DoubleToStr(period, 0) + " " + tf_say);

SetIndexBuffer(2,maLowEnv);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
SetIndexLabel(2,"МаксLow Ма"+ DoubleToStr(period, 0) + " " + tf_say);

IndicatorShortName("Moving Average (" + tf_say + ", " + period + ")");
return(0);
}

int deinit()
{
return(0);
}

int start()
{
int cb=IndicatorCounted();
int i=Bars-cb-1;
double ctf=Period();
//Print("current tf=" + ctf);
double r=tf/ctf;
//Print("r=" + r);
while(i>=0)
{
int k =MathFloor(i/r);

ma[i]=iMA(Symbol(),tf,period,shift,method,PRICE_CLOSE,k);
maHighEnv[i] = ma[i] + EnvWidth*Point;
maLowEnv[i] = ma[i] - EnvWidth*Point;
i--;
}


return(0);
}

Прим: Красным цветом - убрать

Для графика 1 час, по умолчанию 5-я Ма Daily и коридор для нее.
Дополнительно (2-м,3-м индикатором) можно поставить Ма3 Daily и Ма3 Weekly.

Теперь можно и на МТС замахнуться: есть ордер, стоп и профит, направление: Ма3 выше/ниже Ма5 .

Если кто напишет - будет хорошо.

 
велосипед...  Только смысл использовать такие индикаторы? Ведь МА с периодом 60 на H1 - это МА с периодом 3600 на М1. и все...
 
Alex5757000:
велосипед... Только смысл использовать такие индикаторы? Ведь МА с периодом 60 на H1 - это МА с периодом 3600 на М1. и все...

прописные истины... Уровни (ступени) гораздо удобнее для установки ордеров.
 

кто нить помогите мне написать мой индикатор : на графике часовика сделать ма того же часовика только со сдвигом на какое то количество минут, то есть допустим каждая свеча для расчета будет браться не с 00 а со сдвигом то есть в 05 каждого часа. так же можно и на часовике сделать четырех часовые ма ступеньками,но со сдвигом на какое то количество часов 0 1 2 3 .