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

Diskuze k článku: Propojení Excelu a IB - základní tutoriál na stavbu VBA kódu


Doporučené příspěvky

  • Odpovědí 35
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

> gizmo

Přínosný by bezesporu byl nějaký jednoduchý návod na např. nějaký pattern FinWinu, mám ale obavy, že by autoři tohoto serveru mohli být oprávněně proti - pokud by jsi vytvořil tutoriálek např. jak naprogramovat v NT signál při vytvoření patternu 0/V, v podstatě by pak nějaké know how, za které se oprávněně platí, bylo venku (0/V signál by byl jasně nadefinován....).
Je to potřeba probrat s autory serveru.

A k zaručenému naprogramování AOS apod. já mám jiný názor, který vychází už z toho co jsem zažil:

Zaručeně nejde nic zaručit :D .

Ale nemá smysl o tomhle debatovat, toho tu už bylo probráno spoustu a nikdy to nikam nevedlo, třeba časem přijdu na jiný názor :).

Link to comment
Sdílet pomocí služby

Tak to je fakt super napsaný, kód je opravdu jednoduchý.
Dík za práci, kterou tomu gizmo věnoval, určitě to nebylo na hodinu, co zabere implementace již hotového kódu.
Všem, kdo volají po dalších funkcích a AOS ( a za chvíli to dojde i k exekuci příkazů) bych doporučil jedno - využijte chodící základ, kupte si knihu (nebo si projděte na netu stovky stran o VBA) a udělejte si to sami (to není myšleno zle) - není nic lepšího než vědět, kde mi co SW dělá a jednoduchou úpravou si to zmodifikovat k obrazu svému. Každým týdnem jste v obchodech jinde a pak vám přidání nějaké funkce, co vás zrovna napadne nebude stát víc než několik minut ( ze kterých nakonec budou hodiny, než to bude stoprocentní) práce. Jinak to pro vás bude blackbox a tím pádem slabina vašeho trradingu.
Velmi rád si přečtu další, podobně zaměřený články, bo mě tato technická část baví.

Dík SUP

Link to comment
Sdílet pomocí služby

> vonV

Dobra otazka vztahujici se k problemu, ktery v teto dobe take resim. TWS API ma exportovane funkce na nacitani historickych dat, takze to urcite nejak pujde i pres DDE. Akorat jsou tam urcita omezeni, pokud si pamatuju spravne (kolik dat muzete stahnout za urcitou jednotku casu - asi nejaka ochrana, aby jim takto nekdo nezahlcoval servery).

Az na to cele prijdu a odhalim i ta omezeni, tak se kazdopadne opet podelim. Mozna v podobe dalsiho clanku. Pokud to bude opravdu jednoduche, tak bych to hodil spis asi jenom sem do diskuze.

Kazdopadne ten jejich vzorovy XLS ma list "Historical Data", kde to bude zase demonstrovane. Takze to bych zkusil jako prvni misto k cerpani inspirace (tam zacinam i ja :))

Link to comment
Sdílet pomocí služby

Tak jsem se dival na ta historicka data a to by nejspis chtelo samostatny clanek, protoze tam toho programovani bude trochu vic. Funguje to v podstate takto:

1) Vytvorite si control link, kde definujete jaka historicka data chcete - presny tvar muzete zjistit v tom vzorovem XLS od IB. Je to neco jako:
=edemo|hist!id0?req?MSFT_STK_SMART_USD_ISLAND_20100413singleSpace08singleColon00singleColon00singleSpaceGMT_1singleSpaceW_11_MIDPOINT_1_1
Sam zatim poradne nevim, co nektere ty hodnoty znamenaji. Musim s tim trochu zaexperimentovat.

2) Cekate, az se hodnota tohoto control linku zmeni na "RECEIVED", coz znamena, ze TWS ma pripravena pozadovana historicka data. Oni to v tom vzorovem XLS maji osetreno pomoci "Worksheet_Calculate" event handleru (obsluha udalosti) - tento handler se vola pokazde, kdyz se v jakekoliv bunce v danem Excel sheetu zmeni hodnota na zaklade vypoctu formule.

3) Poslete DDE serveru request na historicka data. Ten by mel vypadat nejak takto:
=edemo|hist!id0?result
V tomto pripade to ale nemuzete jen tak hodit do nejake bunky v Excelu, protoze tento pozadavek vraci dvourozmerne pole, coz je datovy typ, ktery do bunky proste nenacpete (pro vsechny, co v matematice milovali matice stejne jako ja - dvourozmerne pole je v podstate matice, nebo se tomu obcas rika pole poli :)). Takze je potreba poslat request v kodu a ulozit si vracene pole do promenne. Tento kod maji ve funkci ArrayQueries.doRequest (ArrayQueries je jmeno modulu, kde se funkce nachazi).

Pokud Vam tento prispevek nedava vubec zadny smysl a nejste schopni to podle toho sami naprogramovat, tak je to naprosto v poradku :). Pokud byste to naprogramovat dokazali, tak umite programovat! Sam s tim musim trochu zaexperimentovat a zjistit, co nektere hodnoty znamenaji.

Jeste jedna poznamka - s timto se moc dobre neda pracovat v tom demo modu. Tam to totiz vzdycky napise, ze demo ucet je limitovan na 1 tyden historickych dat. V praxi mi to ale nefungovalo ani s tim tydnem (ikdyz mozna jsem delal neco spatne). Vlastne to bylo docela zvlastni, protoze jsem to zkousel vcera 12. dubna 2010 a vratilo mi to "historicka" data z 12. a 13. dubna - tak nevim, treba to v demo modu umi predvidat budoucnost :D. I tak ta data ale neodpovidala skutecnym hodnotam (ted myslim z 12teho :)), takze nejen ze je to limitovano na jeden tyden, vypada to, ze si to v demo modu ta historicka data vymysli.

Link to comment
Sdílet pomocí služby

Petre,
jsem nadseny co jste publikoval
s IB zatim sice excel nepropojuji ale take bych se k tomu rad dostal
prave dnes resim v exceĺu jine pro me problemy ale to jsou trivialni veci
rozhodne jen tak dal

btw:
kdyz ctu o tom programovani ruznych signalu ... April 9, 2010 03:03PM neni jednodussi to pro Tebe udelat napr. v AmiBrokerovi?

Link to comment
Sdílet pomocí služby

> palocx

Diky za pozitivni reakci (timto bych chtel podekovat vsem, co sem prispivali!), rozhodne to cloveka potesi, kdyz vidi, ze ten clanek lidi oceni ;-) A dava mi to motivaci v tom pokracovat dal!

Jestli by nebylo jednodussi programovat signaly v AmiBrokerovi? No tezko rict, protoze ten software neznam a nemam v nem zadne prakticke zkusenosti :). Ale abych pravdu rekl, tak jeste zhruba pred 2ma mesici jsem poradne neznal ani VBA v Excelu. Pro tento konkretni clanek jsem se rozhodl, protoze na propojeni Excelu s TWS pracuji, takze uz s tim mam nejake zkusenosti a mam uz i nejaky ten kod, ktery muzu okomentovat a zverejnit jako "ukazkovy".

Samozrejme v budoucnu se treba dostane i na AmiBroker platformu, pokud po tom bude poptavka a budu mit cas to poradne prostudovat. Na programovani je dobre to, ze jakmile se tim stylem clovek nauci myslet, velice rychle se uci jakekoliv programovaci a skriptovaci jazyky. Ono je to totiz vsechno na jedno brdo - vsude jsou if - else podminky, cykly, podobne datove typy atd. Takze ono pak neni zase az tak tezke zkonvertovat urcity kod do jineho skriptovaciho jazyka. Dneska jsem v praci treba programoval jednu vec do systemu, ktery psal kolega a je to napsane v jazyce Lua. Nikdy jsem v tom nic nepsal, ale abych mu do toho necpal Perl, napsal jsem to v Lua a nebyl to zadny problem.

Pokud s tim Petr s Tomasem budou souhlasit, tak bych zde prispival casteji a cas od casu bych napsal nejaky takto technicky zamereny clanek/navod. Co se tyce tradingu, tak nemam dostatek zkusenosti na to, abych je rozdaval ostatnim. Ale na tomto serveru jsem se hodne naucil a minimum, co muzu udelat na oplatku, je napsat nekolik clanku na temata, kterym rozumim - automatizace a programovani.

A samozrejme to nepisu pro sebe, ale pro vas vsechny. Takze jakekoliv navrhy jsou vitany ;)

Link to comment
Sdílet pomocí služby


Děkuji za pěkný článek,
s IB obchoduji již asi rok a půl .Obchoduji komoditní spready a forex (spíše delší obchody s menším objemem). V platformě je možnost nastavit různé alerty ,ale vždy se to týká jen ceny.
Myslím že by hodně pomohlo i ostatním traderům použít excel jako takového hlídače cen a překřížení klouzavých průměrů , CCI versus nulová linka,stochastik nad 80% nebo pod 20% a podobně. Jinak budeme stále zírat na monitory a dobrý obchod na jiném trhu nám uteče. Na začátku stačilo většínou jen upozornit, že se cena dostala do oblasti kde toho mohu využít pro svůj obchod.
Určitě bych se nezabýval automatizovanými systémy. Stejně musíte nakoukat grafy. Jsem příznivce obchodování z grafu a jednoduchých indikátorů a automatu bych se svěřil snad jen pro výstup z dlohodobého obchodu u spreadů kde se nedá zadat v platformě (na burze) stop loss a excel by vypadl z obchodu po jednotlivých nohách.
Již mě využití excelu lákalo dříve ale nemám na to patřičné vědomosti. Nevím jak ukládat streamovaná data ? jak z nich udělat 1minutová, 3minutová, hodinová ?Bez toho to nevyhodnotím. Stačí třeba jen 100 posledních údajů v různých timeframech indikátory se většinou používají s periodou okolo 14 ,21 nebo 50 málokdy více .
Úvodní list by obsahoval například realtime data sledovaných trhů ,pole se signálem splnění zadané podmínky a hlavně prostor na poznámku co udělat když bude podmínka splněna aby člověk nemusel stále lovit v poznámkách kde jaké S/R úrovně Fibo úrovně a nebo přepínat mezi grafy. Prostě by si počkal až cena klesne nebo stoupne splní naše podmínky a že je možno uvažovat o vstupu a nebo je něco v portfoliu blbě a je nejvyšší čas vypadnout z trhu.

Zdravím Vás a děkuji .

Karel Reindl


Link to comment
Sdílet pomocí služby

> Karlos

Naprogramovani takovychto alertu je rozhodne velice dobry napad a verim, ze by to hodne lidem pomohlo a zajimalo by je to. Ale tohle bych teda nedelal v Excelu. Pouzivate treba Ninja Trader nebo podobny software na renderovani grafu, indikatoru atd.? Pokud vim, tak Ninja jde napojit na IB data, nebo ne? Vsechno, co jste tu zminil, jsem si tak nejak predstavil, kdyz tu drive Honzin mluvil o doprogramovani nejakych pasivnich pomocnych nastroju do Ninji. A na toto tema bych se do budoucna take treba zameril.

V nejakem softu, ktery uz umi zobrazovat data a pocitat indikatory, je podle me naprogramovani podobnych alertu otazkou nekolika minut, maximalne hodin. Kdezto v Excelu byste nejdriv nekolik tydnu az mesicu resil veci, ktere uz v Ninjovi apod. jsou vyreseny - nacitani a interni ukladani dat (tohle je docela v pohode), vytvareni ruznych timeframe na zaklade tech dat (tohle by mohlo byt hodne frustrujici) a vypocet ruznych indikatoru (taky nejspis pomerne jednoduche - treba CCI je dost jednoduchy vypocet, ale pri vyssich periodach to muze zabrat nejaky cas). Samozrejme to technicky jde, ale nejspis to neni "worth the effort" (ted me nejak nenapadlo, jak to rict vystizne cesky - proste, ze se to nevyplati).

Excel bych videl spise jako monitorovaci a analyticky nastroj na nejake dlouhodobejsi pozicni strategie, kde nepotrebujete mit real-time rutinu, ktera sleduje ruzna data a signaly prakticky nepretrzite. Mne osobne prijde, ze to VBA je docela pomale, ale mozna je to jenom predsudek, protoze Excel je nehorazne pomaly pres COM rozhrani - aspon z mych zkusenosti. Par lidi tady zminovalo opce, to vypada jako dobre vyuziti Excelu. Nebo na sledovani sirsiho portfolia, ktere tvori treba i financni nastroje obchodovane pres vice ruznych brokeru a nemuzete je jednoduse vsechny monitorovat v jinem softu.

Ale na intradenni pristupy a real-time alerty bych Excel nepouzival. K tomu jsou jednodussi alternativy.

/petr

Link to comment
Sdílet pomocí služby

Díky za odpověď.

Bylo by to asi fakt dost složitý pro intradení obchodování a máte pravdu že mnoho softů už má hodně funkcí hotových.
Na toho Ninju mrknu.
Pro dlouhodobější obchody by stačily u sledovaných trhů denní historická data od IB vždy za posledních
např. 20 obchodních dnů řadit je do řádků v tabulce tak aby ty stará hodnoty vypadly a zůstalo tam vždy jen těch posledních např. 20 hodnot. Aby se to vždy po spuštění zaktualizovalo a na konci
řádku si porovnávat data živá. A takhle hezky pohromadě by se daly pozice ať v komoditách nebo opcích
docela přehledně hlídat a vyhodnotit to by již určitě mnoho lidí zvládlo.Ale dostat to do těch řádků automatizovaně
. To by bodlo.
Budu sledovat Vaše příspěvky dále.

Zdravím a hodně úspěchů Karel Reindl.

Link to comment
Sdílet pomocí služby

Uz jsem se bavil s Petrem, ze bych napsal dalsi clanek o nacitani historickych dat z TWS. Funkcni kod uz mam, jenom tam potrebuji jeste zaexperimentovat s par detaily. Ukazal bych to nejspis zase na akciovych titulech (asi jako rozsireni XLS z tohoto clanku) a v budoucnu bychom se pak mrkli treba na to, jak tam dostat ceny opci a komodit. Pristi tyden se k tomu nejspis nedostanu, ale v poslednim tydnu v dubnu by mohl byt ready.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...