Автор |
Сообщение |
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Система. Смотрим, тестируем.
99% кода с этого сайта.
делал для фьючерса газпрома. 1 час.
Выкладываю как есть.
автор индикаторов commenced. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Vladimir
Зарегистрирован: 30.10.2008
Сообщения: 62
|
На мой взгляд, она заглядывает в будущее. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Да, похоже так. Как нашел? По bar replay или по коду?
Тогда так. Но похоже, надо еще над системкой работать. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Vladimir
Зарегистрирован: 30.10.2008
Сообщения: 62
|
Все коды с аномально большой прибылью я проверяю вручную:
Код: |
sdvig = Param("sdvig", 0, 0, 700, 1);
O = Ref(O, -sdvig);
H = Ref(H, -sdvig);
L = Ref(L, -sdvig);
C = Ref(C, -sdvig);
sdvigH = Param("sdvigH", 0, -50, 50, 1);
H = IIf(BarIndex() >= LastValue(Cum(1))-1,H-sdvigH,H);
sdvigO = Param("sdvigO", 0, -50, 50, 1);
O = IIf(BarIndex() >= LastValue(Cum(1))-1,O-sdvigO,O);
sdvigC = Param("sdvigC", 0, -100, 100, 1);
C = IIf(BarIndex() >= LastValue(Cum(1))-1,C-sdvigC,C);
sdvigL = Param("sdvigL", 0, -100, 100, 1);
L = IIf(BarIndex() >= LastValue(Cum(1))-1,L-sdvigL,L); |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
altaru
Зарегистрирован: 14.10.2009
Сообщения: 1
|
Vladimir писал(а): |
Все коды с аномально большой прибылью я проверяю вручную:
Код: |
sdvig = Param("sdvig", 0, 0, 700, 1);
O = Ref(O, -sdvig);
H = Ref(H, -sdvig);
L = Ref(L, -sdvig);
C = Ref(C, -sdvig);
sdvigH = Param("sdvigH", 0, -50, 50, 1);
H = IIf(BarIndex() >= LastValue(Cum(1))-1,H-sdvigH,H);
sdvigO = Param("sdvigO", 0, -50, 50, 1);
O = IIf(BarIndex() >= LastValue(Cum(1))-1,O-sdvigO,O);
sdvigC = Param("sdvigC", 0, -100, 100, 1);
C = IIf(BarIndex() >= LastValue(Cum(1))-1,C-sdvigC,C);
sdvigL = Param("sdvigL", 0, -100, 100, 1);
L = IIf(BarIndex() >= LastValue(Cum(1))-1,L-sdvigL,L); |
|
и для чего отрывок этого кода? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Берем этот код, вставляем в свой и при работе barreplay:
прошла сделка- двигаем param OHLC смотрим как наш код реагирует на это, не пропадают ли сигналы и т.п.
Я так это дело понял. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
fewry
Зарегистрирован: 06.10.2009
Сообщения: 61
|
выглядит неплохо . надо протестить еще. только у меня был один глюк - в самой левой части графика красная лииня индикатора улетает вниз до 0, и получается что сам график цены находится наверху в узком масштабе. или так и должно быть? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
MAAAN779 писал(а): |
выглядит неплохо . надо протестить еще. только у меня был один глюк - в самой левой части графика красная лииня индикатора улетает вниз до 0, и получается что сам график цены находится наверху в узком масштабе. или так и должно быть? |
Нет. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Vladimir писал(а): |
На мой взгляд, она заглядывает в будущее. |
Код не заглядывает в будующее, он меняет свое прошлое. Возьмите заг заг Олега со стабильными значениями и с помощью его определяйте пики, вариантов их определения множество. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Vladimir
Зарегистрирован: 30.10.2008
Сообщения: 62
|
А какой именно, их ведь несколько, а циклах я не разберусь |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Vladimir писал(а): |
А какой именно, их ведь несколько, а циклах я не разберусь |
Вроде этот код.
Код: |
SetBarsRequired(100000,0);
revers = 1.5/100;
Trend = 1;
Rev[0] = C[0] - C[0]*Revers;
UPpik = 0;
Dwpik = 0;
k = 1;
SwingLine = Null;
SwingLine[0] = C[0];
function ZigLine(k, i, trend)
{
d = i - k;
if(trend)
{
Amp = H[i] - L[k];
SwingLine[k] = L[k];
}
else
{
Amp = L[i] - H[k];
SwingLine[k] = H[k];
}
Step = Amp/d;
for(j = k+1; j <= i; j++)
{
SwingLine[j] = SwingLine[j-1]+ Step;
}
return SwingLine;
}
for(i = 1; i < BarCount; i++)
{
if(Trend) //Up Trend
{
if(H[i] > UPpik)
{
rev[i] = H[i] - H[i]*revers;
CE = i;
ZigLine(k, i, trend);
Uppik = H[i];
}
else
{
if(L[i] < Rev[i-1])
{
Trend = 0;
Dwpik = L[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = L[i] + L[i]*revers;
}
else
{
Rev[i] = Uppik - uppik*revers;
}
}
}
//======================================
else //Down Trend
{
if(L[i] < DWpik)
{
Rev[i] = L[i] + L[i]*Revers;
DWpik = L[i];
CE = i;
ZigLine(k, i, trend);
}
else
{
if(H[i] > Rev[i-1])
{
Trend = 1;
Uppik = H[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = H[i] - H[i]*Revers;
}
else
{
Rev[i] = DWpik + DWpik*Revers;
}
}
}
}
Plot(Rev, "revers", ParamColor("Color", colorBlue ), ParamStyle("Style Revers", styleDashed) );
Plot(SwingLine, "ZigZag", IIf(SwingLine > Ref(SwingLine, -1), 27, 4), ParamStyle("Style Swing", styleThick) ); |
|
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Примерно так.
Код: |
_SECTION_BEGIN("тренд");
SetBarsRequired(100000,0);
D=Optimize("%",0.4,0,10,0.2);
revers = d/100;
Trend = 1;
Rev[0] = C[0] - C[0]*Revers;
UPpik = 0;
Dwpik = 0;
k = 1;
SwingLine = Null;
SwingLine[0] = C[0];
function ZigLine(k, i, trend)
{
d = i - k;
if(trend)
{
Amp = H[i] - L[k];
SwingLine[k] = L[k];
}
else
{
Amp = L[i] - H[k];
SwingLine[k] = H[k];
}
Step = Amp/d;
for(j = k+1; j <= i; j++)
{
SwingLine[j] = SwingLine[j-1]+ Step;
}
return SwingLine;
}
for(i = 1; i < BarCount; i++)
{
if(Trend) //Up Trend
{
if(H[i] > UPpik)
{
rev[i] = H[i] - H[i]*revers;
CE = i;
ZigLine(k, i, trend);
Uppik = H[i];
}
else
{
if(L[i] < Rev[i-1])
{
Trend = 0;
Dwpik = L[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = L[i] + L[i]*revers;
}
else
{
Rev[i] = Uppik - uppik*revers;
}
}
}
//======================================
else //Down Trend
{
if(L[i] < DWpik)
{
Rev[i] = L[i] + L[i]*Revers;
DWpik = L[i];
CE = i;
ZigLine(k, i, trend);
}
else
{
if(H[i] > Rev[i-1])
{
Trend = 1;
Uppik = H[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = H[i] - H[i]*Revers;
}
else
{
Rev[i] = DWpik + DWpik*Revers;
}
}
}
}
Plot(Rev, "revers", ParamColor("Color", colorBlue ), ParamStyle("Style Revers", styleDashed) );
Plot(SwingLine, "ZigZag", IIf(SwingLine > Ref(SwingLine, -1), 27, 4), ParamStyle("Style Swing", styleThick) );
Cond1 = Ref(Ref(SwingLine, -1)<Ref(SwingLine,-2) AND SwingLine > Ref(SwingLine, -1),1);
Cond2 = Ref(Ref(SwingLine, -1)> Ref(SwingLine,-2) AND SwingLine < Ref(SwingLine, -1),1);
Cond3 = Ref(Cross(C,Ref(rev,-1)),-1);
Cond4 = Ref(Cross(Ref(rev,-1),C),-1);
C1 = BarsSince(Cond1);
C2 = BarsSince(Cond2);
f = Ref(L,-C1);
ff = Ref(H,-C2);
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
L1= ValueWhen(Cond3, f, 1);
H1= ValueWhen(Cond4, ff, 1);
L2= ValueWhen(Cond3, f, 2);
H2= ValueWhen(Cond4, ff, 2);
DF=Optimize("% от предыдущего экстремума",0,0,100,10);
LD=DF*IIf(L1 < L2, L2-L1, 0)/100;
HD=DF*IIf(H1 > H2, H1-H2, 0)/100;
Lg=L1-HD;
HN=H1+LD;
LE=Cross(H,Ref(HN,-1));
LX=Cross(Ref(Lg,-1),L);
k = BarsSince(LE);
n = BarsSince(LX);
CH=IIf(k>=n,HN,Lg);
Plot( CH, "function example", 6 );
Buy = Le;
Short = Lx;
Sell = Short;
Cover = Buy;
Equity(1);
BuyPrice = CoverPrice = Max(O,Ref(HN,-1));
ShortPrice = SellPrice = Min(O,Ref(Lg,-1));
_SECTION_END(); |
|
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Vladimir
Зарегистрирован: 30.10.2008
Сообщения: 62
|
|
Посмотреть профиль Отправить личное сообщение |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Прихожу к выводу, что все коды где покупки и продажи основаны только на High & Low меняют или могут менять сигналы. Обязательно случится ценовая ситуация, когда сначала H>ref(h,-1), а потом L<ref(L,-1) и так семь раз. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|