- Свяь между динамикой объёма и динамикой цены.
- Статья: Записки дилетанта. ZigZag
- Тренд-следящие торговые системы
При проектирования индикатора обнаружил удивительную вещь цена производит измение по волновому закону при эттом при построении индикатора четко видны как впадины так и вершины. .Кому интересна данная тема можно будет обсудить..
Можно Вас поздравить, Вы открыли волновую теорию. Эллиот и Вильямсы рвут волосы. Может хоть индикатор покажите? - Обсудим.
никто их выводы не пытается приуменьшать..Просто то что получилось можно в дальнейшем великолепно использовать для торговли на минутных тиках причем прогноз как в ручном так и автоматическом варианте довольно прост нужно только немного доработка идея есть как доделать но необходимо выделить время..
Прилагаю индикатор но к сожалению просто очередную переработку основная идея в доработке..
Можно вкраце описать принцип торговли по индикатору?
Тиковый объем бара имеет в некоторой степени постоянство, а даже не периодичность. Зависимость между обемом и HIGH-LOW корелляционная, так что можно предположить размер бара. Осталось только определить CLOSE-OPEN ,будет + или -, но это уже другой вопрос.Чтобы не быть голословным небольшой график объемов по часам EURUSD60. При чем объемы возрастают от понедельнику к пятнице.
при детальном просмотре графиков (EURUSD) выявил интересную закономерность что при наличии флета перед самым началом тренда начинается всплеск который и приводит к началу тренда причем все индикаторы (DMI, FTLM, Ergodic CCI Triger) показываю начало всплеска и дальнейшее развитие волны как бокового тренда так и самого тренда..Причем при помощи индикатора Моментум можна отфильтровывать время наростания тренда и выход к точке максимума или же минимума до 1-2 тика до завершения волны..
Всем привет.
Немного изменил индикатор - автор извини. Просто мне показалось, что складить его просто нужно обязательно.
Пропали лишние и незначительные пересечения и изломы. Там где раньше он читался двояко сейчас вроде бы появилась определенность.
А вообще подход интересный. Специально сделаю эксперта для тестирования. А пока вот что я там наворотил - ничего особенного - простое Т3 сглаживание.
Попутного тренда и больших профитов.
//+------------------------------------------------------------------+ //| smSA_Price.mq4 | //| Copyright © 2007, MetaQuotes Software Corp. | //| https://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, MetaQuotes Software Corp." #property link "https://www.metaquotes.net/" // модернизация: Gep #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 LawnGreen #property indicator_color2 Gold #property indicator_color3 FireBrick extern int Range=8; extern int Shift=3; extern int OfPoint=0; extern int Counter=300; extern int t3_period=8; extern double b=0.7; double OpenBuf[]; double CloseBuf[]; //double PercentBuf[]; double PriceOpen,PriceClose,PriceMax,t3op,t3cl; double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); SetIndexBuffer(0,OpenBuf); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); SetIndexBuffer(1,CloseBuf); IndicatorShortName("SA_Price("+Range+","+Shift+")"); b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b+b3); c4=(1+3*b+b3+3*b2); n=t3_period; if (n<1) n=1; n = 1 + 0.5*(n-1); w1 = 2 / (n + 1); w2 = 1 - w1; //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double UpValue=0; double UpPrev[5]={0,0,0,0,0}; double DnValue=0; double DnPrev[5]={0,0,0,0,0}; int Rx; if (Shift<=0) Shift=1; PriceMax=0; int counted_bars=IndicatorCounted(); if (Counter==0) Counter=Bars; for (int Ix=Counter-Range;Ix>=0;Ix--) { PriceOpen=0; PriceClose=0; for (Rx=Ix;Rx<=Ix+Range;Rx++) { PriceOpen=PriceOpen+(iOpen(NULL,0,Ix)-iClose(NULL,0,Rx+Shift))/iClose(NULL,0,Rx+Shift)*100; PriceClose=PriceClose+(iClose(NULL,0,Ix)-iOpen(NULL,0,Rx+Shift))/iOpen(NULL,0,Rx+Shift)*100; } e1 = w1*PriceOpen + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3op = c1*e6 + c2*e5 + c3*e4 + c4*e3; OpenBuf[Ix]=t3op; e1 = w1*PriceClose + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3cl = c1*e6 + c2*e5 + c3*e4 + c4*e3; CloseBuf[Ix]=t3cl; } //---- //---- return(0); } //+------------------------------------------------------------------+
А вот так он теперь смотрится на чарте - сегодня очень четко показал тренд на евро, а старый сделал переломчик.
Всем привет.
Ещё немного изврата и получилось то, что видно на скрине.
//+------------------------------------------------------------------+ //| smSA_Trig.mq4 | //| Copyright © 2007, MetaQuotes Software Corp. | //| https://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, MetaQuotes Software Corp." #property link "https://www.metaquotes.net/" // модернизация: Тартан #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 White #property indicator_color4 White extern int Range=8; extern int Shift=3; extern int OfPoint=0; extern int Counter=300; extern int t3_period=8; extern double b=0.7; extern int trup=3; extern int trdn=-3; double OpenBuf[]; double CloseBuf[]; double TrigUp[],TrigDn[]; double PriceOpen,PriceClose,PriceMax,t3op,t3cl,av,t3av; double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3; int pr; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM,0,3,Lime); SetIndexBuffer(0,OpenBuf); SetIndexStyle(1,DRAW_HISTOGRAM,0,3,Red); SetIndexBuffer(1,CloseBuf); SetIndexStyle(2,DRAW_LINE,0,2,White); SetIndexBuffer(2,TrigUp); SetIndexStyle(3,DRAW_LINE,0,2,White); SetIndexBuffer(3,TrigDn); IndicatorShortName("smSA_Price("+Range+","+Shift+","+trup+","+trdn+")"); b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b+b3); c4=(1+3*b+b3+3*b2); n=t3_period; if (n<1) n=1; n = 1 + 0.5*(n-1); w1 = 2 / (n + 1); w2 = 1 - w1; if (Point>0.0002) pr=2; else pr=4; //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double UpValue=0; double UpPrev[5]={0,0,0,0,0}; double DnValue=0; double DnPrev[5]={0,0,0,0,0}; int Rx; if (Shift<=0) Shift=1; PriceMax=0; int counted_bars=IndicatorCounted(); if (Counter==0) Counter=Bars; for (int Ix=Counter-Range;Ix>=0;Ix--) { PriceOpen=0; PriceClose=0; for (Rx=Ix;Rx<=Ix+Range;Rx++) { PriceOpen=PriceOpen+(iOpen(NULL,0,Ix)-iClose(NULL,0,Rx+Shift))/iClose(NULL,0,Rx+Shift)*100; PriceClose=PriceClose+(iClose(NULL,0,Ix)-iOpen(NULL,0,Rx+Shift))/iOpen(NULL,0,Rx+Shift)*100; } e1 = w1*PriceOpen + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3op = c1*e6 + c2*e5 + c3*e4 + c4*e3; e1 = w1*PriceClose + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3cl = c1*e6 + c2*e5 + c3*e4 + c4*e3; av= NormalizeDouble(((t3op+t3cl)/2),pr); e1 = w1*av + w2*e1; e2 = w1*e1 + w2*e2; e3 = w1*e2 + w2*e3; e4 = w1*e3 + w2*e4; e5 = w1*e4 + w2*e5; e6 = w1*e5 + w2*e6; t3av = c1*e6 + c2*e5 + c3*e4 + c4*e3; if (t3av>=0) {OpenBuf[Ix]=t3av;TrigUp[Ix]=trup;} if (t3av<0) {CloseBuf[Ix]=t3av;TrigDn[Ix]=trdn;} } //---- //---- return(0); } //+------------------------------------------------------------------+
Попутного тренда и больших профитов.
Gep привет!
Да твоя доработка это класно но еще что-то нехватает, существують несколько класификаций движения тренда как я смог выявить :
1) полнейшее спокойствие рынка тобишь флет..
2) боковой тренд
3) тренд с затяжной тенденцией как при росте так и падении
и наконец 4) сам тренд будь то подъема или спада..
но сама суть в том что сам процесс свершившевося события (1-4) мы константируем при использовании индикаторов с запаздываниие в 2-4 тика это как минимум, но идея состоит сама в том что намечающиеся событие можно заранее определить по зараждающимся признакам. Вот и тот индикатор который ты доработал он дает тоже запаздывание но при этом если движение цены у нас есть волновой процесс то он как правило дает импульс на начало формирования более сильной волны будьто спад или подъем в это роли не играет а только определяется знаком волны..
Для бокового тренда я могу с опережение на 1 тик выявить вершину смены направления..
Привет.
Я тут посмотрел на днях и можно с уверенностью сказать, что при помощи твоего индикатора и индикатора Б.Вильямса - Фрактал на днях я иогу с точночтью до 1 бара показать вершину или подошву как говорят моряки волны. Посомтри на скрине я это пока зываю с помощью одного из своих индикаторов и подтверждаю твоим. Получается просто класс. Дай мыло пришлю этот индикатор, а выкладывать его здесь не буду. Он работает только на днях, т.к. там работаю я и предупреждает об этом. Если их использовать совместно, то веры сигналу много больше. Стрелка только предупреждение, что возможна смена глобально тренда и она будет стоять пока так и будет - работает по принципу гусеницыы на 50 барах. с 2-я стрелками и показом вершинок и впадин по Вильямсу. Попутного тренда и боьших профитов.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования