Блог им. BAROMETR

Comedy LAB и деньги на бирже

Вот за что я люблю открытые профильные форумы трейдеров, за то, что на них сидят «профессиональные» зомби.  в голове у которых сплошные шаблоны, от постов до торговли.

Ранее уже говорил, что бросил кого-либо учить, а в ответ по-прежнему -

«Ник вижу впервые, а пи… дёж и околорыночная  хитрожопость шибко знакомые)))

просто вас тварей (в хорошем смысле) органически презираю...))))»

Vanuta говорю, что он просто лох с его ТС в 50-70% годовых а он это и понять, и принять не хочет.

--------------------------------------------------------------------------------------------------------------------------------------

Свои реальные ТС  «хитрожопасть» трейдинга никогда не палит, можно только  догадаться как она работает, но всегда будет какая то фишка, понять которую возможно только теоретически да и –на хрен это вообще нужно?, Это чисто авторская «наработка» потому трудно даже понять, сколько она может и реально стоить  и сможет ли по ней кто то работать так же эффективно, как ее автор. Потому, любая сумма за такую ТС смехотворна, для ее автора.

И не одному «хитрожопому» трейдеру даже в голову не придет продать или поделиться своей реальной –именно рабочей ТС.

Расскажу об одной из моих ранних «наработок» и «плачевную» историю этого «грааля»-

Я ей уже лет 5-6 не пользуюсь. Но она дорога мне как память. Именно из-за нее, 4 Дц мне просто не отдали заработанные деньги.

Я не люблю вкладывать деньги именно в биржу, только если есть реальная необходимость в такой работе, это до хера по первоначальному вложению и ликвидность и прочее, и прочее. В разы меньшими затратами можно получить тот же самый результат и по большому счету Брокер, это те же «жулик» что и ДЦ только с «амбициями»

Теперь Тс,

На что именно способна эта Тс в руках реального трейдера технаря – описал в первом своем блоге.

Началось это лет 9 назад. Очень любил фунт – техничен, волатилен, словом песня для торговли.

Как и любой начинающий трейдер пялился в стакан, следил за новостями, внимал речам аналитиков, ответственных лиц и прочее, и прочее.

Наблюдая за фунтом заметил определенные «закономерности» в его движениях, реализовать идею в твине было проблематично, пришлось использовать терминал «румус»

Есть там такой инструмент – уровни ордеров и именно он помог найти ответ на эти «закономерности»

Уже говорил, я технарь, аналитики могут фантазировать. Объемщики ловить момент и тд, а мне необходимо знать! Когда будет работать реальный «объем». Маркет мейкер по сути, тот же самый «игрок» на бирже, и при финансовой возможности любой из Вас может им стать, так что, задача реального технаря — просто «объегорить»  эту «марионетку»

Главное было «вычислить» — точку отсчета!

Перелопатив почти 10-ли летнею историю фунта нашел его отправную точку – 23-00 по Гринвичу.

(как выяснилось в последствии это отправная точка пригодна практически для всех инструментов, торгуемых на бирже.)

Суть -

Выставляется уровень 0 на закрытии свечи в 23-00 по Гринвичу.

От него последовательно протягивается сетка в 30-50-80-100-120-150-180-200-220-250 и тд пунктов (если в терминале 4 знака)

Сетка тянется в обе стороны от отправной точки 0.  то есть, получаться уровни +30п  -30п и тд.

Работая с ТС учитываются состояние графика, в тренде фунт или во флете  и состояние патерна.

Если флет, то сессия Азии в 90% случаев работает уровни 30п максимум 50, после чего «дневной разворот» и фунт выходит на противоположенный уровень  30п  максимум 80 и зависит это от того, есть новость или нет, если новостей нет, может просто находиться в диапазоне  +30-30 весь день.

Если фунт в тренде, то Азия может работать диапазон 0-80п,  0 это  просто продолжение Америки, либо откатит в диапазон 30 — 50 и опять  дневной  разворот с выходом  в противоположенный диапазон но уже от 120 до 150 (без новостей) и 180-220 с новостями (крайне редко дает 250п).

При «форс мажоре может работать в день до 550п, но это «аномально» и не рассматривалось мною как основной параметр для работы с этой парой, сейчас «на референдуме» он вообще работал 1000п но такое бывает раз в 30- 50 лет.

Что мне это дало в итоге

– стало плевать на стакан точно знал, чем закончиться «борьба» объемщиков, и кто именно «победит»,

-Заведомо знал, как именно отработает патерная  фиба, будет выход точно в цель, или на сколько пробьют, или не дойдут до нее.

а это значит -

в 23-00 смотрел состояние патерна по зигзагу и не раздумывая, без с топов просто входил в сделку,

 Тейк на 28п или 47п и 3 противоположенные отложки на уровнях 30, 50 и  80 после чего, спокойно ложился спать.

Понять состояние патернов мне сначала помогали зигзаги (потом они просто стали на хрен не нужны) а подобрать их именно для «своих нужд» не проблема, вариантов зигзага в нете  – как грязи.

Утром, смотрел итог, вход железобетонно в профите и как правило уже  работают в плюс отложенные ордера,

Оставалось только поглядывать за  дневной  работай  фунта и работать со входами, доливать, крыть на его откатиках  (в  этом мне снова помогали о зигзаги).

Таким образом без проблем, без нервотрепки закрывал интрадей в профит от 80 до 250п.

Через  какое то время понял – это хлопотно, муторно и трудоемко, потому и ушел на краткосрок.

Я никогда не продавал Тс и никогда не учил людей торговать.

Было дело, учил их – понимать и прогнозировать рынок – и именно в рамках прогноза использовать различные стратегии и инструменты для извлечения максимальной выгоды от такой торговли.

А теперь «печалька»

Был у нас закрытый форум, назывался «Берлога».

Год! Совершенно бесплатно учил там – как именно следует прогнозировать движение, учил как держать и наращивать позиции по входу, и вроде начали появляться сдвиги,

И ………………………. познакомил их с этой Тс –кой,

 Кидаю ТС, объясняю, что именно делать и поясняю – ………… только плюньте в этом случае на пипс

У Вас уже есть понятие о реальных точках входа видите цель и теперь просто как дополнение, можете получить подтверждение еще и по волатильности.

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

 «Tetsuma»  клепает» индюк под мт4.

И началась вакханалия! 

Один пенсионер (ник не помню) за неделю «настругал» столько, что у его старухи чуть крыша не съехала.

«особливо талантливые» уже чешут репу как привязать роботов, и ……………

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

Говорю им — работать нужно через моделирование ситуации или, через полторы – две недели от ваших депо и ошметков не останется, ну разве кто слушать будет.

 Тут же вяжут индюк к золоту, там «вола»  половчее, патерны напрочь забыты, с 4-х часов прыгают на минуты, общее направление потеряно, и все мысли  об одном   - Баффета или Сороса  дворецким пригласить работать!

Через две недели – чешут репу, и пополняют депо.

Пытаюсь еще «достучаться» до этих  «гениев», бестолково.

Потом попал в аварию.

Ну а братишка к мой– от души широкой и доброй, в это время накидал им еще и «живность графическую» и «птиц», словом………………………..

Когда заглянул опять в «Берлогу» то понял,- делать там больше не хрена.

Это стадо, не разобравшись до конца в потернах, уже ляпают в кучу и волатильность и «живность», и «птиц», словом   п…………………………ец граальчику. Потому как пипсовать без знаний направления движения и реальных возможностей этого локального тренда — дело бесперспективное и болезненное для депо.

Как потом выяснил, тоже самое происходит и с «платными» балбесами, рассказываешь им про одно, говоришь – когда поймете патерны, будем проверять их тем то и тем то, но это «мясо», как только про пипс узнает, тут же очередной заскок и бесполезно что либо говорить. Просто не слушают и мигом забывают  обо всем.

Вот такая «печалька» этого граальчика, потому что любая реальная ТС попав в руки идиотов мгновенно превращается в бесполезный хлам.

 И с около рынком и завязал, бестолковое это занятие, придурков уму разуму учить.

 

А теперь как она работает-  

Возьмём для примера, бакс/руб  (лень идеально подбирать параметры шаблонно, на глаз)

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

Лень выводить годовой интервал,

Начну с месяцев

Просчитываем «оптимальную» волу тренда и флета и оставляем за «кадром» шпильки, их потом на мелком тайме «добираем»
Comedy LAB и деньги на бирже


Кинув фибо, просто знаешь, что с «оптимальной» волой, рублю нужно от 3 до 5 месяцев, чтобы работать среднесрочную цель. (потом сравниваем по рынку и если корреляции относительно совпадают, значит весь рынок будет работать свои модели без «эксцессов»)


Comedy LAB и деньги на бирже
Обращаешь внимание, что при тренде рубь в основном готов потерять от 20 до 30 копеек в откат, а при флете любит работать диапазон 1руб 80 коп ,

Таким образом львиная доля «проблем» с расчетами патернов отпадает сама собой.

Смотришь на недели – получаешь подтверждение, тренды недель в основном по 1руб 80 коп, откаты в основном по 80 коп, остается не «жадничать» и гарантированно брать на трендах за неделю 1,8 -2 руб. а во флете от 80коп до 1,2 руб.
Comedy LAB и деньги на бирже


Кидаешь первый попавшийся патерн для проверки – раз все нормально и по параметрам, и по воле, значит это его техника. — чуть «разжимать» патерн.

Comedy LAB и деньги на бирже


Последним смотришь дневки основной ажиотаж в диапазоне 20-30 коп – все!!!!!!!!!!!


Comedy LAB и деньги на бирже

Маркет мейкеры взяты за яйца, остается иметь их во все щели.

 Главное забыть, про пипс, раскидал отложки, и спокойно работаешь кратко срок.

Нет уже смысла пялится в стакан, можно просто уйти на 4-х часовой тайм и брать «среднее», где точно и будут работать объемы, гарантированные волой.

 

Вот такие они хитрожопистые, эти твари — околорыночники.

Владимир Спицын — Ну а у тебя –  «Пряможопого»,  в «загашнике»  случайно ни чего нет?  Вроде у любого трейдера, кто башкой думает, что-то свое, авторское, должно оставаться, старенькое, что спалить не жалко и к реально работающей сейчас ТС уже не нужное, случайно не осталось ?

 

Я тебе еще столько нюансов могу накидать, что тебе просто в голову не придет даже подумать в этом направлении. И ненавидишь ты этих «хитрожопых» потому, что они знают в миллион раз больше тебя, а с тобой халявщиком это не обсуждают. И правильно делают, потому как такие вот «пряможопые» их  за их же пряники и ………………….

 

 

 

 

Если тс попадет в руки к грамотному и умелому технарю, (сразу предупреждаю, совершенно бесполезна для волновой теории, эта «туфта» хоть от Эллиотта, хоть от кого другого просто не будет работать с ней)

-мне за месяц на форексе получалось поднять с ней 1450% (был молод, и глуп) у кого получиться больше – не удивлюсь

— на бирже, довести ее чуть-чуть до ума, учитывать время вариационной, и прочие мелочи словом …………… получиться почти то же самое (я не люблю роботы, но приляпать ее к роботу проблема не большая, главное учитывать всякие мелочи в определенной графической ситуации.)

-словом дайте знать сколько настругать смогли если кто воспользуется.

Теперь Vanuta, по поводу его Тс  и поисков инвесторов,

Реально, вся твоя «шумная» возня с «разоблачениями» крутиться исключительно ради постоянного напоминания о своей «великой ТС», но постоянно твои потуги мимо кассы.

А реальным инвесторам, им плевать на то, какая у тебя ТС.

У них совсем другие вопросы, их интересует твой торговый план и твоя стратегия торговли в рамках этого плана, куда именно ты собираешься влить их деньги, твой реальный портфель, твои цели по портфелю, его риски, срок работы и тд и тп. Ни один реальный (я не говорю о «фор умных инвесторах» эти приматы и даром не нужны), а про реальных инвесторов ни один из них не станет кидать бабло, когда ему светит 80% годовых, он инвестор, а не идиот ему на хрен не нужно, что бы его бабки лежали мертвым грузом   у какого-то лоха, который будет его деньгами «прикрывать свою задницу», потому что полный 0 в торговле- это я о «коротких» инвесторских деньгах говорю.

