Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Indikátory a obchodní systémy


Sid

Doporučené příspěvky

Díky nicku Vachnikd došlo k první úpravě 9MA HB do jiné podoby. Byly především kumulovány HB linie, tak, že nyní 9MA (periody jsou zachovány, viz příspěvek výše) tvoří pět základních křivek, v nichž dochází k proměnné na základě aktuálních MA. Laicky řečeno, (viz graf) pokud jsou červená a zelená křivka pod trendem (periody MA7,MA8,MA9) je to signál k prodeji, pokud nad, kdy se červená změní v oranžovou a zelená ve žlutou, signál k nákupu. Světlé modrá křivka značí přechodovou linii mezi možným prodejem nebo nákupem (není radno vstupovat na pozici). Doplnil jsem to o indikátory KST a DMI, které mohou posloužit i jako signál pro opuštění pozice. Příklad je na delším 30 min. grafu EUR/USD, protože je nyní trend u tohoto páru rostoucí a nebyly by zřetelné přechodové fáze. Ideální je ale asi 5-15 min. graf. Více snad k této úpravě sdělí nick Vachnikd.. :). Příklad není AOS, ale jen kumulace indikátorů TA, které především pro začátečníky mohou osvětlit základní vstupní signály na FX trhu přes klouzavé průměry (MA) a stát se tak dobrou prvotní pomůckou.. :) SID

216

Link to comment
Sdílet pomocí služby

  • Odpovědí 4,6k
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

To Timd skript, který zde umístil SID jsem pouze upravil. V podobě jaké byl neukazoval ideálně rostoucí trend a obrazovka byla příloš zaplněna indikátory, což pro mě jako úplného začátečníka je matoucí, tak jsem to mazácky upravil. Princip už SID popsal, myslím si, že jednoznačně. Co se týká zaheslovaného AOS KST, tak jsem to zdůvodňoval výše. Po konzultaci ze SIDem přikládám indikátor 9MA. Soubor stáhněte a přejmenujte příponu na vtscr. nicku Timd můžeš mi prosímtě osvětlit tvůj vzorec, nějak jsem ho nepochopil :S Co je to "AD smajlík t" ? vachnikd@seznam.cz děkuji vachnikd

217

Link to comment
Sdílet pomocí služby

To Petrpfl
Celý skript pro indikátor KST je uveden níže. Je to originál pro platformu VT. Parametry je pak možno nastavit individuálně v okně úprav daného indikátoru. Možností je tam více...
SID


{KSTShs:=(Mov(Roc(C,10,percent),10,S)*1)+(Mov(Roc(C,15,percent),10,S)*2)+(Mov(Roc(C,20,percent),10,S)*3)+(Mov(Roc(C,30,percent),15,S)*4);}
KSTShe:=(Mov(Roc(C,3,percent),3, stype)*1) + (Mov(Roc(C,4,percent),4, stype)*2) + (Mov(Roc(C,6,percent),6, stype)*3) +(Mov(Roc(C,10,percent),8, stype)*4);
KSTShSig:=mov(kstshe,sigper,stype);

{KSTIntS:=(Mov(Roc(C,10,percent),10,S)*1)+(Mov(Roc(C,13,percent),13,S)*2)+(Mov(Roc(C,15,percent),15,S)*3)+(Mov(Roc(C,20,percent),20,S)*4);}
KSTIntE:=(Mov(Roc(C,10,percent),10,stype)*1)+(Mov(Roc(C,13,percent),13,stype)*2)+(Mov(Roc(C,15,percent),15,stype)*3)+(Mov(Roc(C,20,percent),20,stype)*4);
KSTIntSig:=mov(kstInte,sigper,stype);

{KSTLngS:=((Mov(Roc(C,9,percent),6,S)*1)+(Mov(Roc(C,12,percent),6,S)*2)+(Mov(Roc(C,18,percent),6,S)*3)+(Mov(Roc(C,24,percent),9,S)*4))/4;}
KSTLngE:=(Mov(Roc(C,39,percent),26,stype)*1)+(Mov(Roc(C,52,percent),26,stype)*2)+(Mov(Roc(C,78,percent),26,stype)*3)+(Mov(Roc(C,109,percent),39,stype)*4);
KSTLngSig:=mov(kstLnge,sigper,stype);

Display1:=if(pr=1,kstshe,if(pr=2,kstinte,if(pr=3,kstlnge,null)));
Display2:=if(pr=1,kstshsig,if(pr=2,kstintsig,if(pr=3,kstlngsig,null)));
Histogram:=(Display1-Display2);
Hist:=if(hist_choice=1,histogram, null);

Shrt:=if(pr=4,Kstshe,null);
Intm:=if(pr=4,Kstinte,null);
Lng:=if(pr=4,Kstlnge,null);

Link to comment
Sdílet pomocí služby

Tak předkládám k diskuzi jeden AOS, který jsem teď dal dokupy. Jeho vstupy jsou založeny na DMI a KST a to tak, že oba indikátory musí být ve stejném směru, jejich aktuální hodnota musí být větší než minulá (pro long), navíc rozdíl mezi plusDI a minusDI musí být větší než určitá hodnota (default 2). Akceptuji pouze signály ve směru trendu, který určuji pomocí 2 MA 62 a 144. Výstup je pomocí indikátoru Trailing stop volatility based. Vyladil jsem to na páru GBP/USD na 5 min. grafu, ale myslím, že se dá používat i pro EUR/USD a CHF/USD. Zajímaly by mě Vaše názory, jestli by se na tom dalo ještě něco vylepšit. ;) Skript je zazipován, po rozbalení jej naimportujte do VT mezi ostatní systémy. Milan

219

Link to comment
Sdílet pomocí služby

To Volf
Koukám, že kombinace MA,KST a DMI se stala na tomto fóru velice módní.. :). Vstup na základě DMI a KST a jen ve směru trendu, který máš celkem na dlouhých periodách MA, může být zajímavý. Jsem zvědav, kolik a jak kvalitních signálů to vydá za určitý časový úsek. Hoď mi to prosím do mailu, nechce se mi s tím šachovat..:-). Díky !
SID

Link to comment
Sdílet pomocí služby

To Volf Na chvíli jsem si zkusil tvůj AOS, rentabilita v posledním grafu je zajímavá, ale pořád se mi nelíbí ty dlouhé MA periody. Myslím, když už chytím trend, tak jen jedním vstupem na pozici (pokud to není na více lotech) se dost "okrádám" a mám raději, když už jsem v trendu, vícero průběžných vstupů. Níže uvedený AOS, je tradiční MA,DMI s ručním KST. Mám tam 5MA, kdy jsem eliminoval Fibonacciho číselnou řadu a přešel na periody 5,10,30,90,180 odpovídající cca týdnu, čtrnácti dnům, měsíci, čtvrt roku a půl roku. To je souběžně provázáno s DMI (pro usnadnění stejná barva křivek u dílčích MA a DMI), které mi signalizují podporu vstupu/výstupu a KST tam je, jen pro výstup ručně. DMI mám nastaveno na 21 s ADXR a KST na periodu 12, typ MA Simple pro Short. (graf dnešek na EUR/USD) SID

220

Link to comment
Sdílet pomocí služby

Ty MA 62,144 jsou jen pro určení trendu. Ono tedy 144 barů na 5 min. grafu není čtvrt roku, ale cca 12 hod., 62 barů odpovídá asi 5 hod. K těm hodnotám jsem došel experimentálně pomocí Profit Display, zkoušel jsem všechny možné kombinace, ale jít proti takto dlouhodobému trendu mi vždy vycházelo hůře. Nicméně, ten Profit Display musím upravit, nepočítá moc dobře a to je přece základ pro každou optimalizaci parametrů. Taky by se tam měla dodělat velikost blokovaných marginů.

To dokupování vstupů v průběhu trendu je zajímavá myšlenka, pokud ale budu mít dlouhodobě profitabilní systém, můžu s klidem obchodovat s více loty. Není to ale tak těžké doprogramovat, takže zkusím obě varianty. Možná bude vhodné i max. omezení nakoupených pozic.

K tomu AOS, co zde uvádíš, jaké jsou tu tedy vstupní podmínky? MA5 musí překřížit MA10 a DMI musí být v odpovídajícím směru. To je vše? Ostatní MA tam jsou jen pro optickou kontrolu?

Milan

Link to comment
Sdílet pomocí služby

To Volf
Přesně, základem je MA1 a MA2 se směrem s DMI, ještě se pokusím nějak podmínkovat vstup třeba na MA1,MA2 s MA3,
ale obecně vzato, delší periody MA4 a MA5 v tomto případě signalizují jen trend, podobně jako u tebe. Jiné by tomu bylo v případě "rukávu" (už jsem to tady někde psal), kdy si vytvoříš MA1 s periodou řekněme 12 a další dva MA s periodou řekněme 89,144 (Fibonacci) nebo jinak - 10 a 90,180 a vstupuješ když je MA1 nad/pod rukávem. Ale to je dobré jen tak na 30 min.-60 min. grafy. Skript pro 5MA Cross DMI je níže a je trochu jiný než uvádíš ty. V principu asi funguje stejně.

UpTrend:= (MA1>MA2) and (DDI> DIBull) and (DMA1>0.0)
and (DMA2>0.0) and (DMA3>0.0) and absDMA and (not ERR);
DownTrend:=(MA1 and (DMA2
SID

Link to comment
Sdílet pomocí služby

SID napsal:
UpTrend:= (MA1>MA2) and (DDI> DIBull) and (DMA1>0.0)
and (DMA2>0.0) and (DMA3>0.0) and absDMA and (not ERR);
DownTrend:=(MA1 and (DMA2
Aha, takže:
MA1>MA2, to je jasné
DDI>DIBull, to je nějaká hranice, kterou musí DI překročit, aby to byl nějaký trend, kolik to nastavuješ?
DMA1>0, DMA2>0, DMA3>0, tzn. DI pro periody MA1, MA2, MA3 musí být všechny nad nulou
absDMA, co to je? Kdy je to splněno?

Nešlo by sem pověsit celý AOS, lépe by se to chápalo. :)
Milan

Link to comment
Sdílet pomocí služby

To Volf
Dzink to absDMA popsal přesně pro 4MA Cross s DMA, z čehož vychází i 5MA Cross DMA. Celý skript je níže.
SID

{Moving Average}

MA1:=MOV (PrMA, PerMA1, TpMA);
MA2:=MOV (PrMA, PerMA2, TpMA);
MA3:=MOV (PrMA, PerMA3, TpMA);
MA4:=MOV (PrMA, PerMA4, TpMA);
MA5:=MOV (PrMA, PerMA5, TpMA);

{Trend Up and Down}

{*****************************************************}
{Detrend Price Oscillator}
{DPOsc := close - Ref(mov(close,tPeriod,S),-(tPeriod/2+1)); }

{*****************************************************}
{DMS}
TH:=if(Ref(C,-1) > H,Ref(C,-1),H);
TL:=if(Ref(C,-1) TR:=TH-TL;

PlusDM:=if(H>Ref(H,-1) AND L>=Ref(L,-1), H-Ref(H,-1),if(H >Ref(H,-1) AND L Ref(L,-1)-L, H-Ref(H,-1),0));
plusDI:=100*Wilders(plusDM,PerDMS)/Wilders(Tr,PerDMS);

MinusDM:=if(LRef(H,-1) AND L minusDI:=100*Wilders(minusDM,PerDMS)/Wilders(Tr,PerDMS);

DI_Filter:=if((plusDI>DMV) or (minusDI>DMV),1,0);

DIDif:=Abs(plusDI-minusDI);
DISum:=plusDI+minusDI;

ADXFinal:=100*Wilders(DIDif/DISum,PerDMS);
ADXRCustom:= (ADXFinal+Ref(ADXFinal,1-PerDMS))/2;

_ADX := if( cTDMS=0,ADXFinal,ADXRCustom);
{*****************************************************}
{SPlusDI:=plusDI >DMV;
SMinusDI:=minusDI>DMV;}
DDI:= plusDI-minusDI;

{*****************************************************}

{AO:=Mov(MP(),AOSPer,S) - Mov(MP(),AOLPer,S); }
{ Chaos Awsome Oscillator - measures momentum - MM}
{ A very close approximation of MFI}
{ Plot as histogram }

{ SL:=Mov(AO,AOSPer,S); }
{*****************************************************}

absDMA:=((abs(MA4-MA2)+abs(MA2-MA3)+abs(MA4-MA3))>DMAL)
and ((abs(MA1-MA2)+abs(MA2-MA3)+abs(MA1-MA3))>DMAL);

DMA_Filter:=if(absDMA,1,0);

DMA1:=MA1-Ref(MA1,-1);
DMA2:=MA2-Ref(MA2,-1);
DMA3:=MA3-Ref(MA3,-1);
DMA4:=MA4-Ref(MA4,-1);
DMA5:=MA5-Ref(MA5,-1);

UpTrend:= (MA1>MA2) and (DDI> DIBull) and (DMA1>0.0)
and (DMA2>0.0) and (DMA3>0.0) and absDMA and (not ERR);
DownTrend:=(MA1 and (DMA2 {Signal Long and Short}
{
Long:=Cross(MA1,MA2) and not ERR;
Short:=Cross(MA2,MA1) and not ERR;
}
{OpenBuy and CloseBuy}
{
OpenBuy:= UpTrend and (not ERR and (eventCount('OpenBuy')= eventCount('CloseBuy')));
CloseBuy:= Short and (not ERR and (eventCount('OpenBuy')>eventCount('CloseBuy')));
}
{OpenSell and CloseSell}
{
OpenSell:= DownTrend and (not ERR and (eventCount('OpenSell')= eventCount('CloseSell')));
CloseSell:= Long and (not ERR and (eventCount('OpenSell')>eventCount('CloseSell')));
}
OpenBuy:= UpTrend and (eventCount('OpenBuy') + NOpenBuy CloseBuy:= DownTrend and (eventCount('OpenBuy') + NOpenBuy > eventCount('CloseBuy'));

OpenSell:= DownTrend and (eventCount('OpenSell') + NOpenSell CloseSell:= UpTrend and (eventCount('OpenSell') + NOpenSell > eventCount('CloseSell'));



Link to comment
Sdílet pomocí služby

Návštěvník
Téma je uzavřené.

×
×
  • Vytvořit...