Делюсь Граалем

garry119

Гость
особой разницы не видно. просто пинбар добавлен в паттерны у новой версии
 

Вложения

  • Screenshot_194.png
    Screenshot_194.png
    121,9 КБ · Просмотры: 771

Belizas

Активный участник


Сегодня хочу поделиться с вами и провести обзор одного технического инструмента под названием — Price Action Dashboard, который способен автоматизировать процесс поиска на графике фигур и паттернов Price Action. Разработчики данного индикатора выбрали три самых популярных, и соответственно самых сильных форекс паттернов, и автоматизировали их поиск и определение на ценовом графике.
Это : Паттерн Пин-бар ; Сетап Double Bar ; Свечная модель поглощения (или Vertical bar).
Для любителей торговать с использованием Price Action, это настоящая находка, так как трейдеру остается только правильно определить тренд на рынке, нанести на график уровни поддержки и сопротивления, ожидать сигнала формирования модели от индикатора Price Action Dashboard, и при наличии таковой, принять решения для входа в сделку.
Настроики:
«Symbols» — это перечень символов валютных пар, по которым осуществляется поиск нужных форекс паттернов. По желанию, можно добавлять любые другие пары по которым ведется торговля, при этом не обязательно валюты (сырье, акции).
«M1 – MN Timeframe Enabled» — таймфреймы на которых будет проводиться поиск сетапов. Можно отключать те временные периоды на которых Вы не хотите чтобы проходила проверка (скорее всего это будут от М1 до М30, для новичков рекомендую вовсе выключить все, кроме старших ТФ).
«Sort by» и «Sort Type» — параметры сортировки в таблице инфопанели.



Далее идут настройки для отдельной свечной форекс модели, это те же: пин-бар, сетап double bar и vertical bar. Здесь все параметры интуитивно понятны.
Max Body Tail Ratio – максимальное соотношение тела к хвосту.
Большая часть настроек относится исключительно ко внешнему виду панели и способам оповещений.



После проведения и подтверждения всех настроек индикатор Price Action Dashboard, на графике появляется таблица (или инфопанель), в которой указаны следующие поля:
Символы валютных пар;
Таймфреймы для каждой из них;
Направление движения цены;
Название свечной форекс модели, которая формируется;
Возраст паттерна, то есть сколько баров назад он был сформирован;
Цена на которой было завершено формирование свечной модели;
Последняя колонка – это кнопки соответствующих графиков, где формируются указанные сетапы (при нажатии можно быстро перейти на нужный вам график и увидеть наглядно как сформировался тот или другой паттерн).

Удачи!!!

А с открытым кодом нет у Вас?
 

6349

Гуру форума
Отвечаю на два поста...
#define INDICATOR_VERSION 2 // VERSION 2
#define INDICATOR_NAME "Победа_2015"
#define RELEASE_LEVEL "Public"
#define MT4_BUILD 880

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 DodgerBlue // UpperLine
#property indicator_color2 OrangeRed // LowerLine
#property indicator_color3 LimeGreen // Target1
#property indicator_color4 LimeGreen // Target2
#property indicator_color5 DodgerBlue // BuyArrow
#property indicator_color6 OrangeRed // SellArrow
#property indicator_color7 DodgerBlue // BullDot
#property indicator_color8 OrangeRed // BearDot
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1
#property indicator_width5 3 // BuyArrow
#property indicator_width6 3 // SellArrow
#property indicator_width7 3 // BullDot
#property indicator_width8 3 // BearDot

extern string Notes = "15pip RangeBars Basic Setup";
extern int ZigZagDepth = 12;
extern double RetraceDepthMin = 0.4;
extern double RetraceDepthMax = 1.0;
extern bool ShowAllLines = True;
extern bool ShowAllBreaks = True;
extern bool ShowTargets = False;
extern double Target1Multiply = 1.5;
extern double Target2Multiply = 3.0;
extern bool HideTransitions = True;

