Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Сбой индикатора? Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Вс Ноя 02, 2008 11:51 pm Ответить с цитатой Вернуться к началу

Бывает такая проблема:
В Амиброкер я выгружаю данные через Метасток. Торгую с 5-минутным таймфреймом. график в Ами обновляется примерно раз в минуту. и бывает так: допустим в 15.41 цена подросла до 212, индикатор показывает покупать и робот покупает. в 15.42 график в Ами обновился и новая цена 210, сигнал на покупку снимается, Ами не формирует транзакцию. И тут самое интересное: в 15.44 цена подскакивает до 213, индикатор снова показывает покупать и робот снова покупает, все это происходит на одной свечке. И если я торгую на 100 лотов для лонга, то обнаруживаю, что в портфеле уже не 100, а 200 лотов, т.е. если в дальнейшем появится сигнал для продажи и перехода в шорт, я сокращу позицию лишь до 0 лотов, а не развернусь в -100.
Вопрос: как можно зафиксировать сигнал на покупку на этой свечке, и если цена резко меняется, то сигнал на продажу появлялся бы только на следующей. Либо робот не реагировал на повторный сигнал от одной тоговой системы.
Посмотреть профиль Отправить личное сообщение
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Вс Ноя 02, 2008 11:53 pm Ответить с цитатой Вернуться к началу

Вот этим я убираю лишние сигналы:
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Ноя 03, 2008 2:14 am Ответить с цитатой Вернуться к началу

Это довольно распространенная ошибка. Если вы собираетесь торговать по ценам закрытия бара, то необходимо сперва дождаться этого закрытия. Для этого в коде робота вставлен вот этот кусок
Код:

Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));

Если же Вы всетаки хотите торговать именно на текущем баре, то повторная заявка по идее не должна выставляться т.к. будет иметь такой же Trans_ID как и предыдущая. Trans_ID зависит от числа внесенного в поле Full Name, Времени бара и направления сделки (Это для робота размещенного на моем сайте). Если повторная заявка всетаки выставляется, то с большой вероятностью можно предполагать, что базовый фрейм графика на котором работает робот меньше фрейма на котором производится торговля. Самый простой способ исправить ситуацию - создать базу с базовым фреймом на котором и будете торговать.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Пн Ноя 03, 2008 4:15 pm Ответить с цитатой Вернуться к началу

После использования этого кода, у меня пропадают все стрелочки с графика. Вот как я их рисую:

Код:
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )
{
 ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();

PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Ноя 03, 2008 5:30 pm Ответить с цитатой Вернуться к началу

Vladimir писал(а):
После использования этого кода, у меня пропадают все стрелочки с графика. Вот как я их рисую:

Все правильно. Вот эта запись
Код:

Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));

удаляет все сигналы кроме последнего. LastValue обозначает последнее значение. Эта функция превращает массив сделок в константу равную последнему значению массива.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Пн Ноя 03, 2008 10:07 pm Ответить с цитатой Вернуться к началу

Я правильно понял, заявка будет выставлятся толь если при открытии последнег бара на предпоследнем баре, после его закрытия, будет сигнал?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Ноя 03, 2008 11:56 pm Ответить с цитатой Вернуться к началу

Vladimir писал(а):
Я правильно понял, заявка будет выставлятся толь если при открытии последнег бара на предпоследнем баре, после его закрытия, будет сигнал?

Совершенно верно.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Ср Ноя 05, 2008 7:51 pm Ответить с цитатой Вернуться к началу

Сегодня у меня была такая ситуация. У меня был лонг по Сбербанку, в первые минуты он резко подскочил, а потом резко упал. Сейчас я торгую на 7-минутном фрейме, и если бы я использовал этот код
Код:
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));

то пролетел на ~9%. Т.е. на одной свечке цена упала на 9%, а заявка выставилась бы на следующей. Индикатор у меня сработал, когда цена упала на 3% от открытия этой свечки.
Но вот дилемма: бывают случаи, когда цена плавно снижается на протяжении нескольких баров, потом резкий скачек внутри одного бара, система показывает покупать и квик покупает, но спустя минуту цена возвращается на уровень открытия этого бара (получается фигура типа молот) и система убирает сигнал, акции уже куплены, а сигнала на продажу нет. После чего продолжается снижение цены.
Я не знаю, как решить такую дилемму. Возможно ли, в случае появления сигнала, сразу привязать его к бару, и, если после закрытия этого бара цена вернулась в свой прежний тренд, то на открытии следующего подать обратный сигнал?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Ноя 05, 2008 11:02 pm Ответить с цитатой Вернуться к началу

Тогда мы переходим к обсуждению принципов построения торговых стратегий. Если по стратегии надо дождаться закрытия свечки, то совершенно не важно на сколько изменилась цена. Если изменение цены за одну свечу для Вас слишком велико - используйте более мелкий фрейм. Но я не собирался тут обсуждать чужие стретегии и учить построению стратегий. Не считаю себя вправе это делать...
Цитата:

Возможно ли, в случае появления сигнала, сразу привязать его к бару, и, если после закрытия этого бара цена вернулась в свой прежний тренд, то на открытии следующего подать обратный сигнал?

А почему нет? Можно сделать. Это все вопрос программирования...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Ср Ноя 12, 2008 12:51 am Ответить с цитатой Вернуться к началу

Правильно ли я прописал код для решения данной проблемки:
Код:
BS= IIf(Cross(ah,period1/100) OR (Ref(Cross(period2/100,al),-1) AND a2>period1/100),1,IIf(Cross(period2/100,al) OR (Ref(Cross(ah,period1/100),-1) AND a2<period1/100),-1,0));

Buy= bs==1;
Sell= bs==-1;
Short= IIf ( TimeNum()== 184400, bs==1, bs==-1);
Cover= IIf ( TimeNum()== 184400, bs==-1, bs==1);

где,
ah - значение индикатора, зависящее от последнего максимума
al - значение индикатора, зависящее от последнего минимума
a2 - значение индикатора, зависящее от последней сделки (т.е. цена закрытия)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Ноя 12, 2008 1:43 am Ответить с цитатой Вернуться к началу

Vladimir писал(а):
Правильно ли я прописал код для решения данной проблемки:

Есть грубые ошибки. Рассмотрим код.
Код:
BS= IIf(Cross(ah,period1/100) OR (Ref(Cross(period2/100,al),-1) AND a2>period1/100),1,IIf(Cross(period2/100,al) OR (Ref(Cross(ah,period1/100),-1) AND a2<period1/100),-1,0));

Вообще трудно что либо сказать не зная логики кода, но попробую...
Рассимотрим условие когда BS = 1
Cross(ah,period1/100) OR (Ref(Cross(period2/100,al),-1) AND a2>period1/100)
Зачем то для пересечения al берется предыдущее значение (функция Ref) а для ah нет... Sad Для a2 полюбому надо брать предыдущее значение потому, что оно изменяется при изменении закрытия текущего (формирующегося) бара. Т. е. получается, что ah может меняться и создавать отменяющиеся позже сигналы или, если сформирован сигнал по al (на предыдущем баре), то отменяющийся сигнал может давать a2.
Похожая картина и при формировании BS = -1

Далее
Код:

Buy= bs==1;
Sell= bs==-1;

Тут все понятно и правильно. Если BS = 1 то лонг, если -1,то выход из лонга.

Далее
Код:

Short= IIf ( TimeNum()== 184400, bs==1, bs==-1);
Cover= IIf ( TimeNum()== 184400, bs==-1, bs==1);

А вот тут конкретные косяки.
Во первых знак == это функция сравнения, а не присвоения.
Функция IIf работат следующим образом.
Шорт = IIf(условие, чему равен шорт если условие выполнено, чему равен шорт если не выполнено)

