Ruslan_Loginov
Ruslan_Loginov личный блог
05 декабря 2012, 15:21

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

Всем привет. Продолжу легкий ликбез в области тестирования и создания систем торговли.
Сегодня решил выложить ряд формул для метастока, индикаторов под литерой А в квике.
Сразу определимся, для чего я это делаю. Среди великого множества дико богатых и удачливых трейдеров  на этом ресурсе, ещё  оказывается появляются личности незнакомые с основами тех анализа, личности, тестирующие системы из расчета цен закрытия, но делающие сделки по открытию расчетной свечи и т.д. В общем и целом попытаюсь уменьшить индекс тупизма и незнания на 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. перепишите минусы и ковычки, писал в ворде отсюда и микрокосяк 
18 Комментариев
  • makc767
    05 декабря 2012, 15:46
    Послушай, не подскажещь индикатор, или группу индикаторов, для МТ-4 или Квика для ВЫХОДА из позиции? Входить и ставить стопы вроде научился, а вот с выходом беда, после входа начинает казаться, что любой отскок или приостановка движения -это начало разворота, беру небольшую прибыль, и затам наблюдаю минут через 5, как цена с ускорением летит в ту сторону, какую ты предсказал. Может посоветуешь какие индюки? Метастоком я не пользуюсь, Теханализ делаю в МТ-4 и Квике…
  • Андрей Добер
    05 декабря 2012, 16:08
    Привет. Хорошую тему начал. Давно занимаюсь созданием ТС в Метастоке. Постоянно возникает вопрос, как научить Метасток, а именно тестер систем, открывать и закрывать позы по цене пересечения ценой какого-либо индикатора. Ну например Cross(C,Ref(HHV(H,10)). Главное, чтобы тестер считал не закрытие свечи, на которой произошло пересечение, а именно цену пересечения. У меня 11 версия, там есть возможность вписать формулы приказов на вход и выход по лимит. или рыночным заявкам, но какие именно формулы и под какой конкретно приказ не могу понять. Если можете, поясните этот вопрос, желательно с конкретным примером, буду очень благодарен. Можно в личку
      • Андрей Добер
        05 декабря 2012, 16:22
        Руслан, Спасибо, буду ждать
      • vito333
        05 декабря 2012, 17:10
        Руслан, вчерашний пост убил?
        • Андрей Добер
          05 декабря 2012, 18:03
          Руслан, спасибо, а в окне тестера Trade Execution галочку на Realistic Market Prices ставить или нет?
            • Андрей Добер
              05 декабря 2012, 18:22
              Руслан, т.е. получается: если в дополнительных строках на типы приказов формула не указана, то считается по открытию сл. бара, а если формула стоит и выбран тип приказа (например стоп), то данное условие системы будет считаться по значению формулы. Верно я понял?
  • Den5958
    05 декабря 2012, 19:20
    Попробуйте следующую формулу для Метастока.
    При построении 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;
    • Андрей Добер
      05 декабря 2012, 19:56
      Den5958, занятно. А какие способы применения для этой формулы используешь?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн