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



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Вс Фев 07, 2010 9:47 am Ответить с цитатой Вернуться к началу

Здравствуйте!
Все никак не получается сделать грааль Smile Может кто поможет?
Идея такая: Съесть черепашку ( поймать тренд) а если что не так - довольствоваться черепаховым супчиком (контртренд).
Давно с этим парюсь. Да и у людей тоже есть примеры:
http://pratrader.livejournal.com/58473.html
Полностью реверсивный момент я с божьей помощью решил ( см картинку и последовательность сигналов ниже. Полностью реверсивный это в моем понимании, когда сигналом для sell например является сигнал входа в шорт. Ниже буквы:
С = condition (условия)
B= Buy, PBtr = цена входа в бай.
Tr=Trend
CoTr = Контртренд итд для селл кавер шорт.
Buy=CBTr or CBCoTr;
BuyPrice=iif(CBTr,PBTr,PBCoTr);
Sell=CShCoTr or CShTr;
SellPrice=iif(CShCoTr,PShCoTr,PShTr);
Short=CShTr or CShCoTr;
ShortPrice=IIF(CShTr,PShTr,PShCoTr);
Cover=CBTr or CBCoTr;
CoverPrice=IIF(CBTr,PBTr,PBCoTr);
Но в таком дубовом виде параметры даже простой пробойной системы ухудшаются. Идея включения контртренда в том, чтобы хотя бы не добавить, но сгладить провалы трендовых систем, которые работают удивительно стабильно, но еквити достаточно рваная, и выдержать просадки например 30-60% как бы не всем даноSmile
С другой стороны не полностью реверсивные системы - когда сигнал например выхода из контр тренда - будет другой - а не вход в тренд. ( ведь часто до этого просто дело не доходит - вход тренд - это предыдущие максимумы/мин, а тут народ обычно фиксится, да всякие диверы тоже часто итд, поэтому - откат обратно (часто)
Например в системе, что я привел на часовиках
http://amisite.ru/phpBB2/viewtopic.php?t=659
Там только для лонгов есть вход тренд ( пробой ххв) и вход контр тренд (отражение от ллв) а выход контртренд - это например не вход в шорт контр тренд а по методу Ratchet. Для шортов хоть убей не получается - цены путаются (например выход по селл ниже чем вход по шорт Sad , хотя сначала конечно надо выйти из пред бай а после уже зайти в шорт...) В общем если кто поможет решить задачу в общем виде - считайте, что грааль мы нашли. ( кстати, даже та однобокая система ( что в копилке) - дает на 4-х мес 76000 п. ( видно по картинке кривой эквити. т.е. практически 20 000 п / в мес. ( на часах)
На 15 мин лучше, правда сделок гораздо больше и надо все время сидеть за компом - контролировать робота...
Еще раз вопрос: Написать что то типа текста вверху, где условия выхода Sell и Cover другие - например CSellCoTr или CCCoTr...
Т.е. фактически надо совместить 2 разные стратегии тренд и контр тренд в одной системе. Чего то я подумал, что идея Мультитестера, когда 2 стратегии тестируются одновременно но с разным % выделенного депо ( см ссылку на главной странице сайта)
http://heaventrading.wordpress.com/
не так привлекательна, т.к. можно рисковать только от% депо.... а тут как бы риск считается от всего депо. Или не так?

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Сб Фев 13, 2010 11:28 pm Ответить с цитатой Вернуться к началу

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

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



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Вс Фев 14, 2010 9:16 pm Ответить с цитатой Вернуться к началу

Приветствую!
Юра, это не вопрос! у меня например вариантов 5 входов есть контртренд, и 3 выходов, в т.ч. и тот, что у тебя описан.
Для трендов тоже несколько, правда вход один - пробитие ххв или ллв, а выходов может быть несколько вариантов.
Вопрос - как это все логически совместить, чтобы не мешали друг другу.
Например ( входы/выходы от балды, просто для примера):
SetPositionSize(2,4);
SetTradeDelays(0,0,0,0);
SetOption("AllowPositionShrinking",0); // Вкл (1) выкл (0)возможность открытия позиции, если денег не хватает
SetOption("AllowSameBarExit",0); // Вкл (1) выкл (0) возможность выхода на баре входа
SetOption("ActivateStopsImmediately",0); // Вкл (1) выкл (0) активацию стопа на баре входа
SetOption("FuturesMode",1); // Вкл (1) выкл (0) режим "Тестирование фьючерсов"
SetOption("ReverseSignalForcesExit",0); // Вкл (1) выкл (0) вход в противоположную позицию при противп. сигнале
SetOption("PriceBoundChecking",1); // Вкл (1) выкл (0) проверку соответствия bp/sp/shp/cp диапазону h-l
SetBarsRequired( 1000, 0 );
//Проскальзывание
Slpg=Param("Slpg",100,0,250,1);

//Base Line
barsLo=15;
barsSh=8;
LineLo=HHV(H,barsLo);
LineSh=LLV(L,barsSh);


//ATR Stop Trend Long
MATRStLoTr =0.2;
ATRStPerLoTr=15;
ATRStLLVPerLoTr=3;
ATRStLoTr = LLV(L - (MATRStLoTr*ATR(ATRStPerLoTr)),ATRStLLVPerLoTr);
ConSellTr=L<Ref(ATRStLoTr,-1);
SellPrTr=L<Ref(ATRStLoTr,-1);


//ATR Stop Long ContrTrend
MATRStLoCoTr =0.1;
ATRStPerLoCoTr=4;
ATRStLLVPerLoCoTr=2;
ATRStLoCoTr = LLV(L - (MATRStLoCoTr*ATR(ATRStPerLoCoTr)),ATRStLLVPerLoCoTr);
ConSellCoTr=L<Ref(ATRStLoCoTr,-1);
SellPrCoTr=L<Ref(ATRStLoCoTr,-1);


//ATR Stop Short Trend
MATRStShTr=0.38;
ATRStPerShTr=15;
ATRStHHVPerShTr=2;
ATRStShTr = HHV(H + (MATRStShTr*ATR(ATRStPerShTr)),ATRStHHVPerShTr);
ConCoTr=H>Ref(ATRStShTr,-1);
CoPrTr=Ref(ATRStShTr,-1);

//ATRStop Short ContrTrend
MATRStShCoTr=0.38;
ATRStPerShCoTr=15;
ATRStHHVPerShCoTr=2;
ATRStShCoTr = HHV(H + (MATRStShCoTr*ATR(ATRStPerShCoTr)),ATRStHHVPerShCoTr);
ConCoCoTr=H>Ref(ATRStShCoTr,-1);
CoPrCoTr=Ref(ATRStShCoTr,-1);

// Cond In Buy Trend
ConBuyTr=H> Ref(LineLo,-1);
BuyPrTr=Ref(LineLo,-1);


//Cond In Buy ContrTrend
ConBuyCoTr=H>Ref(LineSh+lineSh*0.2,-1);
BuyPrCoTr=Ref(LineSh+LineSh*0.2,-1);

//Cond In Sh Trend
ConShTr=L<Ref(LineSh,-1);
ShPrTr=Ref(LineSh,-1);


//Condinion In Short ContrTrend
ConShCoTr=L<Ref(LineLo-LineLo*0.2,-1);
ShPrCoTr=Ref(LineLo-LineLo*0.2,-1);

Buy=ConBuyTr OR ConBuyCoTr;
BuyPrice=IIf(ConBuyTr,BuyPrTr,BuyPrCoTr);
// Too Much Question`s Under///
Sell1=IIf(ConBuyTr,ConSellTr,ConShCoTr);
Sell1Price=IIf(ConBuyTr,SellPrTr,ShPrCoTr);
Sell2=IIf(ConBuyCoTr,ConSellCoTr,ConShCoTr);
Sell2Price=IIf(ConBuyCoTr,SellPrCoTr,ShPrTr);

Sell=Sell1 OR Sell2; // ??
SellPrice=Sell1Price OR Sell2Price; //?
Short=0;
Cover=0;
Equity(1,0);
N=Cum(Buy)+Cum(Short);
//dist = 1*ATR(10);
dist=100;
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy\n@" + BuyPrice[ i ], i, L[ i ]-dist[i], colorBlue );
if( Sell[i] ) PlotText( "Sell\n@" + SellPrice[ i ], i, H[ i ]+dist[i]*2.5, colorRed );
//if( Short[i] ) PlotText( "Short\n@" + ShortPrice[ i ], i, H[ i ]+dist[i], colorRed );
//if( Cover[i] ) PlotText( "Cover\n@" + CoverPrice[ i ], i, L[ i ]-dist[i]*2.5, colorBlue );
}


PlotShapes(Buy*shapeSmallUpTriangle,colorBlue,0,L,-10);
PlotShapes(Sell*shapeSmallDownTriangle,colorRed,0,H,-10);
//PlotShapes(IIf(Short,shapeHollowSmallDownTriangle,0),colorRed,0,H,-20);
//PlotShapes(IIf(Cover,shapeHollowSmallUpTriangle,0),colorBlue,0,L,-20);

Plot(LineLo,"LongLine",colorBlue);
Plot(LineSh,"ShortLine",colorRed);
Plot(ATRStLoTr,"ATRStLoTr",colorBlue,32);
Plot(ATRStLoCoTr,"ATRStLoCoTr",colorRed,32);

Plot(Equity(1,0),"EQ",colorYellow,32768);
Plot(N,"N",colorOrange,32768,256);

Че то для шорта городить рука не поднимаетсяSmile
Типа все симметрично наоборот!
Это еще как то можно в голове удержать, а если например надо проверить вариант, когда стопом является цена входа +/- уровень, то запомнить это число в момент например бай - это цикл.... я уж не говорю о переносе стопов в безубыток...
Но Хотя бы то, что вверху - логика правильная?
Хотя, если кинуть на график- то явно что то не так. в бай контр тренд вообще не входит например...

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Пн Фев 15, 2010 5:47 pm Ответить с цитатой Вернуться к началу

Так ты чего хочеш то?

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



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Пн Фев 15, 2010 6:34 pm Ответить с цитатой Вернуться к началу

commenced писал(а):
Так ты чего хочеш то?

Объединить трендовую систему с противотрендовой (входы и выходы каждой в общем случае независимы, в частном случае выход из контртренда может перерасти в тренд, при этом не хотелось бы лишних входов выходов.
Логика бай/селл/шорт/кавер - не получается... т.к. число условий доходит до 4-х... ( не некоторых участках- кавер и селл)
Может кто то у кого с логикой получше - напишет решение в общем виде, или укажет на явную ошибку.
Это то, что касается темы, а вообще - много чего хочуSmile

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Пн Фев 15, 2010 9:45 pm Ответить с цитатой Вернуться к началу

разбей на две системы и суй в робота.


Код:
Buy = 0; 
Short = 0;
Sell = 0;
Cover = 0;

условия и все такое


  Sell1 =
Buy1 =
Short1 =
Cover1 = ;

Buy1 = ExRem(Buy1,Sell1);
Sell1 = ExRem(Sell1,Buy1);
Short1 = ExRem(Short1,Cover1);
Cover1 = ExRem(Cover1,Short1);



   Buy1 = LastValue(Buy1);
   Sell1 = LastValue(Sell1);
   Short1 = LastValue(Short1);
   Cover1 = LastValue(Cover1);

условия и все такое

Buy2=
Short2= ;
Sell2=;
Cover2=;

Buy2 = ExRem(Buy2,Sell2);
Sell2 = ExRem(Sell2,Buy2);
Short2 = ExRem(Short2,Cover2);
Cover2 = ExRem(Cover2,Short2);



   Buy2 = LastValue(Buy2);
   Sell2 = LastValue(Sell2);
   Short2 = LastValue(Short2);
   Cover2 = LastValue(Cover2);


в роботе изменений совсем мало, по аналогии со стандартным.

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



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Вт Фев 16, 2010 8:42 pm Ответить с цитатой Вернуться к началу

commenced писал(а):
разбей на две системы и суй в робота.
.......
в роботе изменений совсем мало, по аналогии со стандартным.

Спасибо!
Самое интересное ты не написалSmile
Систем и так 2. Задача объединить а не разбить...
До робота пока далеко еще.
Buy=Buy1 or Buy2; // Так?
BuyPrice=iif(Buy1,buyprice1,buyprice2);//Так?
Sell= Sell1 or sell2 ; //Возможно и не так...
Пусть бай1 =тренд, а бай2=контртренд.
Тогда если был бай тренд, то селлтренд, а если был бай контртренд, то селл2 (контртренд), а вот если байконтртренд плавно перешел в байтренд (ну пробил и дальше пошел...) то sell не надо вообще.
Заморока с ценами еще мутнее...
Вот с этим чего делать?
Олег вроде защитил идею мультитестера, что если не производить разбиение капитала для торговли между системами, то каждый раз система для торговли будет получать все оставшиеся деньги...
Надо это проверять - пока не делал) но на первый взгляд могут возникнуть проблемы, т.к. сигналы на закрытие тренда (например) приходят позже, чем на открытие контртренда ( на одной свече) Конечно, тестеру все равно, но в жизни так позицию не открыть....
Поэтому я хотел регулировать этот вопрос ценами - типа, если сигнал уж возникает, то берем для вновь открываемой позиции худшую цену - т.е. цену закрытия предыдущей поз., Ну а если все разделено по свечкам, тогда у каждого своя цена. Вот тут у меня затык...
Скорее всего проще найти денег и несколько неэффективно их использовать - разделив капитал между стратегиями...
Все хочется по максимуму отжатьSmile Это жадность. Буду бороться!

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Ср Фев 17, 2010 4:56 pm Ответить с цитатой Вернуться к началу

Объединение систем не ведет к их улучшению. А как расчитать цену при наличии 2 условий OR, сложно, а в некоторых случаях невозможно т.к. система не помнит по какому условию зашла в лонг толи отскок толи пробой, т.е. селл у тебя не будет меняться в зависимости от входа, а исполниться если реализуется любое из 2 условий, короче велика вероятность накосячить, поэтому делай 2 системы и тесть без плеч, потом попробуй с 2мя плечами каждую если не сливают с плечем, на разных состояниях рынка 2006-2008 г. смело фигарь лот=депо, и каждая из объединеных систем будет торговать в размере дэпо, причем,если условия не будут пересекаться то торговля будет произходить без наложения поз, и лишних сложностей. Smile

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


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

СообщениеДобавлено: Ср Фев 17, 2010 6:56 pm Ответить с цитатой Вернуться к началу

Чесно говоря вообще потерял нить беседы.
Ну вот просто так написал простой код
Код:

P = ParamField("Price field");
Per = Param("Period", 10, 10, 100, 10);

fast = 2/(2+1);
slow = 2/(30+1);
dir=abs(p-Ref(p,-Per));
vol=Sum(abs(p-Ref(p,-1)),Per);
ER=dir/vol;
sc =( ER*(fast-slow)+slow)^2;

// тренд если SC > 0.15

// канал
Buy1 = SC <= 0.15 AND Cross(80, RSI(15));
Sell1 = SC <= 0.15 AND Cross(RSI(15), 20);

// тренд
Buy2 = SC > 0.15 AND Cross(RSI(15), 80);
Sell2 = SC > 0.15 AND Cross(20, RSI(15));

Buy = Buy1 OR Buy2;
Sell = Sell1 OR Sell2;

Просто для примера. Индикатор тренда отношение сигнал/шум
Если канал (не тренд) то торгуем по КЫШ при возвращенииего в границы.
Если тренд, то наоборот. Торгуем при выходе за границы.
Если вход был в канале а потом канал сменился на тренд, то и выход будет по правилам тренда.

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


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

СообщениеДобавлено: Ср Фев 17, 2010 7:26 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Чесно говоря вообще потерял нить беседы.
Ну вот просто так написал простой код
Код:

P = ParamField("Price field");
Per = Param("Period", 10, 10, 100, 10);

fast = 2/(2+1);
slow = 2/(30+1);
dir=abs(p-Ref(p,-Per));
vol=Sum(abs(p-Ref(p,-1)),Per);
ER=dir/vol;
sc =( ER*(fast-slow)+slow)^2;

// тренд если SC > 0.15

// канал
Buy1 = SC <= 0.15 AND Cross(80, RSI(15));
Sell1 = SC <= 0.15 AND Cross(RSI(15), 20);

// тренд
Buy2 = SC > 0.15 AND Cross(RSI(15), 80);
Sell2 = SC > 0.15 AND Cross(20, RSI(15));

Buy = Buy1 OR Buy2;
Sell = Sell1 OR Sell2;

Просто для примера. Индикатор тренда отношение сигнал/шум
Если канал (не тренд) то торгуем по КЫШ при возвращенииего в границы.
Если тренд, то наоборот. Торгуем при выходе за границы.
Если вход был в канале а потом канал сменился на тренд, то и выход будет по правилам тренда.


А как селу узнать вошли мы по тренду или нет, он будет проверять исполнение любому из 2 х условий Sell1 OR Sell2; А расчет цен для тестера еще более проблематичен, правда если системы более менее сложные.

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


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

СообщениеДобавлено: Ср Фев 17, 2010 9:39 pm Ответить с цитатой Вернуться к началу

А никак не узнать. Если сейчас типа тренд, то выходит по условиям тренда (не важно как вошли), а если флет, то по условиям флета.

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



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

СообщениеДобавлено: Чт Фев 18, 2010 5:52 am Ответить с цитатой Вернуться к началу

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


Скажем честно, это "не система не помнит", а системостроитель не написал такое условие... Wink
Не надо "одушевлять" неодушевленные предметы!

Код:

//по достижении цели TP
SellCond1 = H>=BTarget;
//по времени: т.е. на след день перед установкой ордеров в час n-1
SellCond2 = Hour()==n-1;
//еще по какой-нибудь причине.
//SellCond3 = .....
//StopLoss
SellCondSL = L<=B_SL;
SellPrice = IIf(SellCondSL, B_SL, IIf(SellCond1, BTarget, C));
Sell = SellCondSL OR SellCond1 OR SellCond2;


При этом предупреждаю, чтобы самому себя не обманывать, а подстраховать, надо проверять условие на SL самым первым.

Про то "объединять" или "не объединять" пока не могу ничего сказать.
"У меня есть собственное мнение, но я с ним не согласен!" Wink

Про "узнать" сравнить
Код:

BarSince(BuyCond1) < BarSince(BuyCond2);

Smile
Посмотреть профиль Отправить личное сообщение
Sergiovy



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Чт Фев 18, 2010 1:06 pm Ответить с цитатой Вернуться к началу

Скажем честно, это "не система не помнит", а системостроитель не написал такое условие... Wink
Не надо "одушевлять" неодушевленные предметы!
//// Привет, Настырный! (как зовут в миру, откройсяSmile
Вот слово система помнит - это я пытался обсуждать n-раз.
Чтобы помнила по-взрослому, это надо такие циклы городить, что мама не горюй... А если циклы уже есть например в стратегии выхода, то все... Система или висит по полчаса, или я вишу и не рублю чего там и как... Если очень интересно - могу привести ссылки с этого форума, да и Олег согласился.
Твои коды: Вы почему то никто про цены не пишетеSmile А в этом же проблема. Еще бай селл можно как то согласовать, но, если вход в бай например по 2-м условиям, а выход по селл тоже по 2-м ( хотя бы), то вариантов для цен уже 4... А что же делать с ценами шорт и кавер?
Там тоже 2+2 ( Это минимум). Учти еще, что практически всегда все это происходи на одной свече, и цены внутри свечи. Эти цены лезут одна вперед другой. ( Еще не вышли по селл а уже зашли в шорт, по цене лучше, чем селл , а свечка то черная. В Жизни это никак не получится. Пример, когда система полностью симметричная - работает - см первый пост ветки. Как только в условия бай селл шорт кавер засовываешь произвольные (разные, конечно), то ответа нет - че то тестер кажет, но цены не те. а если условий по нескольку то трудно в голове все это понять....
Пока предлагаю забить. Юра хорошую идею предложил использовать мультитестер и плечо, чтобы вест капитал работал, да и Олег проанализировал - тоже все похоже нормально...
Все эти тараканы в голове от старого желания ( кстати тоже здесь обсуждалось, и было вытесено решение: пока никак Smile - создать каркас, куда можно было бы пихать любое количество стратегий, и они бы не мешали друг другу, а если есть пересечение, то тестер (каркас) сам выбирает худшее значение - было бы неплохо при этом еще и чего то писать на графике типа - тут проблема, думай, как улучшитьSmile
Как только освою мультитестер - отпишусь - это в принципе 75% решения всех проблем тестирования не одной а нескольких систем ( до тестирования еще и на разных инструментах (одновременно) - ну это для меня пока из области фантазииSmile
Спасибо всем огромное.

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Чт Фев 18, 2010 4:54 pm Ответить с цитатой Вернуться к началу

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


Скажем честно, это "не система не помнит", а системостроитель не написал такое условие... Wink
Не надо "одушевлять" неодушевленные предметы!

Код:

//по достижении цели TP
SellCond1 = H>=BTarget;
//по времени: т.е. на след день перед установкой ордеров в час n-1
SellCond2 = Hour()==n-1;
//еще по какой-нибудь причине.
//SellCond3 = .....
//StopLoss
SellCondSL = L<=B_SL;
SellPrice = IIf(SellCondSL, B_SL, IIf(SellCond1, BTarget, C));
Sell = SellCondSL OR SellCond1 OR SellCond2;


При этом предупреждаю, чтобы самому себя не обманывать, а подстраховать, надо проверять условие на SL самым первым.

Про то "объединять" или "не объединять" пока не могу ничего сказать.
"У меня есть собственное мнение, но я с ним не согласен!" Wink

Про "узнать" сравнить
Код:

BarSince(BuyCond1) < BarSince(BuyCond2);

Smile



ты не прав.

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



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

СообщениеДобавлено: Пт Фев 19, 2010 6:08 am Ответить с цитатой Вернуться к началу

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


Скажем честно, это "не система не помнит", а системостроитель не написал такое условие... Wink
Не надо "одушевлять" неодушевленные предметы!

Код:

//по достижении цели TP
SellCond1 = H>=BTarget;
//по времени: т.е. на след день перед установкой ордеров в час n-1
SellCond2 = Hour()==n-1;
//еще по какой-нибудь причине.
//SellCond3 = .....
//StopLoss
SellCondSL = L<=B_SL;
SellPrice = IIf(SellCondSL, B_SL, IIf(SellCond1, BTarget, C));
Sell = SellCondSL OR SellCond1 OR SellCond2;


При этом предупреждаю, чтобы самому себя не обманывать, а подстраховать, надо проверять условие на SL самым первым.

Про то "объединять" или "не объединять" пока не могу ничего сказать.
"У меня есть собственное мнение, но я с ним не согласен!" Wink

Про "узнать" сравнить
Код:

BarSince(BuyCond1) < BarSince(BuyCond2);

Smile



ты не прав.


Возможно, я не знаю "всех глубин полета мысли" этой дискуссии.
По своему опыту:
Больше 4х разных условий на длинную и 4х разных на короткую и к ним то ли по 2, то ли по 3 выхода + стоп лосс на длинную + стоп лосс на короткую не делал.
И мучился с ней долго. И это было без доливок и ММ...
После тех мучений решил, что гораздо проще на один чарт вывести несколько графиков, каждый из которых отвечает за конкретный сигнал. А результаты свести в Excel и там уже прикручивать ММ.
Главное, что так быстрее получается.

Да, и с циклами я стараюсь не связываться, потому, мне эти проблемы и не видятся сложными! Wink

А если нужен "костяк" системы, то в библиотеке AMI
Barry Scarborough -
выложил шаблон для робота на стоках...
AutoTrader Basic Flow - updated April 15, 2009
Я только открыл, посмотрел код и понял, что там много чего можно "понадергать"... но пока не использовал этот шаблон для строительства.

to sergiovy:
Цитата:

Учти еще, что практически всегда все это происходи на одной свече, и цены внутри свечи. Эти цены лезут одна вперед другой. ( Еще не вышли по селл а уже зашли в шорт, по цене лучше, чем селл , а свечка то черная. В Жизни это никак не получится.


в этой ситуации только один выход: уменьшать таймфрейм.
Т.е. если система на днях,
//-------Дневной тайм фрейм----
TimeFrameSet(inDaily);
прописываешь все условия на днях,
бла-бла-бла

TimeFrameRestore(); //-------------------Вернулись к часовкам
// экспортировали дневные данные в часовки
Mov = TimeFrameExpand(M,inDaily);

и тестируешь систему на часовках.

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


О! у меня картинка открылась наконец-то, которая в первом сообщении этой ветки. До боли знакомая система расстановки ордеров... Wink Надо порыться в архивах за 2005-2007 годы. Что-то подобное было. Если найду - выложу.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen