<HELP> for explanation

Блог им. RusTrend

Формулы для метастока

Всем привет. Продолжу легкий ликбез в области тестирования и создания систем торговли.
Сегодня решил выложить ряд формул для метастока, индикаторов под литерой А в квике.
Сразу определимся, для чего я это делаю. Среди великого множества дико богатых и удачливых трейдеров  на этом ресурсе, ещё  оказывается появляются личности незнакомые с основами тех анализа, личности, тестирующие системы из расчета цен закрытия, но делающие сделки по открытию расчетной свечи и т.д. В общем и целом попытаюсь уменьшить индекс тупизма и незнания на Smart-labе.
Еще, мнение своё можете сразу засунуть куда подальше и  писать только по делу. Пост тупо информационный.
  1. AC («Ускорение/Замедление») –
Mov(H,5,S)-Mov(H,34,S) — Mov(Mov(H,5,S)-Mov(H,34,S),5,S)
(5 и 34 стандарные параметры)
     2.  ADX («Индекс направления движения усредненной цены»)
PlusDM:= If(HIGH>Ref(HIGH,-1),Abs(HIGH-Ref(HIGH,-1)), 0);
MinusDM:= If(LOW<Ref(LOW,-1), Abs(Ref(LOW,-1)-LOW), 0);
tr:=Max(Max(Abs(HIGH-LOW), Abs(HIGH-Ref(CLOSE,-1))),Abs(LOW-Ref(CLOSE,-1)));
SDIPlus:= If(tr<>0,(100 * PlusDM/TR),0);
SDIMinus:= If(tr<>0,(100 * MinusDM/TR),0);

DIPlus:= Mov(SDIPlus,12,E);
DIMinus:= Mov(SDIMinus,12,E);
DXX:=Abs(DIPlus-DIMinus)/(DIPlus+DIMinus);
{Rule}
100*Mov(DXX,12,E)
(период 12 )
  1. A/D («Накопление/распределение»)
ADn:=(2*CLOSE-HIGH-LOW)/(HIGH-LOW)*VOLUME;
ADn+Ref(ADn,-1)
  1. AMA (Adaptive Moving Average)
