semafor +123 triangles(1).mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «semafor +123 triangles(1).mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор рассчитывает три уровня аналитических семафоров (быстрый, средний и медленный) на основе алгоритма ZigZag с настраиваемыми периодами и глубиной. Семафоры отображаются в виде стрелок на графике цены и могут быть включены или отключены независимо друг от друга.
Индикатор способен обнаруживать паттерн «1-2-3» на основе комбинации семафоров разных уровней и автоматически рисовать треугольники, ценовые метки и лучи на графике. Визуальные элементы можно настраивать по цветам, стилям линий и ширине.
Встроена система уведомлений: индикатор может отправлять алерты при появлении семафоров и при формировании треугольных паттернов. Также доступна опция отображения уровней Фибоначчи и линий истечения для ценовых меток.
Параметры индикатора включают количество обрабатываемых баров, ограничение на размер треугольников и настройки визуального оформления. Все настройные параметры доступны в окне свойств индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| ShowSemaforsH | Переключатель отображения стрелок медленного уровня семафора. |
| ShowSemaforsN | Переключатель отображения стрелок среднего уровня семафора. |
| ShowSemaforsF | Переключатель отображения стрелок быстрого уровня семафора. |
| ShowFiboLevels | Переключатель отображения уровней Фибоначчи при обнаружении треугольников. |
| Period1 | Период расчёта для быстрого уровня семафора. |
| Period2 | Период расчёта для среднего уровня семафора. |
| Period3 | Период расчёта для медленного уровня семафора. |
| Width1 | Ширина линий стрелок быстрого уровня семафора. |
| Width2 | Ширина линий стрелок среднего уровня семафора. |
| Width3 | Ширина линий стрелок медленного уровня семафора. |
| BarsCount | Количество баров, участвующих в расчёте треугольных паттернов и поиске семафоров. |
| note | Текстовый параметр, используемый как разделитель в окне настроек индикатора. |
| ShowTriangles | Переключатель отображения треугольников на графике. |
| FillUp | Переключатель заливки треугольников на графике. |
| ShowMarks | Переключатель отображения ценовых меток на графике. |
| BuyTriangle | Цвет треугольника, рисуемого на графике при обнаружении паттерна на покупку. |
| SellTriangle | Цвет треугольника, рисуемого на графике при обнаружении паттерна на продажу. |
| BuyMark | Цвет ценовой метки, устанавливаемой при обнаружении паттерна «1-2-3» на покупку. |
| SellMark | Цвет ценовой метки, устанавливаемой при обнаружении паттерна «1-2-3» на продажу. |
| Width | Ширина линий треугольников на графике. |
| copy | Префикс имён графических объектов, создаваемых индикатором на графике. |
| ShowRay | Переключатель отображения лучей при формировании треугольников. |
| BuyRayColor | Цвет луча, рисуемого при формировании треугольника на покупку. |
| SellRayColor | Цвет луча, рисуемого при формировании треугольника на продажу. |
| rayStyle | Стиль линий лучей, рисуемых при формировании треугольников. |
| rayWidth | Ширина линий лучей на графике. |
| _____ | Разделитель группы настроек уведомлений. |
| ShowAlert | Переключатель отправки алертов при появлении семафоров на графике. |
| ShowAlertTr | Переключатель отправки алертов при формировании треугольных паттернов. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 clrRed
#property indicator_color2 clrRed
#property indicator_color3 clrYellow
#property indicator_color4 clrYellow
#property indicator_color5 clrGreen
#property indicator_color6 clrGreen
input bool ShowSemaforsH = true;
input bool ShowSemaforsN = true;
input bool ShowSemaforsF = true;
input bool ShowFiboLevels = FALSE;
input int Period1 = 12;
input int Period2 = 12;
input int Period3 = 120;
input int Width1 = 5;
input int Width2 = 5;
input int Width3 = 5;
input int BarsCount = 500;
input string note = "---------- Треугольники -----------";
input bool ShowTriangles = true;
input int ОграничительТреугольников = 0;
input bool FillUp = FALSE;
input bool ShowMarks = true;
input color BuyTriangle = clrDeepPink;
input color SellTriangle = clrDodgerBlue;
input color BuyMark = clrRed;
input color SellMark = clrBlue;
input int Width = 2;
input int ЦеноваяМетка = 5; // 6
input string copy = "tri 1";
input bool ShowRay = true;
input color BuyRayColor = clrDeepPink;
input color SellRayColor = clrDodgerBlue;
input ENUM_LINE_STYLE rayStyle = STYLE_DASH;
input int rayWidth = 0;
int Dev=1;
int Stp=1;
int Symbol_1_Kod=158;
int Symbol_2_Kod=159;
int Symbol_3_Kod=82;
input string _____ = " Оповещение";
input bool ShowAlert = false;
input bool ShowAlertTr = true;
double FP_BuferUp[], FP_BuferDn[], NP_BuferUp[], NP_BuferDn[], HP_BuferUp[], HP_BuferDn[];
string symbol=Symbol();
int Type1, Type2, Type3, key, keyTr, Ограничитель;
color tColor = Yellow ;
int init() {
// код доступен только после оплаты
}
int deinit() { _delete_line (); ObjectsDeleteAll(0,copy+":");Comment(""); return(0); }
int start() {
// код доступен только после оплаты
}
double Triangels() {
bool up;
double OpenPrice, semafor3d, semafor3u, semafor1d, semafor1u, upper, lower;
double price1, price2, price3, semafor3dn, semafor3up;
int zz, lev1, time1, time2, time3;
if(keyTr!=Time[0]) {
_delete_line ();
/*
if (zz1>0) CountZZ(FP_BuferUp,FP_BuferDn,zz1,Dev,Stp);
if (zz2>0) CountZZ(NP_BuferUp,NP_BuferDn,zz2,Dev,Stp);
if (zz3>0) CountZZ(HP_BuferUp,HP_BuferDn,zz3,Dev,Stp);
*/
double spread=MarketInfo(Symbol(), MODE_SPREAD)*Point;
for(zz=BarsCount; zz>=1; zz--) {
price1=0; price2=0; price3=0;
semafor3d=0; semafor3u=0;
semafor3d=HP_BuferUp[zz];
semafor3u=HP_BuferDn[zz];
time1=Time[zz];
if(semafor3d>0) {
price1=semafor3d;
up=false;
OpenPrice=0; upper=0;
for(lev1=zz-1; lev1>=1; lev1--) {
semafor3dn=HP_BuferUp[lev1];
semafor3up=HP_BuferDn[lev1];
if(semafor3up>0 || semafor3dn>0) break;
if(!up) {
semafor1u=FP_BuferDn[lev1];
if(semafor1u>0) upper=semafor1u;
if(upper>0 && upper>=semafor3d) {
price2=upper;
time2=Time[lev1];
up=true;
}
}
else {
lower=FP_BuferUp[lev1+1];
if(lower>0 && lower>=semafor3d) {
time3=Time[lev1+1];
price3=lower;
}
}
if(price1>0 && price2>0 && price3>0) {
OpenPrice=10;
if(lev1==1 && ShowAlertTr) Alert(Symbol()," ", Period(), " Buy!!! Отложку на ", DoubleToStr(price2+2*2*Point+spread,Digits));
break;
}
}
if(OpenPrice>0 && price2-price1<Ограничитель*Point)
{
DrawTriangle(copy+"123h"+zz, time1, price1, time2, price2, time3, price3, BuyTriangle);
DrawArrow(copy+"123_X"+lev1, time2/*+Period()*60*/, price2+2*Point+spread, BuyMark);
if (ShowFiboLevels)
{
string nameObjLF=copy+"123"+"_BFibo_"+DoubleToStr(price2+2*Point+spread,Digits);
if (ObjectFind(nameObjLF)<0)
{
ObjectCreate(nameObjLF, OBJ_FIBO, 0, time2, price2, time1, price1);
ObjectSet(nameObjLF, OBJPROP_LEVELCOLOR, BuyTriangle);
ObjectSet(nameObjLF, OBJPROP_STYLE, 0);
ObjectSet(nameObjLF, OBJPROP_WIDTH, 1);
ObjectSet(nameObjLF, OBJPROP_RAY,0);
ObjectSet(nameObjLF, OBJPROP_BACK,1);
}
}
if (ShowRay)
{
string name = copy+":"+time1;
ObjectDelete(name);
ObjectCreate(name,OBJ_TREND,0,time1,price1,time3,price3,0);
ObjПоказано первые 50% кода (символов: 10440)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.