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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Сен 22, 2019 4:48 pm Ответить с цитатой Вернуться к началу

Код:
percentDLength = param("d",5,1,10,1);
percentKLength = param("k",3,1,10,1);
min_low = llv(low,percentKLength);
max_high = hhv(high, percentDLength);
rel_diff = close - (max_high + min_low)/2;
redi = (max_high + min_low)/2;  //price
diff = max_high - min_low;
avgrel = EMA(EMA(rel_diff, 3), 3);
avgdiff = EMA(EMA(diff, 3), 3);
smi = iif(avgdiff !=0, (avgrel/(avgdiff/2))*100,0);


Последний раз редактировалось: MrDzenLi (Вт Окт 01, 2019 2:25 pm), всего редактировалось 7 раз(а)
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Orange2000



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

СообщениеДобавлено: Пн Сен 23, 2019 12:14 pm Ответить с цитатой Вернуться к началу

код ведь заглядывает в будущее?
Посмотреть профиль Отправить личное сообщение
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пн Сен 23, 2019 1:27 pm Ответить с цитатой Вернуться к началу

Orange2000 писал(а):
код ведь заглядывает в будущее?

не, это прописывали для наглядной визуалки smw
Сигнал
Buy=smw>ref(smw,-1) плюс разница в максимумах;

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пн Сен 23, 2019 1:36 pm Ответить с цитатой Вернуться к началу

false upbreakdown oscillator

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Orange2000



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

СообщениеДобавлено: Пн Сен 23, 2019 1:56 pm Ответить с цитатой Вернуться к началу

MrDzenLi писал(а):
Orange2000 писал(а):
код ведь заглядывает в будущее?

не, это прописывали для наглядной визуалки smw
Сигнал
Buy=smw>ref(smw,-1) плюс разница в максимумах;


код в первом сообщении рисует сделки на предыдущем баре по ценам , которых уже нет)
Ну эквити очень граальная на любых бумагах и фреймах)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Сен 23, 2019 3:04 pm Ответить с цитатой Вернуться к началу

Нахально смотрит в будущее.

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пн Сен 23, 2019 11:04 pm Ответить с цитатой Вернуться к началу

MrDzenLi писал(а):
false upbreakdown oscillator

он по какой-то причине считает по ценам открытия, вот по этому и эквити граальная.

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Orange2000



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

СообщениеДобавлено: Пн Сен 23, 2019 11:31 pm Ответить с цитатой Вернуться к началу

Код:
Ref(smi,1)

Это уже отсылка к следующему бару, которого нет в реальной торговле и который есть на исторических данных
Посмотреть профиль Отправить личное сообщение
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пн Сен 23, 2019 11:44 pm Ответить с цитатой Вернуться к началу

Orange2000 писал(а):
Код:
Ref(smi,1)

Это уже отсылка к следующему бару, которого нет в реальной торговле и который есть на исторических данных

всё начиналось вот с этого
http://amisite.ru/phpBB2/viewtopic.php?t=2404
далее ValueWhen не хотел отрисовывать переломы - я не нашел эту тему, но мы ее разбирали
вот по этому пришлось прописать ref без "-"

_________________
Нам не дано знать всего.

Последний раз редактировалось: MrDzenLi (Вт Сен 24, 2019 2:42 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пн Сен 23, 2019 11:48 pm Ответить с цитатой Вернуться к началу

у меня он по чему-то еще и вот так считает
и тут есть над чем подумать!

_________________
Нам не дано знать всего.

Последний раз редактировалось: MrDzenLi (Вт Сен 24, 2019 2:43 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вт Сен 24, 2019 12:03 am Ответить с цитатой Вернуться к началу

А система в будущее не смотрит.
Для проверки пишем:
BuyPrice=SellPrice=ShortPrice=CoverPrise=Close;
И граалевская эквити исчезает.

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пт Сен 27, 2019 7:32 pm Ответить с цитатой Вернуться к началу

Готово. Доходность привлекательная.
Система заглядывает в будущее только на выходе и позиции!
Может кто-то подкинет идеи по выходу...
Код:
SetPositionSize(1,4);
percentDLength = param("d",3,1,10,1);
percentKLength = param("k",3,1,10,1);
min_low = llv(low,percentKLength);
max_high = hhv(high, percentDLength);
rel_diff = close - (max_high + min_low)/2;
redi = (max_high + min_low)/2;  //price
diff = max_high - min_low;
avgrel = EMA(EMA(rel_diff, 3), 3);
avgdiff = EMA(EMA(diff, 3), 3);
smi = iif(avgdiff !=0, (avgrel/(avgdiff/2))*100,0);
SL1=   ValueWhen(Ref(smi,-1)>smi AND Ref(smi,1)>smi,smi,1);//long
SS1=   ValueWhen(smi>Ref(smi,-1) AND smi>Ref(smi,1) ,smi,1);//short
SL1clo=ValueWhen(Ref(smi,-1)>smi AND Ref(smi,1)>smi,redi,1);
SS1clo=ValueWhen(smi>Ref(smi,-1) AND smi>Ref(smi,1) ,redi,1);
s1= SL1clo == redi;
s2= SS1clo == redi;
l1= SL1 == smi;
l2= SS1 == smi;
BuySig=(SL1clo>Ref(SL1clo,-1) AND s1) AND (SL1<Ref(SL1,-1) AND l1) OR
      (SL1clo<Ref(SL1clo,-1) AND s1) AND (SL1>Ref(SL1,-1) AND l1) ;
SellSig=(SS1clo<Ref(SS1clo,-1) AND s2) AND (SS1>Ref(SS1,-1) AND l2) OR
      (SS1clo>Ref(SS1clo,-1) AND s2) AND (SS1<Ref(SS1,-1) AND l2);
                       BuyS=Ref(BuySig,-1);//перелом сми без заглядывания
                       SelS=Ref(SellSig,-1);//перелом сми без заглядывания
                       SorS=Ref(SellSig,-1);//перелом сми без заглядывания
                       CovS=Ref(BuySig,-1);//перелом сми без заглядывания
WalB=ValueWhen(BuyS,H,1);//сигнальная линия на бай по пробою
WalS=ValueWhen(SorS,L,1);//сигналая линия на шорт по пробою
Buy= Cross(H,WalB);
Sell=Cross(WalS,L);
Short=Cross(WalS,L);
Cover=Cross(H,WalS);
BuyPrice=WalB;
ShortPrice=WalS;
SellPrice=Open;// выход из лонга - это цена Open на продажу
CoverPrice=Open;// выход из шорта - это цена Open на покупку
PlotShapes( IIf(Buy, shapeUpArrow, shapeNone), 27, c );
PlotShapes( IIf(Short, shapeDownArrow, shapeNone), 32, c );
Plot(Close,"Price",IIf(C>O,colorBlack,colorBlack),styleBar|styleThick,0,0,0,0,2);//

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen