alexgomel Опубликовано 21 октября, 2006 Жалоба Поделиться Опубликовано 21 октября, 2006 ATR_Levels.zip Murrey_Math.zipPivot.zipPivotDaily.zipRES_SUP.zipSupport_and_Resistance__Barry_.zipWeeklyPivot.zip Ссылка на комментарий Поделиться на другие сайты Поделиться
MeatCrash Опубликовано 18 ноября, 2006 Жалоба Поделиться Опубликовано 18 ноября, 2006 А как всем этим пользоваться? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ruslan71 Опубликовано 8 января, 2007 Жалоба Поделиться Опубликовано 8 января, 2007 Как установить Пивот на платформу МТ4? Ссылка на комментарий Поделиться на другие сайты Поделиться
Master Опубликовано 9 января, 2007 Жалоба Поделиться Опубликовано 9 января, 2007 (изменено) Как установить Пивот на платформу МТ4?Закинь сюда ..\experts\indicators и перегрузи терминал.Потом в терминале добавишь индикатор на график. Изменено 9 января, 2007 пользователем Master Ссылка на комментарий Поделиться на другие сайты Поделиться
alex69 Опубликовано 20 января, 2007 Жалоба Поделиться Опубликовано 20 января, 2007 ATR_Levels.zip Murrey_Math.zipPivot.zipPivotDaily.zipRES_SUP.zipSupport_and_Resistance__Barry_.zipWeeklyPivot.zip Господа, разжуйте для чайника как этими индикаторами пользоваться! Ссылка на комментарий Поделиться на другие сайты Поделиться
Сидор Опубликовано 25 апреля, 2007 Жалоба Поделиться Опубликовано 25 апреля, 2007 У кого нибудь есть месячный пивот? Ссылка на комментарий Поделиться на другие сайты Поделиться
nnr2 Опубликовано 29 апреля, 2007 Жалоба Поделиться Опубликовано 29 апреля, 2007 Уважаемые, а все эти индикаторы в Метастоке 8 будут работать? Как подключить? Ссылка на комментарий Поделиться на другие сайты Поделиться
VladMih Опубликовано 27 мая, 2007 Жалоба Поделиться Опубликовано 27 мая, 2007 (изменено) Давно ищу нормальный пивотный индикатор(был, потерял). Требования:1. Стандартный пивот с двумя-тремя уровнями сопр/подд.2. Регулировка GMTShift (сдвиг точки начала расчёта суток или сессии)3. Отображение истории (желательна регулировка в днях)4. Должен хорошо (корректно) отображаться при работе в тестере.5. Желательно больше никаких наворотов.Вот такое скромное пожелание. ИМХО не только мне пригодится. Возможна замена на Камариллу, подходящую под эти же требования. У кого нибудь есть месячный пивот?Если ты точно уверен, что он тебе нужен, то поищу.Из папки терминала удалил давно, а в загашнике может и остался.Он НИЧЕГО не даёт.Вместо него гораздо лучше (точней) пользоваться глобальными (месячными, годовыми) максимумами/минимумами.ИМХО. Не навязываю, но сам посмотри.Ну, а если уж и стремиться к глобализму, то лучше всего должны быть годовые, пятилеточные и т.д. пивоты. :) Изменено 27 мая, 2007 пользователем VladMih Ссылка на комментарий Поделиться на другие сайты Поделиться
VladMih Опубликовано 27 мая, 2007 Жалоба Поделиться Опубликовано 27 мая, 2007 (изменено) Поискал, нашёл в почте от автора. Вдруг чел действительно сумеет это круто использовать:...Эй-е-ейЁ!Подгодтовил архив и не знаю как его приат...собачить!Первый раз такое в моей некороткой инетовской жизни! :)Подскажите КАК - вложу - 4 пивота.2 "нормальных" + 1 недельный + 1 месячный P.S. ещё раз всё просмотрел. Кто так круто всё замутил?....Вижу только присобачивание КАРТИНОК, а других файлов - не вижу. Изменено 27 мая, 2007 пользователем VladMih Ссылка на комментарий Поделиться на другие сайты Поделиться
VladMih Опубликовано 29 мая, 2007 Жалоба Поделиться Опубликовано 29 мая, 2007 Сюда никто не заходит, что ли??? Подскажите хоть как прикрепить архив, плз.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Август Опубликовано 29 мая, 2007 Жалоба Поделиться Опубликовано 29 мая, 2007 Жмите ответить => прикрепить файл => выбираете нужный файлИ будет вам счастье Ссылка на комментарий Поделиться на другие сайты Поделиться
VladMih Опубликовано 29 мая, 2007 Жалоба Поделиться Опубликовано 29 мая, 2007 Жмите ответить => прикрепить файл => выбираете нужный файлИ будет вам счастьеХе! Оказывается тут бывают люди :) Нету у меня "прикрепить файл". Сто лет прикрепляю, а тут вижу только (по порядку):"вставить ссылку", "... мыло", "... изображение", "цитата", "код" На этом ВСЁ. Дальше уже идёт форматирование. ДО этого - стили. :( При переключении на предварительный просмотр ТОЖЕ НИЧЕГО НЕ ПОЯВЛЯЕТСЯ. Ссылка на комментарий Поделиться на другие сайты Поделиться
Август Опубликовано 29 мая, 2007 Жалоба Поделиться Опубликовано 29 мая, 2007 См. картинку Ссылка на комментарий Поделиться на другие сайты Поделиться
VladMih Опубликовано 29 мая, 2007 Жалоба Поделиться Опубликовано 29 мая, 2007 (изменено) См. картинкуХе... До такого я додумался БЫ, ноУ меня между блоками опций и иконок сообщения НЕТ блока загрузки. Что-то ишак не хочет сегодня от меня картинки брать.Можно посмотреть мой "ответ Чемберлену" здесь - http://www.megaupload.com/?d=3YC1S9JU P.S. И форум глючит и провайдеры у вас где-то в районе Киева (делал трассировки)не хочет работать нормально. Изменено 29 мая, 2007 пользователем VladMih Ссылка на комментарий Поделиться на другие сайты Поделиться
_Серега_ Опубликовано 9 октября, 2007 Жалоба Поделиться Опубликовано 9 октября, 2007 Почему то не могу прикреплять ни файлы ни картинки, поэтому кидаю код индикатора пайвотов - разработка моя, настроен сразу на время Альпари, то есть расчет по закрытию суток 22GMT, совмещен с сессионным индикатор, кроме того расчитывает размер оптимального стоп лосса, для позиций, которые сопровождаются более одного дня по тренду.Спроектированно для интрадей визуализации, используемые таймфреймы не более часовика, с большего таймфрема не получается считывать нужный диапазон времени, за счет смещения, ну и пайвот при расчете без учета закрытия - отрабатывает гораздо точнее, чем стандартный пайвот, тестировал на советниках на всех валютных парах.//+------------------------------------------------------------------+//| inday.mq4 |//| Copyright © 2007, MetaQuotes Software Corp. |//| http://www.metaquotes.net |//+------------------------------------------------------------------+#property copyright "Copyright © 2007, MetaQuotes Software Corp."#property link "http://www.metaquotes.net" #property indicator_chart_window//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+//-------------------------------------------------------------------- int GMTshift =2;// Сдвиг для Альпари +2(лето) +1(зима) и надо 22-> -2// Сдвиг настраивается на 22GMT //------- Внешние параметры индикатора -------------------------------extern int NumberOfDays = 40; // Количество днейextern string AsiaBegin = "01:00"; // Открытие азиатской сессииextern string AsiaEnd = "10:00"; // Закрытие азиатской сессииextern color AsiaColor = Goldenrod; // Цвет азиатской сессииextern string EurBegin = "08:00"; // Открытие европейской сессииextern string EurEnd = "16:00"; // Закрытие европейской сессииextern color EurColor = Tan; // Цвет европейской сессииextern string USABegin = "12:00"; // Открытие американской сессииextern string USAEnd = "23:00"; // Закрытие американской сессииextern color USAColor = PaleGreen; // Цвет американской сессии //-------------------------------------------------------------------+ double dayv_open =0; //закрытие double dayv_close =0; //открытиеdouble dayv_high =0; //максиум double dayv_low =0; //мимниумint dayb_high =0; //бар максиума int dayb_low =0; //бар миниума int dayb_start =0; //бар начала от 0 барint dayb_end =0; //бар завершения от 0 бар int dayv0 =0; //дата начала (в цикле она смещается, надо запомнить) //-------------------------------------------------------------------- double week_open =0; //открытие неделиdouble week_high =0; //недельный максиумdouble week_low =0; //недельный миниум double week_close =0; //недельное закрытие //-------------------------------------------------------------------- int crossMA_b1 =0; //пересечение MA бар 1int crossMA_b2 =0; //пересечение MA бар 2int crossMA_b3 =0; //пересечение MA бар 3int day_MA1 =0; //MA1 для предыдущего дняint day_MA2 =0; //MA2 для предыдущего дня //-------------------------------------------------------------------------- double Pivot, R1, R2, R3, S1, S2, S3, R4, S4 ; //-------------------------------------------------------------------------- extern double Lots = 0.1;extern double TrailingStop = 20; //-------------------------------------------------------------------------- int MAGIC_BUY = 1; //Магик для отложников на продажуint MAGIC_SELL = 2; //Магик для отложников на покупкуint UR_Step = 10; //Верхняя зона реакции уровня int DR_Step = 10; //Нижняя зона реакции уровняint SlipPage = 2; //Размер допустимого проскальзыванияint CurrentDay = 0; //Сегодняшний день //-------------------------------------------------------------------------- int M_MA = 21;int S_MA = 96; int today = 0;int ticket = 0; void init() { DeleteObjects(); for (int i=0; i<NumberOfDays; i++) { CreateObjects("AS"+i, AsiaColor); CreateObjects("EU"+i, EurColor); CreateObjects("US"+i, USAColor); } Comment("");}//--------------------------------------------------------------------------------------------------------------- void deinit() { DeleteObjects(); Comment("");} //+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start() { //int counted_bars=IndicatorCounted(); OrdersDaySetup(); datetime dt=CurTime(); for (int i=0; i<NumberOfDays; i++) { DrawObjects(dt, "AS"+i, AsiaBegin, AsiaEnd); DrawObjects(dt, "EU"+i, EurBegin, EurEnd); DrawObjects(dt, "US"+i, USABegin, USAEnd); //уменьшение объектов на один день dt=decDateTradeDay(dt); while (TimeDayOfWeek(dt)>5) dt=decDateTradeDay(dt); } return(0); }//+------------------------------------------------------------------+ void OrdersDaySetup() { //проверяем наступление нового дня, по факту наступления закрываем все отложники //и устанавливаем новые по новым уровням if (CurrentDay == 0 || CurrentDay != TimeDay(Time[0]-(GMTshift*3600))) { //Comment ("Новые сутки"); //DeleteStopOrders(); CurrentDay = TimeDay(Time[0]-(GMTshift*3600)); if (FindDayPeriod(2)==2) { DayLevels(1,1); GetPivot(); UR_Step=NormalizeDouble((R1-S1)/4/Point,0); DR_Step=NormalizeDouble((R1-S1)/4/Point,0); TrailingStop = NormalizeDouble((R1-S1)/2/Point,0); Comment ("Оптимальный параметр трейлинг-стопа - ", TrailingStop); } } } int FindDayPeriod(int day_period=0)// возвращает наличие на графике количества дней переданных в аргумент запроса//---------------------------------------------------------------------------------------- { int cnt=0; int d=0; int c=0; d=TimeDay(Time[cnt]-(GMTshift*3600)); while (cnt<Bars-1) { if(TimeDay(Time[cnt]-(GMTshift*3600))==d) { if(TimeDay(Time[cnt+1]-(GMTshift*3600))!=d) { if(c==day_period) { return(day_period); break;} if(c<day_period+1) { d=TimeDay(Time[cnt+1]-(GMTshift*3600)); c++; } //смещение } } cnt++; } }//---void DayLevels(int da = 1,int da_shift=1)// Расчет уровней миниума, максиума, закрытия, открытия за день// или указанное количество дней// ------------------------------------------------------------ { // Если таймфрайм больше чем часовой, тогда выводим сообщение, // что необходим таймфрейм не больше часового if(Period()>60) { Comment("Для расчета PIVOTS необходим таймфрейм не старше часового!"); return(0); } dayv_open =0; //открытие dayv_close =0; //закрытие dayv_high =0; //максиум dayv_low =0; //мимниум dayb_high =0; //бар максиума dayb_low =0; //бар миниума dayb_start =0; //бар начала от 0 бар (конец диапазона по времени) dayb_end =0; //бар завершения от 0 бар (начало диапазона по времени) dayv0 =0; //дата начала dayv0=TimeDay(Time[0]-(GMTshift*3600)); int dayb=0; int cnt=0; int cnt_da=da; //default 1 int cnt_da_shift=da_shift; //default 1 while (cnt<Bars-1) { // с какого дня считать, цикл начинаеся с сегодня // если день 1, тогда игноируем сегодня и считаем завтра if (TimeDay(Time[cnt]-(GMTshift*3600))==dayv0) { //последний день сегодня if (TimeDay(Time[cnt+1]-(GMTshift*3600))!=dayv0) { if (cnt_da_shift==1) // инициализируем переменные расчета { //инициализируем начальную дату dayb=TimeDay(Time[cnt+1]-(GMTshift*3600)); //Comment (dayb); // Максиум и миниум, а также цену закрытия и открытия dayv_close=Close[cnt+1]; //закрытие dayv_high=High[cnt+1]; //максиум dayv_low=Low[cnt+1]; //мимниум //запоминаем номера баров dayb_start = cnt; //закрытие бар dayb_high = cnt; //максиум бар dayb_low = cnt; //мимниум бар } if (cnt_da_shift>1) // тогда запускаем отсчет до указанного дня { //вычитаем единичку от счетчика cnt_da_shift--; //смещаем дату dayv0 = TimeDay(Time[cnt+1]-(GMTshift*3600)); } } } //цикл расчета для дня dayb, но если день понедельник if (TimeDay(Time[cnt]-(GMTshift*3600))==dayb) { //росмотр Low - High if(High[cnt] > dayv_high) { //обновление значений dayv_high = High[cnt]; dayb_high = cnt; } if(Low[cnt] < dayv_low) { //обновление значений dayv_low = Low[cnt]; dayb_low = cnt; } //обнаружение конца дня, если идут свечки воскресенья, тогда сдвигаем if (TimeDayOfWeek(Time[cnt]-(GMTshift*3600))==0) { // считать и пятничные свечки dayb = TimeDay(Time[cnt+1]-(GMTshift*3600)); } if(TimeDay(Time[cnt+1]-(GMTshift*3600))!=dayb) { dayv_open = Open[cnt]; //закрытие dayb_end = cnt; //Выводим полученную информацию //Comment ("Входные параметры: смещение в днях для расчета - ", da_shift , " дней расчета - ", da, "\n","Результат: открытие - ", dayv_open , " закрытие - ", dayv_close," максиум - ", dayv_high, " миниум - ", dayv_low); if(cnt_da == 1){break;} if(cnt_da > 1) { //смещение даты dayb=TimeDay(Time[cnt+1]-(GMTshift*3600)); cnt_da--; } } } cnt++; } } void GetPivot() { //рисуем всяку хрень на экран по полученым координатам /* double dayv_close =0; //открытие double dayv_high =0; //максиум double dayv_low =0; //мимниум */ // Pivot=(dayv_high+dayv_low+dayv_close)/3; Pivot=(dayv_high+dayv_low)/2; S1=2*Pivot-dayv_high; R1=2*Pivot-dayv_low; S2=Pivot-R1+S1; R2=Pivot+R1-S1; S3=dayv_low-2*(dayv_high-Pivot); R3=dayv_high+2*(Pivot-dayv_low); S4=dayv_low-3*(dayv_high-Pivot); R4=dayv_high+3*(Pivot-dayv_low); //Pivot=Pivot+(dayv_close-dayv_open)/4; ShowPivot(Pivot,R1,R2,R3,R4,S1,S2,S3,S4); } void ShowPivot(double Pivot,double R1,double R2,double R3,double R4,double S1,double S2,double S3,double S4){ ObjectDelete("P_Line"); ObjectDelete("S4_Line"); ObjectDelete("R4_Line"); ObjectDelete("S3_Line"); ObjectDelete("R3_Line"); ObjectDelete("S2_Line"); ObjectDelete("R2_Line"); ObjectDelete("S1_Line"); ObjectDelete("R1_Line"); ObjectCreate("P_Line",OBJ_HLINE,0,CurTime(),Pivot);ObjectSet("P_Line",OBJPROP_COLOR,Sienna); ObjectSet("P_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("S4_Line",OBJ_HLINE,0,CurTime(),S4); ObjectSet("S4_Line",OBJPROP_COLOR,DarkOliveGreen); ObjectSet("S4_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("R4_Line",OBJ_HLINE,0,CurTime(),R4); ObjectSet("R4_Line",OBJPROP_COLOR,DarkSlateGray); ObjectSet("R4_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("S3_Line",OBJ_HLINE,0,CurTime(),S3); ObjectSet("S3_Line",OBJPROP_COLOR,DarkOliveGreen); ObjectSet("S3_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("R3_Line",OBJ_HLINE,0,CurTime(),R3); ObjectSet("R3_Line",OBJPROP_COLOR,DarkSlateGray); ObjectSet("R3_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("S2_Line",OBJ_HLINE,0,CurTime(),S2); ObjectSet("S2_Line",OBJPROP_COLOR,DarkOliveGreen); ObjectSet("S2_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("R2_Line",OBJ_HLINE,0,CurTime(),R2); ObjectSet("R2_Line",OBJPROP_COLOR,DarkSlateGray); ObjectSet("R2_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("S1_Line",OBJ_HLINE,0,CurTime(),S1); ObjectSet("S1_Line",OBJPROP_COLOR,DarkOliveGreen); ObjectSet("S1_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectCreate("R1_Line",OBJ_HLINE,0,CurTime(),R1); ObjectSet("R1_Line",OBJPROP_COLOR,DarkSlateGray); ObjectSet("R1_Line",OBJPROP_STYLE,STYLE_SOLID); ObjectsRedraw(); if(ObjectFind("R4 label")!=0) { ObjectCreate("R4 label",OBJ_TEXT,0,Time[0],R4); ObjectSetText("R4 label"," R 4 ",6,"Arial",DarkSlateGray);} else ObjectMove("R4 label",0,Time[0],R4); if(ObjectFind("S4 label")!=0) { ObjectCreate("S4 label",OBJ_TEXT,0,Time[0],S4); ObjectSetText("S4 label"," S 4 ",6,"Arial",DarkOliveGreen);} else ObjectMove("S4 label",0,Time[0],S4); if(ObjectFind("R3 label")!=0) { ObjectCreate("R3 label",OBJ_TEXT,0,Time[0],R3); ObjectSetText("R3 label"," R 3 ",6,"Arial",DarkSlateGray);} else ObjectMove("R3 label",0,Time[0],R3); if(ObjectFind("S3 label")!=0) { ObjectCreate("S3 label",OBJ_TEXT,0,Time[0],S3); ObjectSetText("S3 label"," S 3 ",6,"Arial",DarkOliveGreen);} else ObjectMove("S3 label",0,Time[0],S3); if(ObjectFind("R2 label")!=0) { ObjectCreate("R2 label",OBJ_TEXT,0,Time[0],R2); ObjectSetText("R2 label"," R 2 ",6,"Arial",DarkSlateGray);} else ObjectMove("R2 label",0,Time[0],R2); if(ObjectFind("S2 label")!=0) { ObjectCreate("S2 label",OBJ_TEXT,0,Time[0],S2); ObjectSetText("S2 label"," S 2 ",6,"Arial",DarkOliveGreen);} else ObjectMove("S2 label",0,Time[0],S2); if(ObjectFind("R1 label")!=0) { ObjectCreate("R1 label",OBJ_TEXT,0,Time[0],R1); ObjectSetText("R1 label"," R 1 ",6,"Arial",DarkSlateGray);} else ObjectMove("R1 label",0,Time[0],R1); if(ObjectFind("S1 label")!=0) { ObjectCreate("S1 label",OBJ_TEXT,0,Time[0],S1); ObjectSetText("S1 label"," S 1 ", 6,"Arial",DarkOliveGreen);} else ObjectMove("S1 label",0,Time[0],S1); if(ObjectFind("P label")!=0) { ObjectCreate("P label",OBJ_TEXT,0,Time[0],Pivot); ObjectSetText("P label"," Pvt ",6,"Arial",Sienna);} else ObjectMove("P label",0,Time[0],Pivot); } //-------------------------------------------------------------------------------------------------------------------//+------------------------------------------------------------------+//| Создание объектов индикатора |//| Параметры: |//| no - наименование объекта |//| cl - цвет объекта |//+------------------------------------------------------------------+void CreateObjects(string no, color cl) { ObjectCreate(no, OBJ_RECTANGLE, 0, 0,0, 0,0); ObjectSet(no, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(no, OBJPROP_COLOR, cl); ObjectSet(no, OBJPROP_BACK, True);} //+------------------------------------------------------------------+//| Удаление объектов индикатора |//+------------------------------------------------------------------+void DeleteObjects() { for (int i=0; i<NumberOfDays; i++) { ObjectDelete("AS"+i); ObjectDelete("EU"+i); ObjectDelete("US"+i); }} //+------------------------------------------------------------------+//| Прорисовка объектов на графике |//| Параметры: |//| dt - дата торгового дня |//| no - наименование объекта |//| tb - время начала сессии |//| te - время окончания сессии |//+------------------------------------------------------------------+void DrawObjects(datetime dt, string no, string tb, string te) { datetime t1, t2; double p1, p2; int b1, b2; t1=StrToTime(TimeToStr(dt, TIME_DATE)+" "+tb); t2=StrToTime(TimeToStr(dt, TIME_DATE)+" "+te); b1=iBarShift(NULL, 0, t1+ ((GMTshift+2)*3600)); b2=iBarShift(NULL, 0, t2 + ((GMTshift+2)*3600)); p1=High[Highest(NULL, 0, MODE_HIGH, b1-b2, b2)]; p2=Low [Lowest (NULL, 0, MODE_LOW , b1-b2, b2)]; ObjectSet(no, OBJPROP_TIME1 , t1 + ((GMTshift+2)*3600)); ObjectSet(no, OBJPROP_PRICE1, p1); ObjectSet(no, OBJPROP_TIME2 , t2 + ((GMTshift+2)*3600)); ObjectSet(no, OBJPROP_PRICE2, p2); } //+------------------------------------------------------------------+//| Уменьшение даты на один торговый день |//| Параметры: |//| dt - дата торгового дня |//+------------------------------------------------------------------+datetime decDateTradeDay (datetime dt) { int ty=TimeYear(dt); int tm=TimeMonth(dt); int td=TimeDay(dt); int th=TimeHour(dt); int ti=TimeMinute(dt); td--; if (td==0) { tm--; if (tm==0) { ty--; tm=12; } if (tm==1 || tm==3 || tm==5 || tm==7 || tm==8 || tm==10 || tm==12) td=31; if (tm==2) if (MathMod(ty, 4)==0) td=29; else td=28; if (tm==4 || tm==6 || tm==9 || tm==11) td=30; } return(StrToTime(ty+"."+tm+"."+td+" "+th+":"+ti));}//+------------------------------------------------------------------+ Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения