Автор |
Сообщение |
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Вот так красиво выглядит на бумаге (метос):
Строится простая скользящая средняя от цены по барам закрытия, на её основе строится RSI. Скользящая средняя используется для сглаживания графика цены и выявления трендовой направленности. RSI определяет скорость изменения цены, т.е. при замедлении повышательной или понижательной тенденции вероятнее всего, что в ближайшем времени произойдет разворот тенденции, осциллятор RSI отлавливает снижение скорости тенденций и указывает на смену направленности рынка.
Торговые сигналы: RSI от одной скользящей средней пересекает RSI, построенный от второй скользящей средней. Система является «реверсной», т.е. при открытии длиной позиции закрывается короткая, и наоборот, при открытии короткой позиции длинная закрывается.
Открытие длинной позиции:
X:= 100-(100/(1+(Wilders(If(Mov(C,opt1,S)>Ref(Mov(C,opt1,S),-1),Mov(C,opt1,S)-Ref(Mov(C,opt1,S), -1),0),25)/Wilders(If((Mov(C,opt1,S)<Ref(Mov(C,opt1,S),-1) OR (Mov(C,opt1,S)=Ref(Mov(C,opt1,S), -1))),Ref(Mov(C,opt1,S),-1)-Mov(C,opt1,S),0),opt2))));
Y:= 100-(100/(1+(Wilders(If(Mov(C,opt3,S)>Ref(Mov(C,opt3,S),-1),Mov(C,opt3,S)-Ref(Mov(C,opt3,S), -1),0),25)/Wilders(If((Mov(C,opt3,S)<Ref(Mov(C,opt3,S),-1) OR (Mov(C,opt3,S)=Ref(Mov(C,opt3,S), -1))),Ref(Mov(C,opt3,S),-1)-Mov(C,opt3,S),0),opt4))));
Cross(X,Y)
Открытие короткой позиции:
X:= 100-(100/(1+(Wilders(If(Mov(C,opt1,S)>Ref(Mov(C,opt1,S),-1),Mov(C,opt1,S)-Ref(Mov(C,opt1,S), -1),0),25)/Wilders(If((Mov(C,opt1,S)<Ref(Mov(C,opt1,S),-1) OR (Mov(C,opt1,S)=Ref(Mov(C,opt1,S), -1))),Ref(Mov(C,opt1,S),-1)-Mov(C,opt1,S),0),opt2))));
Y:= 100-(100/(1+(Wilders(If(Mov(C,opt3,S)>Ref(Mov(C,opt3,S),-1),Mov(C,opt3,S)-Ref(Mov(C,opt3,S), -1),0),25)/Wilders(If((Mov(C,opt3,S)<Ref(Mov(C,opt3,S),-1) OR (Mov(C,opt3,S)=Ref(Mov(C,opt3,S), -1))),Ref(Mov(C,opt3,S),-1)-Mov(C,opt3,S),0),opt4))));
Cross(X,Y)
Закрытие длинной позиции:
X:= 100-(100/(1+(Wilders(If(Mov(C,opt1,S)>Ref(Mov(C,opt1,S),-1),Mov(C,opt1,S)-Ref(Mov(C,opt1,S), -1),0),25)/Wilders(If((Mov(C,opt1,S)<Ref(Mov(C,opt1,S),-1) OR (Mov(C,opt1,S)=Ref(Mov(C,opt1,S), -1))),Ref(Mov(C,opt1,S),-1)-Mov(C,opt1,S),0),opt2))));
Y:= 100-(100/(1+(Wilders(If(Mov(C,opt3,S)>Ref(Mov(C,opt3,S),-1),Mov(C,opt3,S)-Ref(Mov(C,opt3,S), -1),0),25)/Wilders(If((Mov(C,opt3,S)<Ref(Mov(C,opt3,S),-1) OR (Mov(C,opt3,S)=Ref(Mov(C,opt3,S), -1))),Ref(Mov(C,opt3,S),-1)-Mov(C,opt3,S),0),opt4))));
Cross(X,Y)
Закрытие короткой позиции:
X:= 100-(100/(1+(Wilders(If(Mov(C,opt1,S)>Ref(Mov(C,opt1,S),-1),Mov(C,opt1,S)-Ref(Mov(C,opt1,S), -1),0),25)/Wilders(If((Mov(C,opt1,S)<Ref(Mov(C,opt1,S),-1) OR (Mov(C,opt1,S)=Ref(Mov(C,opt1,S), -1))),Ref(Mov(C,opt1,S),-1)-Mov(C,opt1,S),0),opt2))));
Y:= 100-(100/(1+(Wilders(If(Mov(C,opt3,S)>Ref(Mov(C,opt3,S),-1),Mov(C,opt3,S)-Ref(Mov(C,opt3,S), -1),0),25)/Wilders(If((Mov(C,opt3,S)<Ref(Mov(C,opt3,S),-1) OR (Mov(C,opt3,S)=Ref(Mov(C,opt3,S), -1))),Ref(Mov(C,opt3,S),-1)-Mov(C,opt3,S),0),opt4))));
Cross(X,Y)
opt1 – период первой скользящей средней;
opt2 – период первого RSI;
opt3 – период первой скользящей средней;
opt4 – период первого RSI.
А вот так если не выделываться в ами:
Код: |
Opt1 = Optimize("opt1", 74, 50,150,10);
Opt2 = Optimize("opt2",111, 10,150,10);
Opt3 = Optimize("opt3", 91, 50,150,10);
Opt4 = Optimize("opt4", 97, 10,150,10);
MA1 = MA(C,Opt1);
MA2 = MA(C,Opt3);
x1 = RSIa( MA1, Opt2);
y1 = RSIa( MA2, Opt4);
Buy = Cross(x1,y1);
Short = Cross(y1,x1);
Sell = Short;
Cover = Buy;
BuyPrice = SellPrice = ShortPrice = CoverPrice = C;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L);
PlotShapes(IIf(Sell,shapeHollowDownArrow,shapeNone),colorRed,0,H);
PlotShapes(IIf(Short, shapeDownArrow,shapeNone),colorRed,0,H);
PlotShapes(IIf(Cover,shapeHollowUpArrow,shapeNone),colorGreen,0,L);
Plot( RSIa( MA1, Opt2), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
Plot( RSIa( MA2, Opt4), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
|
Если внимельно кто глянет увидит конкретный косяк в правилах, так что я его исправил. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Юра, подскажи, оптимизируемые периоды МА и RSI в твоем коде
Opt1 = Optimize("opt1", 74, 50,150,10);
Opt2 = Optimize("opt2",111, 10,150,10);
74
111 ?
А остальные что означают? Где можно почитать про ALF? |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
диван писал(а): |
Юра, подскажи, оптимизируемые периоды МА и RSI в твоем коде
Opt1 = Optimize("opt1", 74, 50,150,10);
Opt2 = Optimize("opt2",111, 10,150,10);
74
111 ?
А остальные что означают? Где можно почитать про ALF? |
Opt1 = Optimize("наименование столбца", стоит в системе сейчас, минимум, максимум, шаг);
Скачай с сайта переведенный Олегом хелп, часть функций он перевел на русский. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Спасибо, долго искал в хелпе знакомые русские буквы . Буду читать.
И Олегу спасибо за сей труд! |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
Bobi
Зарегистрирован: 07.06.2008
Сообщения: 46
|
я чего то не понял. Почему открытие по цене закрытия?
да , и еще: На каких инструментах и временном интервале был протестен сей индюк? Я тестил подобное на рустоках, он в одиночку показывает бред.
p.s.: Как вариант. можно попробывать не только Rsi |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Bobi писал(а): |
я чего то не понял. Почему открытие по цене закрытия?
да , и еще: На каких инструментах и временном интервале был протестен сей индюк? Я тестил подобное на рустоках, он в одиночку показывает бред.
p.s.: Как вариант. можно попробывать не только Rsi |
Я тупо переписал код с метоса в ами. Если тебе интересно, предлогай идею, в реализации всегда помогут форумчане. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Bobi
Зарегистрирован: 07.06.2008
Сообщения: 46
|
интересно . поэтому и спросил. Раз тупо, тогда понятно. Ну так давайте разберем по полкам? Я предлагаю пересмотреть вход, т.е. взять при кросах цену открытия или при сравнении с помощью ">" или "<" и искать более подходящую свечу после сигнальной, скажем если след.свеча по хаю выше хая сигнальной свечки.
но для начала нужно ОБЯЗАТЕЛЬНО вписать коммисию с проскальзованием, а иначе сами себя обманем |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Bobi
Зарегистрирован: 07.06.2008
Сообщения: 46
|
кстати еще вариант наоборот: не RSI от MA, а MA от RSI |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Bobi писал(а): |
кстати еще вариант наоборот: не RSI от MA, а MA от RSI |
Ты не правильно понял, сайт создан для изучения конкретной программы и написания в ней систем, я по крайне мере не буду писать системы для каждого предложившего идею, ты сам начинай ее писать, а если с написанием возникнет проблема(С НАПИСАНИЕМ) вот тогда обращайся. Кстати по коду, а что по твоему он должен брать, но это так просто не пойму, что ты имел ввиду. Коды сбрасывал, чтоб начался диалог, некоторые именно мои ранние, накоторые это хваленые системы с указанной доходностью производителя в 100% годовых, зато легкие и видно как по аналогии писать свои системы. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|