Т.е. получается, что такая запись работать всетаки будет, но маловероятно, что задумано именно так.
Сработает так
Рассмотрим для Short
Если время свечки 18ч 44мин то смотрит запсь bs = 1. Если bs при этом равен 1, то Short будет равен 1, т.е. сработет, но при этом и лонг равен 1... ерунда получается...
Если время свечки не 18ч 44мин, то будет смотреть bs ==-1. Если он действительно равен -1, то Short опять получится 1...

Уф. Постарался написать как можно подробнее...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Ср Ноя 12, 2008 2:11 am Ответить с цитатой Вернуться к началу

Во-первых:
Код:

Period1 =  26;
Period2 = -25;

P3 =  1;
p5 = -1;

C1= MA(C,P3);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*C1);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+C1) ;
a2= (xy - yy*2.5);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*H);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+H) ;
aH= (xy - yy*2.5);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*L);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+L) ;
aL= (xy - yy*2.5);

BS= IIf(Cross(ah,period1/100) OR (Ref(Cross(period2/100,al),-1) AND a2>period1/100),1,IIf(Cross(period2/100,al) OR (Ref(Cross(ah,period1/100),-1) AND a2<period1/100),-1,0));

Buy= bs==1;
Sell= bs==-1;
Short= IIf ( TimeNum()== 184400, bs==1, bs==-1);
Cover= IIf ( TimeNum()== 184400, bs==-1, bs==1);


Вот система, при использовании просто a2 возникал сбой
Цитата:
Но вот дилемма: бывают случаи, когда цена плавно снижается на протяжении нескольких баров, потом резкий скачек внутри одного бара, система показывает покупать и квик покупает, но спустя минуту цена возвращается на уровень открытия этого бара (получается фигура типа молот) и система убирает сигнал, акции уже куплены, а сигнала на продажу нет. После чего продолжается снижение цены.


был такой индикатор:
Код:
xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*C1);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+C1) ;
a2= (xy - yy*2.5);

BS= IIf(Cross(a2,period1/100) ,1,IIf(Cross(period2/100,a2),-1,0));

Buy= bs==1;
Sell= bs==-1;


Во-вторых:
Код:
Short= IIf ( TimeNum()== 184400, bs==1, bs==-1);
Cover= IIf ( TimeNum()== 184400, bs==-1, bs==1);

это я использую для того, чтобы в момент закрытия торгов, вернуться в позицию начала дня (т.е. выйти в позицию 0 лотов в портфеле). Вот как раз сдесь у меня вопрос, все ли верно в этом коде?

PS: тест сстемы с aH и aL показувает значительно более лучший результат, чем при простом a2
Посмотреть профиль Отправить личное сообщение
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Ноя 12, 2008 10:27 am Ответить с цитатой Вернуться к началу

Vladimir писал(а):
Во-первых:
Код:

Period1 =  26;
Period2 = -25;

P3 =  1;
p5 = -1;

C1= MA(C,P3);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*C1);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+C1) ;
a2= (xy - yy*2.5);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*H);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+H) ;
aH= (xy - yy*2.5);

xy= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*L);
yy= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+L) ;
aL= (xy - yy*2.5);

BS= IIf(Cross(ah,period1/100) OR (Ref(Cross(period2/100,al),-1) AND a2>period1/100),1,IIf(Cross(period2/100,al) OR (Ref(Cross(ah,period1/100),-1) AND a2<period1/100),-1,0));

Buy= bs==1;
Sell= bs==-1;
Short= IIf ( TimeNum()== 184400, bs==1, bs==-1);
Cover= IIf ( TimeNum()== 184400, bs==-1, bs==1);



Епона мать, это я о коде. У тебя есть все чтоб просадить бабло и расчет на основе текущего С, и три формулы с расчетом одних и тех же величин xy, yy. А входы в позы это пипец. Поработай с таким кодом:

Код:


x1 = Ref(H,-3)+2*Ref(H,-2)+3*Ref(H,-1);
xy2= (x1+2*H)/8;
yy2= (Ref(H,-3)+Ref(H,-2)+Ref(H,-1)+Ref(H,-1))/4 ;
aH= (xy2 - yy2)/yy2;


x2 = Ref(L,-3)+2*Ref(L,-2)+3*Ref(L,-1);
xy3= (x2+2*L)/8;
yy3= (Ref(L,-3)+Ref(L,-2)+Ref(L,-1)+Ref(L,-1))/4 ;
aL= (xy3 - yy3)/yy3;



Buy= ah>Ref(ah,-1);
Sell= al<Ref(al,-1);
Short= Sell;
Cover= Buy;

Equity(1);
BuyPrice = IIf(O>((yy2*Ref(ah,-1)+yy2)*8-x1)/2,O,((yy2*Ref(ah,-1)+yy2)*8-x1)/2);
SellPrice = IIf(O<((yy3*Ref(al,-1)+yy3)*8-x2)/2,O,((yy3*Ref(al,-1)+yy3)*8-x2)/2);
CoverPrice = IIf(O>((yy2*Ref(ah,-1)+yy2)*8-x1)/2,O,((yy2*Ref(ah,-1)+yy2)*8-x1)/2);

ShortPrice =  IIf(O<((yy3*Ref(al,-1)+yy3)*8-x2)/2,O,((yy3*Ref(al,-1)+yy3)*8-x2)/2);;




Plot(aH,"aH", 4,1);
Plot(aL,"aL", 6,1);


PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);

_________________
Юра

