Автор |
Сообщение |
Плюсадин
Зарегистрирован: 19.11.2008
Сообщения: 13
|
commenced писал(а): |
Плюсадин писал(а): |
commenced писал(а): |
Плюсадин писал(а): |
Олег, как ты сказал, переделал.
Прогнал на 5 минутках Сбера. Сигналы дает.
Вроде ошибок нет.
А что если систему запускать после N минут от начала торгов?? (где N - человек сам может определить в зависимости от ТаймФрейма внутри дня)
Как добавить то, что ты написал:
Цитата: |
[color=blue]На самом деле именно так работать не будет вообще потому, что на первых барах revers не определен (данных не достаточно) поэтому цикл надо начинать не с i = 1, а с i = b (период EMA). Соответственно надо переделать и начальные условия (которые перед циклом задаются) |
|
Ты ведь не собираешся по ней торговать надеюсь, система сырая для торговли в таком виде не подходит. |
я уже прикрутил
жду сигналов..но ничего нет..ни свечек, ни зигзагов...
что то с кодом...
а как мне торговать больше??
лучше по такой сырой системе, чем по стакану торговать =)
лучше систем я не видел..а всякие скользящие средние и прочее- это ерунда на нашем рынке.. когда каждый день почти гэпы.. |
Пиши свою ни кто на блюдечке тебе ничего не принесет, да еще и нахаляву. Если нет свечек, то возможно ты в квике не включил экспорт. |
Да, появится опыт, непременно напишу свою не могу же я всю жизнь торговать бессистемно.
А в данное время (опыт у меня на бирже 2,5 месяца, опыт работы с амиброкер- 1 мес) я только занимаюсь переделками систем, которые написаны на форуме, в примерах программы Амиброкер.
Спасибо за ответы, я их ценю хоть хорошие, хоть плохие
п.с. на счет свечек- неверно, в амиброкере несколько систем. У остальных всё нормально. Свечки идут. Вывод данных в квике включен. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Плюсадин
Зарегистрирован: 19.11.2008
Сообщения: 13
|
Вот код:
Код: |
b = Optimize("b", 17, 1, 15, 1);
k = round((Ref(EMA(HHV(H,3),b)-EMA(LLV(L,3),b),-1)/O)*1000)/10;
a = Optimize("a", 0.7, 0.1, 5, 0.1);
revers = (k*a)/100; ;
Trend = 1;
//Rev[0] = C[0] - C[0]*Revers[0];
//UPpik = 0;
//Dwpik = 0;
//k = 1;
//SwingLine = Null;
//SwingLine[0] = C[0];
//Rev[b-1] = C[b-1] - C[b-1]*Revers[b-1];
UPpik = 0;
Dwpik = 0;
k = 1;
SwingLine = Null;
SwingLine[b-1] = C[b-1];
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 = b; i < BarCount; i++)
{
if(Trend) //Up Trend
{
if(H[i] > UPpik)
{
rev[i] = H[i] - H[i]*revers[i];
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[i];
}
else
{
Rev[i] = Uppik - uppik*revers[i];
}
}
}
//======================================
else //Down Trend
{
if(L[i] < DWpik)
{
Rev[i] = L[i] + L[i]*Revers[i];
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[i];
}
else
{
Rev[i] = DWpik + DWpik*Revers[i];
}
}
}
}
Plot(Rev, "revers", ParamColor("Color", colorBlue ), ParamStyle("Style Revers", styleDashed) );
Plot(SwingLine, "ZigZag", IIf(SwingLine > Ref(SwingLine, -1), 27, 4), ParamStyle("Style Swing", styleThick) );
z = Ref(IIf(Ref(C > O, -1), LLV(H, 3), HHV(L, 3)),-1);
Plot(z,"z", 6, 1);
p = 3;
p1 = 1;
Top1 = EMA(Ref(HHV(H, p), -1), 3);
Bot1 = EMA(Ref(LLV(L, p1), -1), 3);
Buy = Z <= H AND H >= Top1 AND H > Ref(Rev,-1);
Sell = Z >= L AND Bot1 >= L AND Ref(Rev, -1)> L;
Short = Z >= L AND Bot1 >= L AND Ref(Rev, -1)> L;
Cover = Z <= H AND H >= Top1 AND H > Ref(Rev, -1);
BuyPrice = Max(O, Max(Ref(Rev, -1), Max(z, top1)));
SellPrice = Min(O, Min(Ref(Rev, -1), Min(z, bot1)));
CoverPrice = Max(O, Max(Ref(Rev, -1), Max(z, top1)));
ShortPrice = Min(O, Min(Ref(Rev, -1), Min(z, bot1)));
Equity(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);
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() );
|
Цикл и начальные данные изменены по рекомендации Олега (000)
(в сообщении я в опциях отключил HTML, BBCode, смайлики )
На бэк-тесте сигналы идут.
Сегодня проверю в Реал-тайме |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Посмотрел код. Вроде ошибок нет. Должен работать.
Немного подкоректировал сообщение чтобы читать удобнее было. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
Посмотрел код. При попытке оптимизации ругается на
"variable REV used without have been inicialised" ?? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
reg4all писал(а): |
Посмотрел код. При попытке оптимизации ругается на
"variable REV used without have been inicialised" ?? |
Код рабочий, попробуй еще раз скопировать. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|