Блог им. 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);

 

 

}

 

 

 

 

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

★28
54 комментария

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

....все тэги



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