Последний раз редактировалось: commenced (Ср Ноя 12, 2008 2:48 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Отправить e-mail
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Ноя 12, 2008 2:45 pm Ответить с цитатой Вернуться к началу

я кстати над твоим кодом малость поизгалялся(а если точнее переделал довольно существено, гп часовик с 2006 года, гдето 2,5 года, просадка 0,15:

Код:
Statistics
  All trades Long trades Short trades
Initial capital 300000.00 300000.00 300000.00
Ending capital 773811.33 742075.21 331736.12
Net Profit 473811.33 442075.21 31736.12
Net Profit % 157.94 % 147.36 % 10.58 %
Exposure % 84.09 % 46.48 % 37.62 %
Net Risk Adjusted Return % 187.81 % 317.05 % 28.12 %
Annual Return % 50.65 % 47.94 % 4.44 %
Risk Adjusted Return % 60.23 % 103.16 % 11.82 %

--------------------------------------------------------------------------------
 
All trades 334 167 (50.00 %) 167 (50.00 %)
 Avg. Profit/Loss 1418.60 2647.16 190.04
 Avg. Profit/Loss % 0.34 % 0.61 % 0.07 %
 Avg. Bars Held 15.91 16.89 14.93

--------------------------------------------------------------------------------
 
Winners 123 (36.83 %) 62 (18.56 %) 61 (18.26 %)
 Total Profit 1910681.16 1124560.08 786121.07
 Avg. Profit 15533.99 18138.07 12887.23
 Avg. Profit % 3.16 % 3.77 % 2.55 %
 Avg. Bars Held 26.45 28.13 24.74
 Max. Consecutive 5 3 4
 Largest win 75050.21 75050.21 72462.17
 # bars in largest win 36 36 30

--------------------------------------------------------------------------------
 
Losers 211 (63.17 %) 105 (31.44 %) 106 (31.74 %)
 Total Loss -1436869.83 -682484.87 -754384.96
 Avg. Loss -6809.81 -6499.86 -7116.84
 Avg. Loss % -1.31 % -1.25 % -1.36 %
 Avg. Bars Held 9.77 10.25 9.29
 Max. Consecutive 11 7 12
 Largest loss -42589.00 -42589.00 -38546.68
 # bars in largest loss 4 4 8

--------------------------------------------------------------------------------
 
Max. trade drawdown -57805.96 -57644.18 -57805.96
Max. trade % drawdown -8.60 % -7.37 % -8.60 %
Max. system drawdown -196246.51 -111220.94 -212887.64
Max. system % drawdown -24.26 % -16.47 % -43.32 %
Recovery Factor 2.41 3.97 0.15
CAR/MaxDD 2.09 2.91 0.10
RAR/MaxDD 2.48 6.26 0.27
Profit Factor 1.33 1.65 1.04
Payoff Ratio 2.28 2.79 1.81
Standard Error 84247.91 60165.52 40375.46
Risk-Reward Ratio 2.30 2.80 0.63
Ulcer Index 11.49 6.90 25.68
Ulcer Performance Index 3.94 6.16 -0.04
Sharpe Ratio of trades 1.12 1.80 0.17
K-Ratio 0.0218 0.0265 0.0060


p1 = Optimize("P1",6, 1, 60, 1);

d  =Ref(EMA(H,p1),-1);
b = Ref(EMA(L,p1),-1);

x1 = Ref(H,-3)+2*Ref(H,-2)+3*Ref(H,-1);
xy2= (x1+6*H)/12;
yy2= (Ref(H,-3)+Ref(H,-2)+Ref(H,-1)+Ref(H,-1))/4 ;
aH= (xy2 - yy2)/yy2;



x2 = Ref(L,-3)+2*Ref(L,-2)+3*Ref(L,-1);
xy3= (x2+6*L)/12;
yy3= (Ref(L,-3)+Ref(L,-2)+Ref(L,-1)+Ref(L,-1))/4 ;
aL= (xy3 - yy3)/yy3;



Buy= ah>Ref(ah,-1) AND d>Ref(d,-1);
Sell= al<Ref(al,-1) AND b<Ref(b,-1);
Short= Sell;
Cover= Buy;

Equity(1);
BuyPrice = IIf(O>((yy2*Ref(ah,-1)+yy2)*12-x1)/6,O,((yy2*Ref(ah,-1)+yy2)*12-x1)/6);
SellPrice = IIf(O<((yy3*Ref(al,-1)+yy3)*12-x2)/6,O,((yy3*Ref(al,-1)+yy3)*12-x2)/6);
CoverPrice = IIf(O>((yy2*Ref(ah,-1)+yy2)*12-x1)/6,O,((yy2*Ref(ah,-1)+yy2)*12-x1)/6);
ShortPrice =  IIf(O<((yy3*Ref(al,-1)+yy3)*12-x2)/6,O,((yy3*Ref(al,-1)+yy3)*12-x2)/6);

Plot(aH,"aH", 4,1);
Plot(aL,"aL", 6,1);


PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);



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

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vladimir



Зарегистрирован: 30.10.2008
Сообщения: 62

СообщениеДобавлено: Ср Ноя 12, 2008 4:20 pm Ответить с цитатой Вернуться к началу

Код я специально писал для Сбербанка исходя из последних событий на 3-х минутном фрейме.
К сожалению не знаю, как возможно оптимизировать за период, больший чем два дня. Данные я беру из квика через МС.
Цитата:
У тебя есть все чтоб просадить бабло и расчет на основе текущего С, и три формулы с расчетом одних и тех же величин xy, yy. А входы в позы это пипец.

Можешь поконкретней объяснить, что у меня не так с кодом, на счет xy и yy я разобрался и исправил на yyl, yyh...
Код:
xy2= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*C1);
yy2= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+C1) ;
a2= (xy2 - yy2*2.5);

xyh= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*H);
yyh= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+H) ;
aH= (xyh - yyh*2.5);

xyl= (Ref(c1,3*p5)+2*Ref(C1,2*p5)+3*Ref(C1,p5)+4*L);
yyl= (Ref(c1,3*p5)+Ref(C1,2*p5)+Ref(C1,p5)+L) ;
aL= (xyl - yyl*2.5);
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen