Autorius | Žinutė |
2017-03-04 20:11 #505824 | |
C# [2017-03-04 19:22]: "start() { Print() } sugebėdavo atspausdinti tik kokius 5–6 tick'us per sekundę" Print() siaip gali neblogai letint, bet toks rezultatas tikrai prastas. Prastas? Dabar ziuriu i Admiralus, normaliomis rinkos salygomis, EURUSD, USDJPY tai kad vidutiniskai kokie 2-3 tickai per sekunde tik ir yra, o pas Vipro dar maziau. Tai kur jums 5-6 mazai? C# [2017-03-04 19:22]: "Iš grafiko tai jie nedingsta" Cia irgi dar klausimas i kuri reiketu atsakymo kaip jie ten dingsta ar nedingsta. Ar jis viska piesia is tu savo ticku, ar jis istorines zvakes sinchronizuoja su serveriu ir pan. Nes pvz. jei jis susyncina zvakes su serveriu po kiek laiko, tai gali istorinis vaizdelis biskeli pasikeist Grafike tickai ir neatsiranda. Na yra tas tickinis laikinas grafikas, bet mes ne apie ji tikrausia. O istorines zvakes susisinchronizuoja su serveriu, jokiu ticku nesiuncia, kad sudarytu M1. Buna, kad pastringa, nestabilus rysys "kazkur' tai pasidaro "nepilnos" zvakes, arba ju nebuna, tai paspadziu desini peles klavisa > Refresh ir atsiranda, susisinchronizuoja. The Power of Technical Analysis
Margin Call |
|
2017-03-04 20:32 #505827 | |
"Grafike tickai ir neatsiranda"
Einama M1 zvake jis greiciausiai piesia is tu savo ticku streamo, to pacio kuri patiekia i EA start(). Ant bet kokios zvakes matai realiu laiku kaip ji keicias, is cia ir "tickai ant grafiko". "kokie 2-3 tickai per sekunde tik ir yra, o pas Vipro dar maziau. Tai kur jums 5-6 mazai?" Nezinau kokiu metu ten printino ^la, ir nezinau ant kiek gali iskreipt rezultata vidutinis paskaiciavimas (todel kad Azija neaktyvi), bet tokie skaiciai normalaus aktyvumo metu yra juokingi Pasiziurek kiek ticku pazeria fjuceriai, to paties euro fjucerio, kuris sudaro gal tik koki 10% cash apyvartos. Nezinau gal OTC FX'e ir realiai tiek mazai sandoriu sudaroma Bet labiau panasu kad tokie skaiciai neatspindi realybes. Pamenu kokiu milzinisku greiciu vaziuodavo T&S juostele ant kokio nors ES fjucerio. Jeigu eurodoleris tuo paciu metu daro 5-6 tickus - nu tai sry |
|
2017-03-04 20:37 #505828 | |
Kazkur skaičiau, kad apie 2000 tickų per sekundę turėtų būti. Gal ten per api juos ir gaudo.
Fight like ukrainians
|
|
2017-03-04 20:38 #505829 | |
Astronautas [2017-03-04 19:44]: Gal kas esate tas ekspertas, kuris gebate daryti tuos 100 proc. realių tikų testus. Anksčiau buvo toks Birt's Patch MT4 terminalui. Jo pagalba buvo galima naudoti Tick'inę duomenų istoriją su MT4 tester'iu... Tačiau, šis sprendimas veikė tik su senesniais terminalo Build'ais. Specialiai vien šiam tikslui aš vis dar laikau 409 Build'o MT4 terminalą. Be abejo, tokiam testavimui, reikia pačiam turėti kokybišką Tick'inių kotiruočių istoriją... |
|
2017-03-04 20:47 #505830 | |
C# [2017-03-04 20:32]: "Grafike tickai ir neatsiranda" Einama M1 zvake jis greiciausiai piesia is tu savo ticku streamo, to pacio kuri patiekia i EA start(). Ant bet kokios zvakes matai realiu laiku kaip ji keicias, is cia ir "tickai ant grafiko". Paskutine M1 zvake piesiama is ticku streamo, bet tickus ant grafiko as suprantu sitaip ir pas mt4 jie grafike neatsiranda. The Power of Technical Analysis
Margin Call |
|
2017-03-04 20:58 #505831 | |
Egis_1974 [2017-03-04 20:38]: Specialiai vien šiam tikslui aš vis dar laikau 409 Build'o MT4 terminalą. Be abejo, tokiam testavimui, reikia pačiam turėti kokybišką Tick'inių kotiruočių istoriją... Mt4 net nėra latency langelio, kaip pas mt5. Įsivedus brokerio pingą, dar šis tas arčiau realybės. Galima aišku programiškai bandyti viską imituoti. Fight like ukrainians
|
|
2017-03-04 21:19 #505834 | |
C# [2017-03-04 20:32]: Nezinau kokiu metu ten printino ^la, ir nezinau ant kiek gali iskreipt rezultata vidutinis paskaiciavimas (todel kad Azija neaktyvi)... As ziurejau ne vidutini su azija, o UK, UK-USA, USA sesiju metu. Azijos gali buti ir i minute keli tickai. C# [2017-03-04 20:32]: bet tokie skaiciai normalaus aktyvumo metu yra juokingi Kad rimciau atrodytu galima tu ticku prikurti su pluginais. C# [2017-03-04 20:32]: Pasiziurek kiek ticku pazeria fjuceriai, to paties euro fjucerio, kuris sudaro gal tik koki 10% cash apyvartos. Nezinau kur pasiziureti. C# [2017-03-04 20:32]: Pamenu kokiu milzinisku greiciu vaziuodavo T&S juostele ant kokio nors ES fjucerio. Jeigu eurodoleris tuo paciu metu daro 5-6 tickus - nu tai sry Nedaro 5-6 ticku, tik 2-3 normaliomis salygomis. "Nenormaliomis", pvz penktadieni 20:00 pirmaja minute, pas AM - 490 ticku, ty 8.2 ticko per sekunde. Pas Dukascopy irgi panasus skaiciai. Zinau tik tiek: 1.rimtas brokeris, gauna kotiruotes is keliu provaideriu, tada prafiltuoja ir isrenka geriausias, kurias jis naudoja darbui su retailu. Jis ju per sekunde gal gauna ir 10 ar 20, bet issirenka pacias geriausias. Kitos - velniop. 2.kad jei truktu tu ticku ir truktu svarbiu ticku, tai jau gali atsirasti arbitrazo galimybes. 3.nenormaliomis rinkos salygomis, per naujienas, kai isplestas spread, tai tu ticku brokeris gauna tiek daug, kad galima sakyti darbui naudoja prafiltruotas ir "averagintas" kotiruotes. Ten jos taip virpa, kad ju net neimanoma visu perduoti. The Power of Technical Analysis
Margin Call |
|
2017-03-04 21:27 #505835 | |
"rimtas brokeris, gauna kotiruotes is keliu provaideriu, tada prafiltuoja ir isrenka geriausias, kurias jis naudoja darbui
su retailu. Jis ju per sekunde gal gauna ir 10 ar 20, bet issirenka pacias geriausias." Kaip suprast - pacias geriausias Tai gal shudiniausias, jei skirtos retailui "kad jei truktu tu ticku ir truktu svarbiu ticku, tai jau gali atsirasti arbitrazo galimybes." Tai jos ir yra, bet per spreda nieko ten nepriarbitrazinsi. Kotiruociu asimetrija - senas SuperTonio irankis, bet turbut dabar jau nebenaudojamas. |
|
2017-03-04 21:44 #505837 | |
C# [2017-03-04 21:27]: "rimtas brokeris, gauna kotiruotes is keliu provaideriu, tada prafiltuoja ir isrenka geriausias, kurias jis naudoja darbui su retailu. Jis ju per sekunde gal gauna ir 10 ar 20, bet issirenka pacias geriausias." Kaip suprast - pacias geriausias Tai gal shudiniausias, jei skirtos retailui Suprast tiesiogiai. Jis darbui atsirenka pacias geriausias, o kiek prie ju po to prisideda ar neprisideda, tai jau jo reikalas. Pvz USDJPY daznai buna nulinis spreadas, tai ka jis dar gali tuo momentu prisideti. Ir aplamai Vipro dabar panasu, kad retailui pradejo duoti institucines kotiruotes ty kokias gauna is likvidatoriu. Admiralai arodo, kad irgi didziaja laiko dali tokias tiekia retailui. C# [2017-03-04 21:27]: "kad jei truktu tu ticku ir truktu svarbiu ticku, tai jau gali atsirasti arbitrazo galimybes." Tai jos ir yra, bet per spreda nieko ten nepriarbitrazinsi. Kotiruociu asimetrija - senas SuperTonio irankis, bet turbut dabar jau nebenaudojamas. Senas irankis, bet dabar jau pasenes ir apie retaila as ne nekalbu. Arbitrazo galimybiu jau seniai nelike. Jei tu butum stambi kompanija, tu gautum institucini srauta ir galetum arbitrazinti. Spread 0.0-0.3, plius gautum dar po kazkiek baksu uz kiekviena suprekiauta lota, rebatus is tiekejo. Gautusi neigiamas spread, bet vistiek nesigautu arbitrazinti. The Power of Technical Analysis
Margin Call |
|
2017-03-06 14:23 #506047 | |
Petras Kurmelis [2017-03-04 16:09]: Atsiprašau, jei parašysiu diletantiškai, tačiau, ar ne geriau būtų "visam tam dalykui" išskirti porą fizinių procesoriaus branduolių (ir kokius 8 virtualius - na žinote, tuos visus HT) nu ir tegul plėšosi tie visi terminalai ir EA ant skirtinių resursų. Su geru i5-i7 procesoriumi tai neturėtų būti sunku. Priklauso nuo to, kokio sudėtingumo algoritmas naudojamas ir kokia kalba realizuotas. Gerai [2017-03-04 19:07]: Dėl kelių tickų? Kokią reikšmę turi tie keli tickai, jei dirbama pagal TA. Nebent principo reikalas. O ką su tais tickais daryti, jei kompas užsiėmęs. Kai atsilaisvina, jau laukia nauji tickai, ir tie seni niekam nerūpi. Iš grafiko tai jie nedingsta. Tokia reikšmę, kad algoritmas įvykdys trade'ą arba jo neįvykdys. Ką daryti su tick'ais jei procesorius užsiėmęs? Agreguoti ir taip mažinti apdorojamų tick'ų kiekį. Aš taip ir darau. Grafikai formuojami ne pagal gautus tick'us (t.y. ne tik pagal juos), bet ir parsisiunčiant iš serverio užbaigtas istorines žvakes. Common sense is not very common
|
|
2017-03-06 14:29 #506049 | |
youngcat [2017-03-04 17:25]: Jei labai idomu, kiek ticku praignoruoja konkretus PC, tai reiketu ne printinti visus tickus, nes neaisku kiek dar laiko sugaistama sitai funkcijai ir neaisku kiek tu ticku konkrecioje sekundeje ir turejo buti (gal 5, o gal ir 7), o ideti skaitikli i start() fukcija, kuris suskaiciuotu kiek per minute si funkcija buvo issaukta ir tuomet palyginti su Volume. Jei HW greitas ir PC neapkrautas papildomais procesais, tai didziausias ticku praignoravimas turetu buti po to kai jau priimtas sprendimas nusiusti komanda i serveri ir laukiant jos ivykdymo. Bet situo momentu, gaunami ir praignoruojami tickai jau visiskai nesvarbus, nes sprendimas jau priimtas ir tik laukiamas patvirtinimas apie ivykdyma. Bandžiau tick'us su MQL pagalba skaičiuoti ir šiuo būdu. Rezultatas praktiškai identiškas Print(). Print() tikrai nėra "brangi" funkcija. Tokio pobūdžio užduotims nereikia greito HW. Tiesiog reikia naudoti tiesioginius API kanalus, o ne MT/MQL metakalbą, kurį yra visiškai neefektyvi. Common sense is not very common
|
|
2017-03-06 16:33 #506115 | |
^la [2017-03-06 14:23]: Ką daryti su tick'ais jei procesorius užsiėmęs? Agreguoti ir taip mažinti apdorojamų tick'ų kiekį. Aš taip ir darau. ^la [2017-03-06 14:29]: Tiesiog reikia naudoti tiesioginius API kanalus, o ne MT/MQL metakalbą, kurį yra visiškai neefektyvi. Čia tipo žvakės iš kelių tick'ų? Galima ir su mql. Kalba kaip kalba, po paskutinių patobulinimų nuo C++ nesiskiria, tik gal pati platforma viską lėtina. Tai tenka pačiam ir EMA's su ATR'ais susiprogramuoti? Iš techninės pusės žinoma įdomu. Tik kažin ar pas tokią Oandą ar kitą populiarų brokerį galima efektyviai tickinti su jų praslydimais. Fight like ukrainians
|
|
2017-03-06 16:44 #506122 | |
Gerai [2017-03-06 16:33]: Čia tipo žvakės iš kelių tick'ų? Panašiai. Pvz. gaunu 12 tick'ų per sekundę ir vietoj to, kad siųsčiau visus juos strategijos procesui, siunčių tik vieną: MAX(bid)/MIN(ask) arba MIN(bid)/MAX(ask). Nors tuo pačiu kitas procesas, kuris rašo tick'us į failą (kaupiu istorinę informaciją strategijų testavimui ir pan.) gauna pilną neagreguotą srautą. Kodas: 14:44:24 EUR/USD 1.05989 1.06000 14:44:24 EUR/USD 1.05982 1.05994 14:44:24 EUR/USD 1.05983 1.05995 14:44:24 EUR/USD 1.05982 1.05994 14:44:24 EUR/USD 1.05983 1.05995 14:44:24 EUR/USD 1.05983 1.05994 14:44:24 EUR/USD 1.05981 1.05992 14:44:24 EUR/USD 1.05981 1.05991 14:44:24 EUR/USD 1.05982 1.05992 14:44:24 EUR/USD 1.05983 1.05993 14:44:24 EUR/USD 1.05982 1.05992 14:44:24 EUR/USD 1.05983 1.05993 Tokiu būdu pavyksta realiu laiku analizuoti 120+ instrumentų. Ir šį darbą puikiai sugeba atlikti beveik pigiausias AWS serveris (t2.micro). Common sense is not very common
|
|
2017-03-06 18:00 #506154 | |
^la [2017-03-06 14:29]: Tiesiog reikia naudoti tiesioginius API kanalus, o ne MT/MQL metakalbą, kurį yra visiškai neefektyvi. Kai pritruks MT/MQL efektyvumo ir kai tai bent kiek itakos P/L kreive, tai imsimes API kanalu. O dabar, is tavo atprintintu ticku, matau, kad ta P/L kreive labai itakotu toks dirbtinai sukeltas spread. Su tokiomis kotiruotemis tikrai, kad yra ka veikti. The Power of Technical Analysis
Margin Call |
|
2018-09-09 15:19 #576051 | |
Programuotojas klausia manęs, ar tiks jeigu FIX API connection jis man suprogramuos Java kalba. Ar čia yra didelis skirtumas, kokią programavimo kalbą jis pasirinks?
|
|
2018-09-09 16:51 #576057 | |
Java tinka, svarbu, kad teisingai suprogramuotų.
O tu pagalvok, kas ir už kiek visa tai supportins, jeigu kartais programuotojas dings Nepigūs Java programuotojai. Astronautas [2018-09-09 15:19]:
Programuotojas klausia manęs, ar tiks jeigu FIX API connection jis man suprogramuos Java kalba. Ar čia yra didelis skirtumas, kokią programavimo kalbą jis pasirinks? |
|
2018-09-09 17:55 #576062 | |
Jeigu labai svarbu performansas, tada managed kodo kalbu reiketu vengt. Tokiu atveju C/C++
Kalbant apie managed koda, JAVA anksciau nusileisdavo performansu .NET/C#. Kaip yra dabar, nezinau |
|
2018-09-10 18:41 #576238 | |
Programuotojas sąžiningas, pripažįsta kad suprogramavus connection c ++ kalba sandoriai galėtų būti vykdomi sparčiau - bet čia jau labai svarbu programuotojo kvalifikacija. Kad vien tik c ++ savaime dar ne rodiklis.
Kitas tai pačia primityviausia kalba suprogramuotų nieko neaiškinęs... Bet tai jeigu konkrečiau: kiek milisekundžių maždaug, ir nuo ko priklausomai, pailgėtų vykdymas per FIX API, jeigu pasirinkčiau Java, o ne c ++? |
|
2018-09-10 19:00 #576239 | |
O is kur zinot ? Jeigu nera kazkokiu public pasiekiamu testu, reikia paciam darytis tokius testus ir matuot. Bet kokiu atveju reikia ismanyt minimaliai bent abi kalbas, kurias nori sulygint.
C++ yra sudetingesne kalba, ir kvalifikacijos reikia daugiau. Klausimas isviso dar, kiek ten kodo realiai gaunas. |
|
2018-09-10 19:26 #576241 | |
Nepamirškit, kad JAVA turi savo virtualią mašiną (VM) ant kurios sukasi kodas, tuo tarpu C kodas vykdomas tiesiogiai. Vis dėlto, veikimo greitis daug priklauso nuo naudojamų bibliotekų kokybės. Šiais laikas jei kokybiškai parašytas kodas, didelio skirtumo neturėtų būti. Kitas klausimas kiek resursų "valgys" viena ir kita programa. JAVA turėtų naudoti daugiau RAM'o vien dėl VM. Šiaip, forumuose žmonės iki šiol sutaria tik dėl to, kad tai priklauso nuo aplinkybių
|