123PatternsV6
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «123 patterns v6 source code.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
123PatternsV6 — аналитический индикатор для MetaTrader, который анализирует ценовые графики, используя точки разворота для построения линий поддержки и сопротивления. Индикатор отслеживает пробитие этих линий ценой и отмечает потенциальные точки разворота стрелками и точками на графике.
Индикатор позволяет настраивать отображение линий, сигналов пробития и целевых уровней. Целевые уровни рассчитываются на основе диапазона цены и пользовательских множителей. В режиме реального времени на графике отображается статус текущего сигнала, спред и диапазон бара.
Индикатор работает в отдельном графике (chart window) и использует 8 буферов для отрисовки линий, стрелок и точек. Поддерживается очистка отображения при деинициализации и обновление информации при каждом новом баре.
Настройки программы
| Настройка | Описание |
|---|---|
| Notes | Заметки — Текстовая заметка пользователя, отображаемая в настройках индикатора для описания текущей конфигурации. |
| ZigZagDepth | Глубина ZigZag — Глубина поиска разворотов для построения линий ZigZag. |
| RetraceDepthMin | Минимальная глубина отката — Минимальный коэффициент отката для формирования сигнала паттерна. |
| RetraceDepthMax | Максимальная глубина отката — Максимальный коэффициент отката для формирования сигнала паттерна. |
| ShowAllLines | Показать все линии — Отображение линий поддержки и сопротивления, построенных по точкам разворота. |
| ShowAllBreaks | Показать все пробития — Отображение всех сигналов пробития линий, включая те, которые не соответствуют полному паттерну. |
| ShowTargets | Показать целевые уровни — Отображение целевых уровней на графике при формировании сигнала. |
| Target1Multiply | Множитель цели 1 — Коэффициент для расчёта первого целевого уровня от цены разворота. |
| Target2Multiply | Множитель цели 2 — Коэффициент для расчёта второго целевого уровня от цены разворота. |
| HideTransitions | Скрыть переходы линий — Скрытие линий переходов между барами: при включении линии не отображаются на барах, где значение не изменилось. |
Поиск по коду файла
#define INDICATOR_VERSION 20101105 // VERSION 6
#define INDICATOR_NAME "123PatternsV6"
#define RELEASE_LEVEL "Public"
#define MT4_BUILD 226
#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 = 1;
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;
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
int init()
{
// код доступен только после оплаты
} // end of init()
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 + "Spread="+DoubleToStr((Ask-Bid)*multi,0)+" ";
msg = msg + "Range="+DoubleToStr((High[0]-Low[0])*multi,0)+" ";
Comment(msg);
}
int start()
{
// код доступен только после оплаты
}
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)
{
UpperLine[shift] = UpperLine[shift+1];
LowerLine[shift] = LowerLine[shift+1];
Target1[shift] = Target1[shift+1];
Target2[shift] = Target2[shift+1];
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[shiПоказано первые 50% кода (символов: 8782)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.