Блог им. BAROMETR
Вот за что я люблю открытые профильные форумы трейдеров, за то, что на них сидят «профессиональные» зомби. в голове у которых сплошные шаблоны, от постов до торговли.
Ранее уже говорил, что бросил кого-либо учить, а в ответ по-прежнему -
«Ник вижу впервые, а пи… дёж и околорыночная хитрожопость шибко знакомые)))
просто вас тварей (в хорошем смысле) органически презираю...))))»
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 работать любит и тд.
Лень выводить годовой интервал,
Начну с месяцев
Просчитываем «оптимальную» волу тренда и флета и оставляем за «кадром» шпильки, их потом на мелком тайме «добираем»
Кинув фибо, просто знаешь, что с «оптимальной» волой, рублю нужно от 3 до 5 месяцев, чтобы работать среднесрочную цель. (потом сравниваем по рынку и если корреляции относительно совпадают, значит весь рынок будет работать свои модели без «эксцессов»)
Обращаешь внимание, что при тренде рубь в основном готов потерять от 20 до 30 копеек в откат, а при флете любит работать диапазон 1руб 80 коп ,
Таким образом львиная доля «проблем» с расчетами патернов отпадает сама собой.
Смотришь на недели – получаешь подтверждение, тренды недель в основном по 1руб 80 коп, откаты в основном по 80 коп, остается не «жадничать» и гарантированно брать на трендах за неделю 1,8 -2 руб. а во флете от 80коп до 1,2 руб.
Кидаешь первый попавшийся патерн для проверки – раз все нормально и по параметрам, и по воле, значит это его техника. — чуть «разжимать» патерн.
Последним смотришь дневки основной ажиотаж в диапазоне 20-30 коп – все!!!!!!!!!!!
Маркет мейкеры взяты за яйца, остается иметь их во все щели.
Главное забыть, про пипс, раскидал отложки, и спокойно работаешь кратко срок.
Нет уже смысла пялится в стакан, можно просто уйти на 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);
}
//+------------------------------------------------------------------+