Ну а о «длинных» – вообще не мечтай, там твои проценты вообще ни хрена никому не нужны, у них другие цели инвестирования.

Под 70% годовых ты можешь найти тут одного, максимум 3-х лошар, но их инвестиции — это больше геморрой, чем реальная польза для трейдера.

Это тут, как и на любом подобном профильном форуме каждый «умник» считает, что бабки должны лежать мёртвым грузом на депо и вечно будут причесывать, что 10-30% годовых это КРУУУУУТООООО! А 50-100 –нереальная фантастика.

Потому как одним — это просто выгодно, а другие не знают, как именно работать и надеяться, что количество бабла – повлияет на качество их работы.

Вот когда поймешь, что такое рынок и будешь работать не от фонаря, с тобой кто-то о чем-то и поговорит, а пока …………… учись рынок понимать и не по книжкам и не по постам — таких же лохов как ты сам.

 

Сегодня у меня День рожденья и потому  — Это исходник индюка для мт4

Если нажрусь до………………… может выложу что-то  и покруче, но то же из уже бесполезного для меня.

//+------------------------------------------------------------------+

//|                                              VolatilityAreas.mq4 |

//|                                                          Tetsuma |

//|                                                                  |

//+------------------------------------------------------------------+

#property copyright «Tetsuma»

 

#property indicator_chart_window

 

 

//Час окончания временного периода

//Используется для интрадейных уровней

extern int DayCloseHour = 23;

 

//Сколько периодов нужно вывести

extern int DaysToAnalyzeCount = 4;

 

//Задание уровней в пунктах

//Пример:  «300-500-800-1000-1300-1500-1800-2000-2200»

extern string levelsString="";

 

//Задание уровней в сотых долях процента от цены на начало периода

//Пример:  «100-200-300»

extern string percentLevelsString=«50-100-150-200-250-300»;  

 

 

//Показывать уровни только для заданного дня недели

//(0 — для всех дней, 1-понедельник, ...  5-пятница)

extern int ShowDaysOfWeek = 0;  

 

//Тип уровней

//0-интрадей

//1-внутринедельные

//2-внутримесячные

//3-внутригодовые

extern int levelScale = 0;

 

 

//выводить уровни в виде зебры (то есть прорисовываться будут только чётные уровни)

extern bool ZebraStyle=false;

 

extern bool showLabels=true;

 

 

//Цвета для уровней

extern color Color1 = Lavender;

extern color Color2 = LightSteelBlue;

extern color Color3 = LightGreen;

extern color Color4 = MediumAquamarine;

extern color Color5 = Yellow;

extern color Color6 = LightPink;

extern color Color7 = Orange;

extern color Color8 = Red;

extern color Color9 = White;

 

//Если на один график добавляется 2 индикатора волатильности — этот параметр у них должен отличаться!

extern string id=«base»;

 

 

 

#define UP_ZONE_BASE_NAME «vlzoneup»

#define DOWN_ZONE_BASE_NAME «vlzonedown»

#define CENTRAL_LINE_BASE_NAME «cl»

#define LABEL_BASE_NAME «vaLabel»

 

 

int curHour = 0;

 

 

color colorsArray[];

 

int levelsArray[];

int percentsArray[];

 

 

 

 

int init()

  {

 

   ReadLevels(levelsArray,levelsString);

   ReadLevels(percentsArray,percentLevelsString);

  

  

  

   ArrayResize(colorsArray, 9);

   colorsArray[0]=Color1;

   colorsArray[1]=Color2;

   colorsArray[2]=Color3;

   colorsArray[3]=Color4;

   colorsArray[4]=Color5;

   colorsArray[5]=Color6;

   colorsArray[6]=Color7;

   colorsArray[7]=Color8;

   colorsArray[8]=Color9;

   return(0);

  }

 

 

 

 

 

int deinit()

  {

 

   int levCount = ArraySize(percentsArray);

   if (levCount==0)

      levCount = ArraySize(levelsArray);

 

 

   for(int d=0;d<DaysToAnalyzeCount;d++){

 

      for(int z=1;z<=levCount;z++){

         ObjectDelete(getUpZoneName(d,z));

         ObjectDelete(getDownZoneName(d,z));

         ObjectDelete(getLabelName(d,z,true));

         ObjectDelete(getLabelName(d,z,false));

        

      }

 

      string lineName = getCentralLineName(d);

      ObjectDelete(lineName);

 

 

   }

 

   return(0);

  }

 

int start(){

 

 

   if (iTime(NULL,PERIOD_H1,0)!=curHour){

 

 

      curHour = iTime(NULL,PERIOD_H1,0);

 

 

      for(int i=0;i<DaysToAnalyzeCount;i++){

         drawLevelsForDay(i);

      }

 

 

   }

  

 

 

 

 

 

   return(0);

}

 

void drawLevelsForDay(int dayShift){

 

    datetime curDayStart;

    datetime curDayEnd;

    datetime lastSessionCloseTime;

    double lastSessionClosePrice;

 

 

 

    if (levelScale==1) {                              //внутринедельно

 

      if (iBars(NULL,PERIOD_W1)<=(dayShift+1))

         return (0);

 

      curDayStart = iTime(NULL,PERIOD_W1,dayShift);

      curDayEnd = curDayStart+PERIOD_W1*60;

 

      lastSessionClosePrice = iClose(NULL,PERIOD_W1,dayShift+1);

   

    }

    else if (levelScale==2) {                         //внутримесячно

 

      if (iBars(NULL,PERIOD_MN1)<=(dayShift+1))

         return (0);

 

      curDayStart = iTime(NULL,PERIOD_MN1,dayShift);

      curDayEnd = curDayStart+PERIOD_MN1*60;

 

      lastSessionClosePrice = iClose(NULL,PERIOD_MN1,dayShift+1);

  

   

    }

    else if (levelScale==3) {                         //внутригодично

 

      if ((iBars(NULL,PERIOD_MN1)*12)<=(dayShift+1))

         return (0);

 

 

 

      int monthShift = getBeginOfYearMonthShift(dayShift);

     

      curDayStart=iTime(NULL,PERIOD_MN1,monthShift);

 

      if (curDayStart<0)

         return (0);

 

      curDayEnd = curDayStart+PERIOD_MN1*60*12;

 

      lastSessionClosePrice = iClose(NULL,PERIOD_MN1,monthShift+1);

     

//      Alert(«curDayStart=»,TimeToStr(curDayStart));

//      Alert(«curDayEnd=»,TimeToStr(curDayEnd));

  

  

  

   

    }

    else {

   

      //Получаем период текущего дня     

      curDayStart = iTime(NULL,PERIOD_D1,dayShift);

      curDayEnd = curDayStart+PERIOD_D1*60;

 

      //Получаем время закрытия предыдущей сессии

      lastSessionCloseTime = iTime(NULL,PERIOD_D1,dayShift+1);

      lastSessionCloseTime+=DayCloseHour*3600;

 

      //Получаем цену закрытия предыдущей сессии

      int hourShift = iBarShift(NULL,PERIOD_H1,lastSessionCloseTime);

      lastSessionClosePrice = iClose(NULL,PERIOD_H1,hourShift);

 

 

      if (ShowDaysOfWeek!=0){

          if (TimeDayOfWeek(curDayStart)!=ShowDaysOfWeek){

            return(0);

          }

      }   

     

    }

 

 

 

 

   int i;

   string curZoneName;

   string curLabelName;

   double bottomPrice;

   double topPrice;

   double labelVal;

 

   if (ArraySize(percentsArray)>0){

  

      //находим чему рана одна сотая процента

      double percentSize = lastSessionClosePrice/10000;

     

      for(i=1;i<ArraySize(percentsArray);i++){

 

         if (ZebraStyle && (i%2)==0)

           continue;

 

         bottomPrice=lastSessionClosePrice+percentsArray[i-1]*percentSize;

         topPrice=lastSessionClosePrice+percentsArray[i]*percentSize;

 

         curZoneName = getUpZoneName(dayShift,i);

         ObjectDelete(curZoneName);

         ObjectCreate(curZoneName, OBJ_RECTANGLE, 0, curDayStart,bottomPrice, curDayEnd,topPrice);

         ObjectSet (curZoneName, OBJPROP_COLOR, getColorForLevel(i-1));

        

         if (showLabels){

           

            curLabelName = getLabelName(dayShift,i,true);

           

            ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, bottomPrice);

            labelVal = percentsArray[i-1];

            labelVal/=100;

            ObjectSetText(curLabelName, DoubleToStr(labelVal,2)+"%", 10, «Times New Roman», Black);

        

        

            if (ZebraStyle){

               curLabelName = getLabelName(dayShift,i+1,true);

           

               ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, topPrice);

               labelVal = percentsArray[i];

               labelVal/=100;

               ObjectSetText(curLabelName, DoubleToStr(labelVal,2)+"%", 10, «Times New Roman», Black);

           

            }

        

        

         }

           

        

      }

 

      for(i=1;i<ArraySize(percentsArray);i++){

 

         if (ZebraStyle && (i%2)==0)

           continue;

 

         bottomPrice=lastSessionClosePrice-percentsArray[i-1]*percentSize;

         topPrice=lastSessionClosePrice-percentsArray[i]*percentSize;

 

         curZoneName = getDownZoneName(dayShift,i);

         ObjectDelete(curZoneName);

         ObjectCreate(curZoneName, OBJ_RECTANGLE, 0, curDayStart,bottomPrice, curDayEnd,topPrice);

         ObjectSet (curZoneName, OBJPROP_COLOR, getColorForLevel(i-1));

        

         if (showLabels){

           

            curLabelName = getLabelName(dayShift,i,false);

           

            ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, bottomPrice);

            labelVal = percentsArray[i-1];

            labelVal/=-100;

            ObjectSetText(curLabelName, DoubleToStr(labelVal,2)+"%", 10, «Times New Roman», Black);

        

        

            if (ZebraStyle){

               curLabelName = getLabelName(dayShift,i+1,false);

           

               ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, topPrice);

               labelVal = percentsArray[i];

               labelVal/=-100;

               ObjectSetText(curLabelName, DoubleToStr(labelVal,2)+"%", 10, «Times New Roman», Black);

           

            }        

        

        

         }        

        

      }

 

     

 

   }

   else {

  

     

      for(i=1;i<ArraySize(levelsArray);i++){

 

         if (ZebraStyle && (i%2)==0)

           continue;

 

         bottomPrice=lastSessionClosePrice+levelsArray[i-1]*Point;

         topPrice=lastSessionClosePrice+levelsArray[i]*Point;

 

 

         curZoneName = getUpZoneName(dayShift,i);

         ObjectDelete(curZoneName);

         ObjectCreate(curZoneName, OBJ_RECTANGLE, 0, curDayStart,bottomPrice, curDayEnd,topPrice);

         ObjectSet (curZoneName, OBJPROP_COLOR, getColorForLevel(i-1));

        

        

         if (showLabels){

           

            curLabelName = getLabelName(dayShift,i,true);

           

            ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, bottomPrice);

            labelVal = levelsArray[i-1]*Point;

            ObjectSetText(curLabelName, "+"+DoubleToStr(labelVal,4), 10, «Times New Roman», Black);

        

        

         }           

        

      }

 

      for(i=1;i<ArraySize(levelsArray);i++){

 

         if (ZebraStyle && (i%2)==0)

           continue;

 

         bottomPrice=lastSessionClosePrice-levelsArray[i-1]*Point;

         topPrice=lastSessionClosePrice-levelsArray[i]*Point;

 

         curZoneName = getDownZoneName(dayShift,i);

         ObjectDelete(curZoneName);

         ObjectCreate(curZoneName, OBJ_RECTANGLE, 0, curDayStart,bottomPrice, curDayEnd,topPrice);

         ObjectSet (curZoneName, OBJPROP_COLOR, getColorForLevel(i-1));

        

         if (showLabels){

           

            curLabelName = getLabelName(dayShift,i,false);

           

            ObjectCreate(curLabelName, OBJ_TEXT, 0, curDayStart, bottomPrice);

            labelVal = levelsArray[i-1]*Point;

            ObjectSetText(curLabelName, "-"+DoubleToStr(labelVal,4), 10, «Times New Roman», Black);

        

        

         }            

        

      }

  

   }

     

   //рисуем центральную линию

   string lineName = getCentralLineName(dayShift);

   ObjectDelete(lineName);

   ObjectCreate(lineName, OBJ_TREND, 0, curDayStart,lastSessionClosePrice, curDayEnd,lastSessionClosePrice);

   ObjectSet (lineName, OBJPROP_COLOR, C'0x00,0x00,0x00');

   ObjectSet(lineName,OBJPROP_RAY,false);

   ObjectSet(lineName,OBJPROP_WIDTH,2);

 

 

}

 

 

 

//--------------------вспомогательные функции-------------------------

 

string getUpZoneName(int day,int no){

   return (UP_ZONE_BASE_NAME+id+"_D"+day+"_"+no);

}

 

string getDownZoneName(int day,int no){

   return (DOWN_ZONE_BASE_NAME+id+"_D"+day+"_"+no);

}

 

string getCentralLineName(int day){

   return (CENTRAL_LINE_BASE_NAME+id+"_D"+day);

}

 

string getLabelName(int day,int no,bool up){

   if (up)

      return (LABEL_BASE_NAME+id+"_D"+day+"_"+no);

   else

      return (LABEL_BASE_NAME+id+"_D"+day+"_"+no+"_d");

     

}

 

 

 

int getColorForLevel(int lev){

   if (ZebraStyle)

      lev=lev/2;

 

 

   return (colorsArray[lev%9]);

}

 

 

int ReadLevels(int& la[],string  lotsStr){

   int    i=0, np;

   string st, tmp=lotsStr;

 

   ArrayResize(la, 0);

 

   while (StringLen(tmp)>0) {

      np=StringFind(tmp, "-");

      if (np<0) {

         st=tmp;

         tmp="";

      } else {

         st=StringSubstr(tmp, 0, np);

         tmp=StringSubstr(tmp, np+1);

      }

      st=StringTrimRight(StringTrimLeft(st));

      if(st=="")  break;

      ArrayResize(la, i+1);

      la[i]=StrToDouble(st);

      i++;

   }

   return(i);

}

 

int getBeginOfYearMonthShift(int yearShift){

 

      int year = Year()-yearShift;

 

      for(int i=0;i<iBars(NULL,PERIOD_MN1);i++) {

        datetime monthTime = iTime(NULL,PERIOD_MN1,i);

       

        int monthYear = TimeYear(monthTime);

        int monthNo = TimeMonth(monthTime);

       

        if ((monthYear==year) && (monthNo==1) )

           return (i);

     

      }

     

   return (-1);

 

 

}

 

 

 

 

//+------------------------------------------------------------------+

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
344 | ★28
54 комментария

Читайте на SMART-LAB:
Что сказали на бизнес-завтраке «Балтийского лизинга»?
Фото
USD/CAD упирается в забор: устоят ли медвежьи баррикады?
Валютная пара USD/CAD продолжает свое бодрое восходящее движение, уверенно отрабатывая разворотную фигуру «двойное дно». Похоже, покупатели...
Фото
Страховщики становятся финансовой опорой экономики России
Страховой рынок окончательно вышел за рамки своей традиционной роли. Сегодня он не только защищает людей и бизнес от рисков, но и превращается в...
Фото
Мозговой штурм: какие идеи в моменте?
Доброго вечера. Сегодня мы провели традиционный мозговой штурм. Выпишу некоторые идеи:

теги блога бар о метр

....все тэги



UPDONW
Новый дизайн