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

Vachnik:
I ve VT se dá lecsos obejít, pokud chceš otevírat více pozic, musíš ve skriptu použít vícekrát OpenBuy (OpenSell), takže:
OpenBuy:= Long and (eventCount('OpenBuy')= eventCount('CloseBuy'));
OpenSell:= Short and (eventCount('OpenSell')= eventCount('CloseSell'));
OpenBuy2:= Long2 and (eventCount('OpenBuy2')= eventCount('CloseBuy2'));
OpenSell2:=Short2 and (eventCount('OpenSell2')= eventCount('CloseSell2'));

Potom máš i výstupy znásobené:
CloseBuy:= LongEnd and (eventCount('OpenBuy')>eventCount('CloseBuy'));
CloseSell:= ShortEnd and (eventCount('OpenSell')>eventCount('CloseSell'));
CloseBuy2:= LongEnd2 and (eventCount('OpenBuy2')>eventCount('CloseBuy2'));
CloseSell2:=ShortEnd2 and (eventCount('OpenSell2')>eventCount('CloseSell2'));

Kolik chceš brát vstupů najednou, tolikrát znásobíš tyto podmínky.
Milan

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 Volf

díky :)
že mě to nenapadlo. Pak je i snadné uzavření všech otevřených pozic. Jednoduše to při exitu projde jednotlivé EventCounty a provede odeslaní uzavíracích údajů jen u těch, kde je hodnota rozdílná.

Doufám, že tím nezavařím svůj dvouprocesorový PC. VT je na množství výpočtů celkem náchylný k vytěžování CPU.

vachnikd

Link to comment
Sdílet pomocí služby

TO Volf
TO vachnikd

Prosim o radu kam nakopirat tento skript (tuto cast skriptu) ...na jakou cast kodu v programovani AOS ve VT.
Jsem zacatecnik a Vachnikd system testuji.

Pokud mozno klidne nahrat cely update skriptu sem na vlakno. Popr na email. Dekuji za rady a preji stesti.

Rad bych take zalozil nove tema = testovani AOS, kde by byly nazory traderu na typove AOS a jejich profit vysledky.

GLADER

Link to comment
Sdílet pomocí služby

Glader:
To co jsem uvedl, byl příklad. Řešil vícenásobné otevírání pozic ve VT. Nelze to jen tak někam nakopírovat.
Musí se např. definovat podmínky pro vstupy a výstupy 1. pozice, stejně tak i dalších pozic. Nevím, proč se nepokusíš spíše systému programování porozumět namísto nějakého kopírování. Pokud jsi začátečník, je pro tvé účely testování stávající systém DV už tak dost dobrý, k čemu potřebuješ vícenásobné otevírání pozic?
Milan

Link to comment
Sdílet pomocí služby

Z vlákna o scalpingu - už jsem tam předeslal, že mne o5 zaujala myšlenka scalpingu, tak jsem si vytvořil z nového indikátoru Moving Average Envelope z VT 1.7.7 AOS jen na bázi tohoto MAE. Uvedené grafy (profit) jsou nyní cca od 15,30 hod. do 23,30 hod. SEČ na 1 min. grafech pro USD/CHF a GBP/USD. I když je to možná poplatné dnešnímu propadu dolaru, myslím, že by to mělo být profitabilní i v jiných dnech. MA Envelope jsem trochu tradičně znovu "překopal", hlavně odrazy a periody. Pro scalping mi připadá lepší než hodně preferovaný a proklamovaný BB, který pro scalping využívá dost (hlavně zahraničních) traderů. Nespornou výhodou u scalpingu je to, že umožňuje kvalitní a mnohdy prifitabilní obchody pro ty, kteří nemají možnost zasednout k PC v každou hodinu (většina asi až odpoledne). Zítra dopoledne tady hodím nové grafy, zda to opravdu funguje, tak jak se to zatím jeví. :) SID

527

528

Link to comment
Sdílet pomocí služby

Side, jak jsem koukal na tvé obrázky, tak zde vůbec nevyužíváš Moving Average Envelope, ale pouhý MA. I když jsi vzal jako základ MAE, používáš jen nosný MA. Proč svůj systém nepostavíš jen na MA?

Toto je skript MAE:

DataBars:= Ref(Pr,-HShift); {výběr datového pole, pokud používáš horizontální posun}
tmpMV:= Mov(DataBars,tPr,mt); {klasický MA}
MA:= tmpMV+((tmpMV*VShift)/100); {zahrnutí vertikálního posunu}
UC:= MA + (MA * (prcnt/100)); {horní obálka, v tvém případě lze vypustit}
LC:= MA - (MA * (prcnt/100)); {spodní obálka, v tvém případě lze vypustit}
DisplayMA:= if(ShowMA=1, MA, null); {určuje jen zobrazení MA ano-ne}

Milan

Link to comment
Sdílet pomocí služby

To Milan
Mýlíš se, nepoužívám "pouhý MA", to by bylo hodně málo..využívám právě u tohoto příkladu upravených horizontál a vertikál posunů (ale musí se upravit ve "Výstupu" periody a odrazy a přehodit to na "floaty"). UC a LC na tom příkladu není použit, ale právě možnost jeho nastavení (ideál pro EUR/USD na 1 min. grafu vidím asi kolem 0,04-0,07) se dá využít jako výstup když Pr> nebo Pr SID

Link to comment
Sdílet pomocí služby

To Standby Ten AOS jsem si vytvořil jen pro srandu, jak by to mohlo fungovat při tom, když se člověk soustředí na 1 min. grafy. Nechal jsem si to pokusně běžet přes automat, ale asi to chce vše dělat ručně (asi limit 5-10 bodů a pryč od toho) a jen se "něčím řídit", jako signálem. Oproti včerejším "žním", poplatným odpolednímu pádu dolaru, se to dnes na "1 min. scalpingu" v automatu spíše pohybovalo kolem hranice "nula z nuly pojde".. :) SID

529

Link to comment
Sdílet pomocí služby

Pietro001, taky bych měl rád SHI channel ve svém arsenálu ve VT, nicméně právě díky rozdílnosti programovacích platforem MT a VT to pravděpodobně nebude možné. Skript obsahuje cykly a dále pracuje s objekty, což bohužel VT nezvládá. Ani sám velký Chris z fora VT skript nevymyslel. Ale netvrdím, že to v žádném případě nejde. Možná na to někdo přijde a já pak před ním smeknu klobouk.
Milan

Link to comment
Sdílet pomocí služby

Pro milovníky Profit Displaye od Marka, k nimž se řadím i já, mám další rozšíření o maximum a maximální drawdown. Kód se doplní do stávajícího PD.

Maximum:= max(TotalProfitInPips,prev);
DD:= max(Maximum-TotalProfitInPips,prev);

Celý kód pak vypadá takto:

{- - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
{Calculate Simulated Individual Trade Profit In Pips}
LongEntryPrice := valuewhen(1,Long,C);
LongExitPrice := valuewhen(1,LongEnd,C);
ShortEntryPrice := valuewhen(1,Short,C);
ShortExitPrice := valuewhen(1,ShortEnd,C);

RealProfitBuy := If(Bought=1,C-LongEntryPrice-Spread,0)*10000;
RealProfitSell:= If(Sold=1,ShortEntryPrice-C-Spread,0)*10000;
RealProfitInPips:= RealProfitBuy+RealProfitSell;

TradeProfitBuy := If(LongEnd=1,RealProfitBuy,0);
TradeProfitSell:= If(ShortEnd=1,RealProfitSell,0);
TradeProfitInPips:= TradeProfitBuy+TradeProfitSell;

{Calculate Simulated Total Profit In Pips}
TotalProfitInPips:= cum(TradeProfitInPips);
Risk:= lowest(TotalProfitInPips);
Maximum:= max(TotalProfitInPips,prev);
DD:= max(Maximum-TotalProfitInPips,prev);

LosingTrades := cum(If(TradeProfitInPips WinningTrades:= cum(If(TradeProfitInPips> 0,1,0))/10000;
TotalTrades := cum(If(TradeProfitInPips0,1,0))/10000;
BiggestLoss := If(TradeProfitInPips BiggestWin := If(TradeProfitInPips>0,max(TradeProfitInPips/10000,Prev),Prev);

SumLosingTrades:= cum(If(TradeProfitInPips SumWinningTrades:= cum(If(TradeProfitInPips>0,TradeProfitInPips,0))/10000;

AvgLosingTrade:= SumLosingTrades/LosingTrades/10000;
AvgWinningTrade:= SumWinningTrades/WinningTrades/10000;


Milan

Link to comment
Sdílet pomocí služby

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

×
×
  • Vytvořit...