Автор |
Сообщение |
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Заинтересовала меня на пауке вот эта система
http://forex.kbpauk.ru/showflat.php/Cat/0/Number/272348/an/0/page/1#Post272348
Помогите, пожалуйста сопоставить код от Омеги и Ами, в Омеге все понятно, а в Ами я только недавно начал разбираться, поэтому не могу сориентироваться.
Вот код от Омеги:
Код: |
Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
Vars: BuyRange(0), SellRange(0);
Vars: BuyTrig(0),SellTrig(0);
Vars: HH(0),LL(0),HC(0),LC(0);
If CurrentBar > 1 Then Begin
HH = Highest(High,Mday);
HC = Highest(Close,Mday);
LL = Lowest(Low,Mday);
LC = Lowest(Close,Mday);
If (HH - LC) >= (HC - LL) Then Begin
SellRange = HH - LC;
End Else Begin
SellRange = HC - LL;
End;
HH = Highest(High,Nday);
HC = Highest(Close,Nday);
LL = Lowest(Low,Nday);
LC = Lowest(Close,Nday);
If (HH - LC) >= (HC - LL) Then Begin
BuyRange = HH - LC;
End Else Begin
BuyRange = HC - LL;
End;
BuyTrig = K1*BuyRange;
SellTrig = K2*SellRange;
If MarketPosition = 0 Then Begin
Buy at Open of next bar + BuyTrig Stop;
Sell at Open of next bar - SellTrig Stop;
End;
If MarketPosition = -1 Then Begin
Buy at Open of next bar + Buytrig Stop;
End;
If MarketPosition = 1 Then Begin
Sell at Open of next bar - SellTrig Stop;
End;
End;
|
А вот от Ами (тоже опубликован на пауке):
Код: |
BDay=Optimize( "BDay", 10, 1, 16, 1 );
SDay=Optimize( "SDay", 10, 1, 16, 1 );
Kl=0.5;
BuyRange=SellRange=0;
HHb = HHV(High,BDay);
HCb = HHV(Close,BDay);
LLb = LLV(Low,BDay);
LCb = LLV(Close,BDay);
HHs = HHV(High,SDay);
HCs = HHV(Close,SDay);
LLs = LLV(Low,SDay);
LCs = LLV(Close,SDay);
for( i =1+Max(BDay,SDay); i < BarCount; i++ )
{
if ((HHb[i-1] - LCb[i-1]) >= (HCb[i-1] - LLb[i-1])) BuyRange[i] = HHb[i-1] - LCb[i-1];
else
BuyRange[i] = HCb[i-1] - LLb[i-1];
if ((HHs[i-1] - LCs[i-1]) >= (HCs[i-1] - LLs[i-1])) SellRange[i] = HHs[i-1] - LCs[i-1];
else
SellRange[i] = HCs[i-1] - LLs[i-1];
};
BuyTrig = Kl*BuyRange;
SellTrig = Kl*SellRange;
ColorCh0=colorLightGrey;
Band_Top=O+BuyTrig;
Band_Bot=O-SellTrig;
Plot(Band_Top, "Band_Top", ColorCh0, 1);
Plot(Band_Bot , "Band_Bot", ColorCh0, 1);
Buy=Cover=Cross(H,Band_Top);BuyPrice=CoverPrice=Band_Top;
Short=Sell=Cross(Band_Bot,L); ShortPrice=SellPrice=Band_Bot;
PlotShapes( (Buy == 1) * shapeHollowUpArrow, colorBrightGreen, 0,BuyPrice);
PlotShapes( (Buy == sigScaleIn ) * shapeSmallUpTriangle, colorBrightGreen, 0,BuyPrice,1);
PlotShapes( (Buy == sigScaleOut) * shapeSmallDownTriangle, colorBrightGreen, 0,BuyPrice,1);
PlotShapes( (Short == 1) * shapeHollowDownArrow, colorRed, 0, ShortPrice);
PlotShapes( (Short == sigScaleIn ) * shapeSmallDownTriangle, colorRed, 0,ShortPrice,1);
PlotShapes( (Short == sigScaleOut ) * shapeSmallUpTriangle, colorRed, 0, ShortPrice,1);
PlotShapes( (Sell== 1) * shapeHollowDownArrow, colorBlue, 0,SellPrice);
PlotShapes( (Sell == 2) * shapeSmallCircle, colorBlue, 0,SellPrice,0);// stop
PlotShapes( (Sell == 5) * shapeSmallCircle, colorLightBlue, 0,SellPrice,0);// stop
PlotShapes( (Sell == 3) * shapeSquare, colorBlue, 0, SellPrice,0);// profit
PlotShapes( (Cover == 1) * shapeHollowUpArrow, colorOrange, 0, CoverPrice);
PlotShapes( (Cover == 2) * shapeSmallCircle, colorOrange, 0, CoverPrice,0);// stop
PlotShapes( (Cover == 3) * shapeSquare, colorOrange, 0,CoverPrice);// limit
PlotShapes( (Cover == 5) * shapeSmallCircle, colorLightOrange, 0,CoverPrice,0);// limit
|
обязателен ли здесь цикл for, вроде в коде омеги он не используется и смотрел на код системы по Ларри Вильямсу в соседней ветке, там тоже нет циклов. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Tim
Зарегистрирован: 12.02.2010
Сообщения: 245
Откуда: Дмитров
|
А самому хотя бы начать сопоставлять никак что ли? |
_________________ УСПЕХ — это движение от неудачи к неудаче БЕЗ ПОТЕРИ ЭНТУЗИАЗМА.
- Уинстон Черчилль |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Омега в принципе изначально гоняет цикл. Изи просматривает бары слева направо. AFL работает совсем не так.
С кодом помочь не возьмусь, т.к. в изи совсем не шарю.
Тем более если приведенный код работает... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Код: |
BDay=Optimize( "BDay", 1, 1, 16, 1 );
SDay=Optimize( "SDay", 1, 1, 16, 1 );
Kl=0.5;
HHb = HHV(Ref(High,-1),BDay);
HCb = HHV(Ref(Close,-1),BDay);
LLb = LLV(Ref(Low,-1),BDay);
LCb = LLV(Ref(Close,-1),BDay);
HHs = HHV(Ref(High,-1),SDay);
HCs = HHV(Ref(Close,-1),SDay);
LLs = LLV(Ref(Low,-1),SDay);
LCs = LLV(Ref(Close,-1),SDay);
BuyRange = IIf( (HHB - LCB) >= (HCB - LLB), HHB - LCB, HCB - LLB);
SellRange = IIf( (HHS - LCS) >= (HCS - LLS), HHS - LCS, HCS - LLS);
BuyTrig = Kl*BuyRange;
SellTrig = Kl*SellRange;
ColorCh0=colorLightGrey;
Band_Top=O+BuyTrig;
Band_Bot=O-SellTrig;
Plot(Band_Top, "Band_Top", ColorCh0, 1);
Plot(Band_Bot , "Band_Bot", ColorCh0, 1);
Buy = Cover = Cross(H,Band_Top); BuyPrice = CoverPrice = Band_Top;
Short = Sell = Cross(Band_Bot,L); ShortPrice = SellPrice = Band_Bot;
PlotShapes( (Buy == 1) * shapeHollowUpArrow, colorBrightGreen, 0,BuyPrice);
PlotShapes( (Buy == sigScaleIn ) * shapeSmallUpTriangle, colorBrightGreen, 0,BuyPrice,1);
PlotShapes( (Buy == sigScaleOut) * shapeSmallDownTriangle, colorBrightGreen, 0,BuyPrice,1);
PlotShapes( (Short == 1) * shapeHollowDownArrow, colorRed, 0, ShortPrice);
PlotShapes( (Short == sigScaleIn ) * shapeSmallDownTriangle, colorRed, 0,ShortPrice,1);
PlotShapes( (Short == sigScaleOut ) * shapeSmallUpTriangle, colorRed, 0, ShortPrice,1);
PlotShapes( (Sell== 1) * shapeHollowDownArrow, colorBlue, 0,SellPrice);
PlotShapes( (Sell == 2) * shapeSmallCircle, colorBlue, 0,SellPrice,0);// stop
PlotShapes( (Sell == 5) * shapeSmallCircle, colorLightBlue, 0,SellPrice,0);// stop
PlotShapes( (Sell == 3) * shapeSquare, colorBlue, 0, SellPrice,0);// profit
PlotShapes( (Cover == 1) * shapeHollowUpArrow, colorOrange, 0, CoverPrice);
PlotShapes( (Cover == 2) * shapeSmallCircle, colorOrange, 0, CoverPrice,0);// stop
PlotShapes( (Cover == 3) * shapeSquare, colorOrange, 0,CoverPrice);// limit
PlotShapes( (Cover == 5) * shapeSmallCircle, colorLightOrange, 0,CoverPrice,0);// limit |
|
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Воот...
У меня было подозрение что можно и без цикла обойтись, но АФЛ еще не освоил пока.
Спасибо |
|
|
Посмотреть профиль Отправить личное сообщение |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Не понятно зачем вводится второй оптимизируемый параметр Sday, если его убрать то система упрощается, и выдаёт даже чуть более лучшие результаты... |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Я насколько понял, в системе идет разделение для шортов и лонгов, т.е. отдельно оптимизируется входы для лонгов и шортов. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Nero Wolfe писал(а): |
Я насколько понял, в системе идет разделение для шортов и лонгов, т.е. отдельно оптимизируется входы для лонгов и шортов. |
Что-то я не заметил этого разделения вот тут:
Код: |
Buy = Cover = Cross(H,Band_Top); BuyPrice = CoverPrice = Band_Top;
Short = Sell = Cross(Band_Bot,L); ShortPrice = SellPrice = Band_Bot; |
И не знаю почему, но мне кажется логичнее сделать один BDay и сделать его постоянным, а оптимизировать как раз таки коэффициент Kl... |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Разделение по моему вот тут
Код: |
BuyRange = IIf( (HHB - LCB) >= (HCB - LLB), HHB - LCB, HCB - LLB);
SellRange = IIf( (HHS - LCS) >= (HCS - LLS), HHS - LCS, HCS - LLS); |
таким образом, получается что верхняя и нижняя границы могут быть построены с разными параметрами, т.е. отстоять от цен на разное расстояние.
Согласен, что коэф. К оказывает большее влияние на систему. Я при оптимизации вообще делал BDay=SDay |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|