// indicator buffers
double UpperLine[];
double LowerLine[];
double Target1[];
double Target2[];
double BuyArrow[];
double SellArrow[];
double BullDot[];
double BearDot[];

double firsthigh, firstlow, lasthigh, lastlow, prevhigh, prevlow, signalprice, brokenline;
datetime firsthightime, firstlowtime, lasthightime, lastlowtime, prevhightime, prevlowtime, signaltime;
datetime redrawtime; // remember when the indicator was redrawn

int signal;
#define NOSIG 0
#define BUYSIG 1
#define SELLSIG 2

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

int i;
for(i=0; i<=7; i++) SetIndexEmptyValue(i,EMPTY_VALUE);
if(ShowAllLines == True) SetIndexStyle(0,DRAW_LINE); else SetIndexStyle(0,DRAW_NONE);
if(ShowAllLines == True) SetIndexStyle(1,DRAW_LINE); else SetIndexStyle(1,DRAW_NONE);
if(ShowTargets == True) SetIndexStyle(2,DRAW_LINE); else SetIndexStyle(2,DRAW_NONE);
if(ShowTargets == True) SetIndexStyle(3,DRAW_LINE); else SetIndexStyle(3,DRAW_NONE);


SetIndexStyle(4,DRAW_ARROW); SetIndexArrow(4,SYMBOL_ARROWUP);
SetIndexStyle(5,DRAW_ARROW); SetIndexArrow(5,SYMBOL_ARROWDOWN);
SetIndexStyle(6,DRAW_ARROW); SetIndexArrow(6,159); // BullDot (WingDings character)
SetIndexStyle(7,DRAW_ARROW); SetIndexArrow(7,159); // BearDot (WingDings character)
SetIndexBuffer(0,UpperLine);
SetIndexBuffer(1,LowerLine);
SetIndexBuffer(2,Target1);
SetIndexBuffer(3,Target2);
SetIndexBuffer(4,BuyArrow);
SetIndexBuffer(5,SellArrow);
SetIndexBuffer(6,BullDot);
SetIndexBuffer(7,BearDot);
IndicatorShortName(INDICATOR_NAME);
IndicatorDigits(Digits);
if(ShowAllLines == True) SetIndexLabel(0,"UpperLine"); else SetIndexLabel(0,"");
if(ShowAllLines == True) SetIndexLabel(1,"LowerLine"); else SetIndexLabel(1,"");
if(ShowTargets == True) SetIndexLabel(2,"Target1"); else SetIndexLabel(2,"");
if(ShowTargets == True) SetIndexLabel(3,"Target2"); else SetIndexLabel(3,"");
SetIndexLabel(4,"BuyArrow");
SetIndexLabel(5,"SellArrow");
SetIndexLabel(6,"");
SetIndexLabel(7,"");
// cleanup display buffers

for(i=0; i<Bars; i++)
{
UpperLine = EMPTY_VALUE;
LowerLine = EMPTY_VALUE;
Target1 = EMPTY_VALUE;
Target2 = EMPTY_VALUE;
BuyArrow = EMPTY_VALUE;
SellArrow = EMPTY_VALUE;
BullDot = EMPTY_VALUE;
BearDot = EMPTY_VALUE;
}
// message to the experts log (shows in reverse order)
if(IsTesting() == False)
{
Print("Copyright © 2010 Robert Dee, All Rights Reserved");
Print("Free software for personal non-commercial use only. No guarantees are expressed or implied.");
Print(INDICATOR_NAME+" indicator version "+INDICATOR_VERSION+" for "+RELEASE_LEVEL+" release, compiled with MetaTrader4 Build "+MT4_BUILD);
}
Print("Init OK");

return(0);
} // end of init()

//+------------------------------------------------------------------+
//| Status Message prints below OHLC upper left of chart window
//+------------------------------------------------------------------+
void StatusMessage()
{
if(IsTesting() == True) return; // do no more
double multi = MathPow(10,Digits);
string msg = INDICATOR_NAME+" "+TimeToStr(TimeCurrent(),TIME_MINUTES)+" ";
if(signal == NOSIG) msg = msg + "NOSIG ";
if(signal == BUYSIG) msg = msg + "BUYSIG "+ TimeToStr(signaltime,TIME_MINUTES)+" "+DoubleToStr(signalprice,Digits)+" ";
if(signal == SELLSIG) msg = msg + "SELLSIG "+ TimeToStr(signaltime,TIME_MINUTES)+" "+DoubleToStr(signalprice,Digits)+" ";
msg = msg + "ZigZagDepth="+ZigZagDepth+" ";
//msg = msg + "RetraceDepth="+DoubleToStr(RetraceDepthMin,2)+" "+DoubleToStr(RetraceDepthMax,2)+" ";
//msg = msg + "Target1="+DoubleToStr(Target1Multiply,2)+" ";
//msg = msg + "Target2="+DoubleToStr(Target2Multiply,2)+" ";
msg = msg + "Spread="+DoubleToStr((Ask-Bid)*multi,0)+" ";
msg = msg + "Range="+DoubleToStr((High[0]-Low[0])*multi,0)+" ";
Comment(msg);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
// REDRAW ONLY ONE TIME PER CANDLE
if(redrawtime == Time[0]) {StatusMessage(); return(0);} // if already redrawn on this candle then do no more
else redrawtime = Time[0]; // remember when the indicator was redrawn

double zigzag, range, retracedepth, one, two, three;
datetime onetime, twotime, threetime;
int shift = Bars-1;
while(shift >= 0)
{
// UPPERLINES and LOWERLINES based on ZIGZAG
UpperLine[shift] = UpperLine[shift+1];
LowerLine[shift] = LowerLine[shift+1];
Target1[shift] = Target1[shift+1];
Target2[shift] = Target2[shift+1];
//BuyArrow[shift] = EMPTY_VALUE;
//SellArrow[shift] = EMPTY_VALUE;
BullDot[shift] = EMPTY_VALUE;
BearDot[shift] = EMPTY_VALUE;
zigzag = iCustom(NULL,0,"ZigZag",ZigZagDepth,5,3,0,shift);
if(zigzag == High[shift])
{
UpperLine[shift] = High[shift];
firsthigh = prevhigh; firsthightime = prevhightime;
prevhigh = lasthigh; prevhightime = lasthightime;
lasthigh = zigzag; lasthightime = Time[shift];
}
if(zigzag == Low[shift])
{
LowerLine[shift] = Low[shift];
firstlow = prevlow; firstlowtime = prevlowtime;
prevlow = lastlow; prevlowtime = lastlowtime;
lastlow = zigzag; lastlowtime = Time[shift];
}

///////////////////////////
// BULLISH BREAK ABOVE #2
one = prevlow; onetime = prevlowtime;
two = lasthigh; twotime = lasthightime; if(twotime == Time[shift]){two = prevhigh; twotime = prevhightime;}
three = lastlow; threetime = lastlowtime;
if(one - two != 0) retracedepth = (three - two) / (one - two); // retrace depth
// signal rules
if(shift > 0)
if(retracedepth > RetraceDepthMin) // minimum retrace depth for 123 pattern
if(retracedepth < RetraceDepthMax) // maximum retrace depth for 123 pattern
if(brokenline != UpperLine[shift]) // if this line has not already been broken
if(Low[shift] < UpperLine[shift]) // low of rangebar is below the line
if(Close[shift] > UpperLine[shift]) // close of rangebar body is above the line (break)
{
range = MathAbs(two - three); // range is the distance between two and three
Target1[shift] = two+(range*Target1Multiply);
Target2[shift] = two+(range*Target2Multiply);
BuyArrow[shift] = Low[shift]-(High[shift]-Low[shift])/3;
BullDot[iBarShift(NULL,0,onetime)] = one; // ONE
BullDot[iBarShift(NULL,0,twotime)] = two; // TWO
BullDot[iBarShift(NULL,0,threetime)] = three; // THREE
signal = BUYSIG;
signaltime = Time[shift];
signalprice = BuyArrow[shift];
brokenline = UpperLine[shift];
}

/////////////////////////////////////////////
// BULLISH BREAK OF UPPERLINE (NOT 123 SETUP)
// signal rules
if(shift > 0)
if(ShowAllBreaks == True)
if(brokenline != UpperLine[shift]) // if this line has not already been broken
if(Low[shift] < UpperLine[shift]) // low of rangebar is below the line
if(Close[shift] > UpperLine[shift]) // close of rangebar body is above the line (break)
{
range = UpperLine[shift]-LowerLine[shift];
Target1[shift] = UpperLine[shift]+(range*Target1Multiply);
Target2[shift] = UpperLine[shift]+(range*Target2Multiply);
BuyArrow[shift] = Low[shift]-(High[shift]-Low[shift])/3;
signal = BUYSIG;
signaltime = Time[shift];
signalprice = BuyArrow[shift];
brokenline = UpperLine[shift];
}

///////////////////////////
// BEARISH BREAK BELOW #2
one = prevhigh; onetime = prevhightime;
two = lastlow; twotime = lastlowtime; if(twotime == Time[shift]){two = prevlow; twotime = prevlowtime;}
three = lasthigh; threetime = lasthightime;
if(one - two != 0) retracedepth = (three - two) / (one - two); // retrace depth
// signal rules
if(shift > 0)
if(retracedepth > RetraceDepthMin) // minimum retrace depth for 123 pattern
if(retracedepth < RetraceDepthMax) // maximum retrace depth for 123 pattern
if(brokenline != LowerLine[shift]) // if this line has not already been broken
if(High[shift] > LowerLine[shift]) // high of rangebar is above the line
if(Close[shift] < LowerLine[shift]) // close of rangebar is below the line (break)
{
range = MathAbs(two - three); // range is the distance between two and three
Target1[shift] = two-(range*Target1Multiply);
Target2[shift] = two-(range*Target2Multiply);
SellArrow[shift] = High[shift]+(High[shift]-Low[shift])/3;
BearDot[iBarShift(NULL,0,onetime)] = one; // ONE
BearDot[iBarShift(NULL,0,twotime)] = two; // TWO
BearDot[iBarShift(NULL,0,threetime)] = three; // THREE
signal = SELLSIG;
signaltime = Time[shift];
signalprice = SellArrow[shift];
brokenline = LowerLine[shift];
}

/////////////////////////////////////////////
// BEARISH BREAK OF LOWERLINE (NOT 123 SETUP)
// signal rules
if(shift > 0)
if(ShowAllBreaks == True)
if(brokenline != LowerLine[shift]) // if this line has not already been broken
if(High[shift] > LowerLine[shift]) // high of rangebar is above the line
if(Close[shift] < LowerLine[shift]) // close of rangebar is below the line (break)
{
range = UpperLine[shift]-LowerLine[shift];
Target1[shift] = LowerLine[shift]-(range*Target1Multiply);
Target2[shift] = LowerLine[shift]-(range*Target2Multiply);
SellArrow[shift] = High[shift]+(High[shift]-Low[shift])/3;
signal = SELLSIG;
signaltime = Time[shift];
signalprice = SellArrow[shift];
brokenline = LowerLine[shift];
}

// TARGET LINE RULES
if(signal == BUYSIG)
{
if(Low[shift] > Target1[shift]) Target1[shift] = EMPTY_VALUE;
if(Low[shift] > Target2[shift]) Target2[shift] = EMPTY_VALUE;
}
if(signal == SELLSIG)
{
if(High[shift] < Target1[shift]) Target1[shift] = EMPTY_VALUE;
if(High[shift] < Target2[shift]) Target2[shift] = EMPTY_VALUE;
}

// HIDE LINE TRANSITIONS
if(HideTransitions == True)
{
if(UpperLine[shift] != UpperLine[shift+1]) UpperLine[shift+1] = EMPTY_VALUE;
if(LowerLine[shift] != LowerLine[shift+1]) LowerLine[shift+1] = EMPTY_VALUE;
if(Target1[shift] != Target1[shift+1]) Target1[shift+1] = EMPTY_VALUE;
if(Target2[shift] != Target2[shift+1]) Target2[shift+1] = EMPTY_VALUE;
}

shift--; // move ahead one candle
}

// update the status display
StatusMessage();
return(0);
}// end of start()

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
// cleanup display buffers
for(int i=0; i<Bars; i++)
{
UpperLine = EMPTY_VALUE;
LowerLine = EMPTY_VALUE;
Target1 = EMPTY_VALUE;
Target2 = EMPTY_VALUE;
BuyArrow = EMPTY_VALUE;
SellArrow = EMPTY_VALUE;
BullDot = EMPTY_VALUE;
BearDot = EMPTY_VALUE;
}
Comment("");
return(0);
}// end of deinit()
 
Последнее редактирование модератором:

Deggit1108

Местный знаток
На скрине по ходу больше в бай чем сел ))

Рынок часто показывает нам то, что мы хотим видеть. И это видят 95% тех самых трейдеров.;)

да мне много и не надо. zero lag stoh 5 3 3 на уровне 15 закрепится и мне хватит.
 

Вложения

  • Безымянный.png
    Безымянный.png
    53 КБ · Просмотры: 617
Последнее редактирование:

Deggit1108

Местный знаток
Рынок часто показывает нам то, что мы хотим видеть. И это видят 95% тех самых трейдеров.;)

да мне много и не надо. zero lag stoh 5 3 3 на уровне 15 закрепится и мне хватит.

а может подожду:)
 

Вложения

  • Безымянный1.png
    Безымянный1.png
    40 КБ · Просмотры: 452

Fehu

Местный знаток
Господа и дамы не поделитесь стрелочником адекватным не рисует который и показывает стрелку на нулевом баре.
 

magistr91

Местный знаток
Господа и дамы не поделитесь стрелочником адекватным не рисует который и показывает стрелку на нулевом баре.

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

ВАСЯ................

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


ДЕРЖИ БРАТИШКА
 

Вложения

  • CCI Inverse (5).mq4
    CCI Inverse (5).mq4
    11,3 КБ · Просмотры: 214
  • DCE_BB_v3gm.mq4
    DCE_BB_v3gm.mq4
    27,5 КБ · Просмотры: 207
  • Снимок.PNG
    Снимок.PNG
    29,1 КБ · Просмотры: 1 372

Fehu

Местный знаток
А вот для чего стрелочник нужен на скрине думаю все понятно
в данном случае стрелки от индикатора Танка Стохастик
 

Вложения

  • 2017-07-19_19-44-30.png
    2017-07-19_19-44-30.png
    67,4 КБ · Просмотры: 814

ВАСЯ................

VIP-участник
А вот для чего стрелочник нужен на скрине думаю все понятно
в данном случае стрелки от индикатора Танка Стохастик

вот этот ещё можно если покрутить настройки и котировки влияют на показатель win






детишкам конфет не забудьте купить если заработаете
 

Вложения

  • DOT.MMS_v1.mq4
    DOT.MMS_v1.mq4
    25,9 КБ · Просмотры: 420
  • Снимок.PNG
    Снимок.PNG
    44,7 КБ · Просмотры: 1 123
Последнее редактирование:

Fehu

Местный знаток

сергей1131

VIP-участник
Не грааль, Таки приходится думать. Уровень, веер, WPR/
 

Вложения

  • Screenshot_5.png
    Screenshot_5.png
    73,7 КБ · Просмотры: 572

сергей1131

VIP-участник
Привет Мувинг. Стыдно мне коллега, что жизнь почти шо прожил, а индики выкладывать таки не научился. На графике WPR multi ( есть в тырнете) и добавил к нему WPR 5 ( для д1 -wpr 8).
 
Верх