Periods := Input(«Time Periods»,1,1000, 10);
Direction := CLOSE — Ref(CLOSE,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC := ER * (FastSC — SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA := If(Cum(1) = periods +1, Ref(CLOSE,-1)+ constant * (CLOSE- Ref(CLOSE,-1)),PREV + constant * (CLOSE — PREV));
AMA
(период вводим сами)
  1. AO («Чудесный осциллятор»)
Mov((HIGH+LOW)/2,5,S)-Mov((HIGH+LOW)/2,34,S)
(соответственно 5 и 34 периоды )
  1. ATR (Average True Range)
{Get the required ATR period;}
period:=Input(«ATR Period :»,1,100,5);
{Calculate the biggest difference based on the true range concept;}
diff1:=Max(H-L,Abs(H-Ref(C,-1)));
diff2:=Max(diff1,Abs(L-Ref(C,-1)));
{Use Wilders’ moving average method to calculate the Average True Range;}
Mov(diff2,period*2-1,E)
 
Далее, при тестировании систем не обязательно пользоваться только ценами открыт, закрыт, хаи и лаи при указании когда совершать сделки. Откройте глаза и ставьте значения индикаторов. Тогда проскальзывание будет мин.
  1.   ATR Trailing Stop
   {Get the required ATR period;}
   period:=Input(«ATR Period :»,1,100,5);
   {Calculate the biggest difference based on the true range concept;}
   diff1:=Max(H-L,Abs(H-Ref(C,-1)));
   diff2:=Max(diff1,Abs(L-Ref(C,-1)));
   {Use Wilders’ moving average method to calculate the Average True Range;}
   Mov(diff2,period*2-1,E)
 
Удачи…… и прилагайте усилия для получения прибыли 

P.S. перепишите минусы и ковычки, писал в ворде отсюда и микрокосяк 
 

Послушай, не подскажещь индикатор, или группу индикаторов, для МТ-4 или Квика для ВЫХОДА из позиции? Входить и ставить стопы вроде научился, а вот с выходом беда, после входа начинает казаться, что любой отскок или приостановка движения -это начало разворота, беру небольшую прибыль, и затам наблюдаю минут через 5, как цена с ускорением летит в ту сторону, какую ты предсказал. Может посоветуешь какие индюки? Метастоком я не пользуюсь, Теханализ делаю в МТ-4 и Квике…
avatar

makc767

makc767, как вариант… условие выхода а<в, попробуй а<в-в*К т.е. можно несколько загрубить выход, но лучше напиши в личку принцип выхода (меня не интересуют периоды и индикаторы) чем смогу помогу
Привет. Хорошую тему начал. Давно занимаюсь созданием ТС в Метастоке. Постоянно возникает вопрос, как научить Метасток, а именно тестер систем, открывать и закрывать позы по цене пересечения ценой какого-либо индикатора. Ну например Cross(C,Ref(HHV(H,10)). Главное, чтобы тестер считал не закрытие свечи, на которой произошло пересечение, а именно цену пересечения. У меня 11 версия, там есть возможность вписать формулы приказов на вход и выход по лимит. или рыночным заявкам, но какие именно формулы и под какой конкретно приказ не могу понять. Если можете, поясните этот вопрос, желательно с конкретным примером, буду очень благодарен. Можно в личку
Андрей Добер, ок. чуть позже
Руслан, Спасибо, буду ждать
Руслан, вчерашний пост убил?
vito333, да, психанул с горяча… как нибудь востановлю
Андрей Добер, в вашем примере это значение индикатора который ПЕРЕСЕКАЮТ, другой пример
H>Mov(H,5,E) AND Mov(h,5,E)>Mov(h,20,E)
в графе order type — stop-- пишем
Max( Max(Mov(h,5,E),Mov(h,20,E)),open)
т.е. мы выбираем максимальное между средней с периодом 5, 20 и ценой открытия, т.к. open может оказаться максимумом. Непосредственно high не используем т.к. нас интересует только цена в момент пересечения. как то так…
Руслан, L<Mov(L,5,E) AND Mov(L,5,E)<Mov(L,20,E)
MIN(MIN(Mov(L,5,E),Mov(L,20,E)),open)
Руслан, спасибо, а в окне тестера Trade Execution галочку на Realistic Market Prices ставить или нет?
Андрей Добер, я не ставлю, а BUY PRICE и других ставлю OPEN
просто сходство реала и метастока почти 100% и сделки пойдут только по ценам от формул. так то так
Руслан, т.е. получается: если в дополнительных строках на типы приказов формула не указана, то считается по открытию сл. бара, а если формула стоит и выбран тип приказа (например стоп), то данное условие системы будет считаться по значению формулы. Верно я понял?
Андрей Добер,… то считается по открытию сл. бара…
не обязательно след… delay order openind ставь 0 и будет текущий, по откр, закр, хаю или лаю, что выберешь, иначе сработает формула…
но не надо забывать что система может быть заточена строго под условие к примеру OPEN и формулу можно не писать, всё равно будет опен
Попробуйте следующую формулу для Метастока.
При построении 3 линий, т.е.:
Первая как написана при Pr:=C;
Вторая при Pr:=H;
третья при Pr:=L;
Получаем канал.
Использую эту линию для написания MACD да для других индикаторах.
Посмотрите как они прекрасны на дневных графиках.
Интересно работать в канале.
P1:=6; Pr:=C; MA:=Mov(Pr,P1,TRI); Shift:=Round(p1/2); center:=LastValue(Shift); CMA:=Ref(MA,center); y:=LastValue(CMA+PREV-PREV); CMA:=If(y>0,y,Pr); CMA1:=Ref(Mov(Pr,P1-1,TRI),center-1); y:=LastValue(CMA1+PREV-PREV); CMA1:=If(y>0,y,Pr); CMA2:=Ref(Mov(Pr,P1-2,TRI),center-2); y:=LastValue(CMA2+PREV-PREV); CMA2:=If(y>0,y,Pr); CMA3:=Ref(Mov(Pr,P1-3,TRI),center-3); y:=LastValue(CMA3+PREV-PREV); CMA3:=If(y>0,y,Pr); CMA4:=Ref(Mov(Pr,P1-4,TRI),center-4); y:=LastValue(CMA4+PREV-PREV); CMA4:=If(y>0,y,Pr); CMA5:=Ref(Mov(Pr,P1-5,TRI),center-5); y:=LastValue(CMA5+PREV-PREV); CMA5:=If(y>0,y,Pr); CMAP:= If(Cum(1)=LastValue(Cum(1)-center+1),CMA1, If(Cum(1)=LastValue(Cum(1)-center+2),CMA2, If(Cum(1)=LastValue(Cum(1)-center+3),CMA3, If(Cum(1)=LastValue(Cum(1)-center+4),CMA4, If(Cum(1)=LastValue(Cum(1)-center+5),CMA5,CMA))))); CMAP;
avatar

Den5958

Den5958, занятно. А какие способы применения для этой формулы используешь?
Den5958, не знаю что сказать, прикольный канал, но ты пришел на него под какой то смысл. если получается хорошо

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW