Topiknyitó: laszlo.abraham 2008. 12. 11. 09:18

Amibroker  

Azt javaslom írjátok le hogy mi az ami nem megy.

Próbálom megválaszolni!
Rendezés:
Hozzászólások oldalanként:
8uk52 2019. 06. 11. 14:42
Előzmény: #953  8uk52
#954
BarsSince lett a nyerő
8uk52 2019. 06. 09. 09:57
Előzmény: #952  8uk52
#953
HHVBars és LLVBars úgy nézem működik itt
8uk52 2019. 06. 08. 19:03
#952
Sziasztok! Teljes kezdő vagyok benne, egy Donchian alapú indikátort szeretnék írni, az afl alap megvan, csak a periódusnál elakadtam. Nekem nem fix periódus kellene, hanem olyan ami egy minimum értékről a gyertyák számával növekszik a maximum értékig, ha meg közben lesz egy buy vagy sell jel, akkor visszaáll a minimum értékre. Mivel lehet ezt megoldani, mert nem találtam hasonló kódot
Tomibá 2019. 04. 11. 19:11
Előzmény: #950  kompi210
#951
http://www.amibroker.com/download.html
(de ezt csak 3 hetig tudod hasznalni!); mert utana lejar az ingyenes hozzaferes...
egyebkent 280$ nem hiszem hogy komoly problema lenne, mert ha igen akkor nem vagyok biztos benne hogy a piacon kellene probalkozni...
adatok sokkal erdekesebb problema; mert megfelelo minosegu adatok penzbe kerulnek, raadasul nagyon nem egyszeru jo minosegu adatokat szerezni....nehany szaz $-ert meg tudod venni 1990-ig; de ha mondjuk 1950-tol szeretned az mar kozel 800$-ba kerul....
egyebkent igazan nincs ertelme 30-35 evnel hosszabb idotavot vizsgalni, mert a vilag tul sokat valtozik fel generacio alatt.Aminek inkabb jelentosege van hogy milyen minosegu adatokat hasznalsz, peldaul az adataid tartalmazzak azokat a cegeket is amik tonkre mentek ill. kivezetesre kerultek stb.stb...
(ennek csupan azert lehet jelentosege, mert ha olyan adatokat hasznalsz ahol a delisted securities and delisted stock-okat nem tartalmazza) akkor lenyegesen jobb eredmenyeket fogsz kapni az elemzeseid soran mintha olyanokat is vizsgalnal amik tonkre mentek ill. kivezetesre kerultek a piacrol....
(most olyan finomsagokba bele sem megyek, hogy nem biztos hogy a megbizasod teljesul ill. hogy milyen aron stb.stb.)
Ezen rengeteg befekteto ill. kereskedo elcsuszik, hiszen nem kalkulalnak azzal hogy elore nem tudjuk hogy melyik ceg kerul kivezetesre vagy megy csodbe.
(en meg nem vagyok 2 evtizede a piacon de lattam mar jo nehany ceget eltunni) es valoszinuleg ez a jovoben is elo fog fordulni...
kompi210 2019. 04. 11. 17:04
#950
Az Amibroker programra lenne szükségem a szabad változatra.Amíg 32 bites volt a gépem simán le tudtam tölteni,de most,hogy 64 bites ez nem igazán megy .Ha tudna valaki segíteni jó lenne.Egy nyúlfarknyi Magyar nyelvű változat megvan ,de énnekem olyan kell amiben a grafikon az Amerikai tőzsde adatokat1920- tól mutatja ,mondjuk 2014 ig.
Törölt felhasználó 2018. 06. 14. 07:20
Előzmény: #948  szarvasvadasz
#949
Koszi a valaszt;
Igazan nem keresek ujabb programot, mert azokat a kutato munkakat, analiziseket amelyekkel en foglalkozom azt az amibroker remekul kiszolgalja; persze ez nem jelenti azt hogyha talalnek 1 jobb programot akkor azzal nem ismerkednek meg szivesen,de egyeore meg nem talatam jobbat.
Persze az erdekelt es erdekel, hogy mo-on hanyan hasznaljak az amibrokert, persze csak kivancsisagbol. 
Metatradert igazan nem szeretem, ha muszaly alkalmazom,de ha nem muszaly kerulom.
Motivewave-re ranezek a kovetkezo hetekben, az ajanlasod miatt.
Adatszolgaltatassal kapcsolatban; nem igazan szeretem kutato munkara, analizisre ill. kereskedesre hasznalni a brokerek altal kozolt adatokat.
Szoval a piaci adatokat en olyan szolgaltatotol szeretem kapni aki nem erdekelt semmilyen modon az adatok modositasaban.Ugye 1 adat szolgaltatotol kapott adat es 1 broker ill. CFD szolgaltatotol szerzett adat kozott eleg nagy kulonbseg van velemenyem szerint.Kereskedeseim volumene meghaladja a legtobb brokernel szinte az osszes piaci adat azzonali hozzafereset,de nem szeretek erdekelentetet kialakitani.
Azzal nincs gondom, hogy pl. az interactivebroker a megbizasaim jelentos reszet kisebb csomagokban, reszenkent teljesiti...de az adatokat nem toluk szerzem.(nalam ez 1 szabaly, mint ahogy az is hogy a brokereknek megbizasokkal es idoben kell elnyerni a bizalmamat, minden broker jelent 1 bizonyos fajta kockazatot).
Tisztaban vagyok vele, hogy az algok megjelenesevel rengeteg megbizas kerul be az ajanlati konybe veteli es eladasi oldalon, majd ezek nagy resze mielott teljesulne torlodik,de mivel en nagyon ritkan megyek 1H ala igy igazan a feltupirozott informaciok nem zavarnak mert csak a teljesult megbizasokkal foglalkozom.
Ahogy 1 regi motoros kereskedotol hallottam (es velemenyem szerint nagyon is igaz):
Nem zavarja az algok megjelenese a kereskedesben???
-3 dolgot tehet 1 kereskedo: vasarolhat, eladhat ill. nem csinal semmit (csak figyeli a piacot).
Algok sem tudnak ennel tobbet!
Az igaz hogy gyorsabbak es kisebb idohorizonton nem lehet felvenni veluk a versenyt, mert 1 elore kalkulalt megbizas kiadasahoz 1 embernek szuksege van 0,1-0,2sec-re; es az is igaz hogy mivel likviditast szolgaltatnak a piacnak igy joval tobb rebate-re tesznek szert mint mondjuk en vagy a cegem,de napos idotavon semmivel nem tudnak tobbet mint 1 ember.
Legyen szep hetveged!
szarvasvadasz
szarvasvadasz 2018. 06. 13. 18:10
Előzmény: #947  Törölt felhasználó
#948
Szia, röviden: AFL-lel tíz éve foglalkoztam picit, amikor még BÉT-en voltam és az Amibroker élőben kapta az adatokat chart-elemzéshez. Messze nem ástam bele magam akkor olyan mélyen,. hogy programozást tekintve kihasználjam a lehetőségeket, amit már akkor is támogatott (meglevő kódok módosításában/testreszabásában  gyakorlatilag kimerült).
 
Komolyabb fejlesztéseket önálló SQL-lel kombiinált WinAPI alkalmazásként illetve Metatrader alá írtam különféle dolgokat MQ4-ben. Ezek döntéstámogató célprogramok voltak, némelyik eléggé komplex logikával (van köztük olyan egyszerű de hasznos audio-vizuális is, ami ingyenesen elérhető a neten, több ezren használják már a világban).
 
A Te dolgodat illetően szerintem az a kérdés, hogy mi a szűk keresztmetszet, ami miatt más platformot/eszközt keresel. Töltsd le pl. a Motivewave-t és próbáld ki, mit/hogyan támogat abból, amit szeretnél. Komoly moduláris platform széleskörű broki/adatszolgáltató támogatással (Interactive Brokers, FXCM köztük van) kiváló elemzőeszközökkel, SDK-val.
Törölt felhasználó 2018. 06. 12. 15:29
Előzmény: #946  szarvasvadasz
#947
Nem igazan kereskedek futures-t...(arra talan jo lenne a ninja).
Kereskedeseim 80-90%-a a rv es etf piacon tortenik (ott interactivebrokers-t hasznalom koltseg megtakaritas miatt [~200 kereskedes 80-90% az ~320-360megbizas/ev es mivel minimum 5-10$-t tudok sporolni megbizasonkent ez 1 normalisabb penz amit nem kell megkeresni ujbol a piacon]); IGmarkets hasznalom CFD es egyebb rovidebb tavu pozikra, short stb.stb; ezen kivul meg idonkent hasznalom axatradert es fxcm-t idonkent.
Elemzesre,kutato munkara, analizisre pedig amibroker-t hasznalom lassan mar 5 eve.Adatokoat nyilvan nem a brokerektol, cfd szolgaltatotol hanem norgate data-tol onnan is az NDU Beta-t hasznalom.
Erdekelne a tapasztalatod az elso 3-al kapcsolatban,de nem surgos, amikor van ra idod ill. hogy menyire ismert szamodra az AFL program nyelv; ill. milyen gyakran hasznalod.
szarvasvadasz
szarvasvadasz 2018. 06. 12. 14:48
Előzmény: #945  Törölt felhasználó
#946
Amibroker, Motivewave, Ninja, TraderStudio, Thinkorswim, TradeStation, MultiCharts. Kérdés, hogy mik az elvárásaid. Az első hárommal van tapasztalat (és van még kettő, ami hullámelmélet specifikus, azokat nem promózom, ráadásul az egyik már nem elérhető). Számomra az elemzés támogatás a legfontosabb és a programozhatóság.
Törölt felhasználó 2018. 06. 12. 13:50
Előzmény: #944  szarvasvadasz
#945
koszi a valaszt, mondjuk erdekelne milyen alternativakra gondolsz....???
Nem igazan ismerem a ninja tradert, nem mondom hogy sose lattam a hasznalatat, de kivancsi lennek, hogy programozott kereskedes, analizis es kutato munkaban mennyire van segitsegedre???
szarvasvadasz
szarvasvadasz 2018. 06. 12. 13:15
Előzmény: #943  Törölt felhasználó
#944
Van azért pár alternatíva, Ninjatrader az egyik rugalmas platform.
Törölt felhasználó 2018. 06. 12. 12:53
Előzmény: #942  Törölt felhasználó
#943
Miert gondolod, hogy kihaloban?
regi oreg motorosok, es tapasztaltabbja szerintem hasznalja, mondjuk lehet hogy nem jarnak errefele.
Tudsz esetleg jobbat, mert en nem, mar ha nem befektetesi banknak dolgozik az ember...
Törölt felhasználó 2018. 06. 11. 17:01
Előzmény: #941  Törölt felhasználó
#942
kb 3-4 ))
kihalóban
Törölt felhasználó 2018. 06. 11. 15:34
Előzmény: #940  Törölt felhasználó
#941
Kivancsi lennek hanyan hasznaljak az amibrokert a forumozok kozul?
Törölt felhasználó 2018. 06. 10. 20:02
#940
https://stooq.com/db/h/
From 1 April 2018, Metastock/Ascii databases will not be available anymore (neither for free nor for a fee).
egyebek ?
peterk333 2018. 03. 17. 02:25
Előzmény: #584  spekulans18
#939
Helló
Most cseréltem le a gépemet 64 bitesre. A gondom az ,hogy eddig a petiexportal szedtem ki az adatokat a petiből az amibrókerbe.
A  gépem már 64 bites a petiexport csak 32 biten megy. Hogyan lehet megoldani petiből az adatok importálását az amibrókerbe ? Fizetek is ha valaki megcsinálja nekem ! 
Köszönöm a válaszokat előre is.
Péter
peterk333 2018. 03. 16. 12:28
Előzmény: #514  Tibor78
#938
Szia 
Eltudnád küldeni a petiplugint a peterk333@freemail.hu címre. előre is köszönöm
Tisztelettel
Kovács Péter
Tuta
Tuta 2017. 01. 03. 11:35
#937
Sziasztok!

Segítséget szeretnék kérni.
fel kellet raknom az új peti-t mert a régi nem indult már el, 32bites volt win7-en.
az új peti viszont 64 bites, és nem kommunikál a peti exportal.
Mi tudok tenni hogy menjen?
köszönöm
Matsmath
Matsmath 2016. 12. 19. 10:36
#936
Csili-vili uj honlap: link

AmiBroker 6.19.0 BETA released!
Törölt felhasználó 2016. 06. 26. 20:16
Előzmény: #934  Törölt felhasználó
#935
/* Script: Chart TAB-ok automatikus mentése
** File: naposchart.js
** Version: 1.3
** By: Maci
*/

outputdrive = "C://chart//napos//";
saveimage = outputdrive;

var oAB = WScript.CreateObject("Broker.Application");
Ticker = oAB.ActiveDocument.Name;
AB = new ActiveXObject("Broker.Application");
ADS = AB.Documents;

ADS.Item(0).ActiveWindow.SelectedTab = 1; //sheet 4 of tab 1
Win = AB.ActiveWindow;
output=saveimage + Ticker + 01 +".jpg ";
Win.ExportImage( output, 800, 600 );

ADS.Item(0).ActiveWindow.SelectedTab = 2; //sheet 4 of tab 2
Win = AB.ActiveWindow;
output=saveimage + Ticker + 02 +".jpg ";
Win.ExportImage( output, 800, 600 );

ADS.Item(0).ActiveWindow.SelectedTab = 3; //sheet 4 of tab 3
Win = AB.ActiveWindow;
output=saveimage + Ticker + 03 +".jpg ";
Win.ExportImage( output, 800, 600 );

ADS.Item(0).ActiveWindow.SelectedTab = 4; //sheet 4 of tab 4
Win = AB.ActiveWindow;
output=saveimage + Ticker + 04 +".jpg ";
Win.ExportImage( output, 800, 600 );

Törölt felhasználó 2016. 06. 06. 10:31
#934
giordanobruno 2015. 12. 21. 10:17
#933
Tud valaki olyan plugin-t mondani, amilyen a PETI volt, amivel BÉT adatokat lehet online "bekötni" az Amibrokerbe?
NagyBarnaZacsko 2015. 11. 22. 22:11
Törölt hozzászólás
#932
soda 2015. 09. 23. 10:51
#931
Napi Amibroker bejegyzésbe a következő kis skriptet szánom.

Leírás:
Mindig <sokat> gondolkoztam azon, hogy mi a trend.
És erre valószínűleg sokféle közelítés, becslés
módszer létezik
Én viszont most a következőre gondoltam <alább a kód is szerepel>

Nézzük meg azt, hogy melyik irányba (föl/le) történik nagyobb mozgás
Nyilván amelyik irányba az a fő irány, az erősebb irány.

Tehát nézzük meg, hogy a záróár egy adott minimumtól távolodott-e
jobban el, vagy egy adott maximumtól.
Ha az adott minimumtól jobban elrugaszkodott akkor föl, ha a maximumtól
rugaszkodott el jobban lefelé akkor le.

x = Param("hhv llv hossza", 10, 5, 30, 1);

hv = HHV( H, x );
lv = LLV( L, x );

ch = hv - C;
cl = C - lv;

hc = HHV( ch, x );
lc = HHV( cl, x );

Plot( hc, "hc", colorRed );
Plot( lc, "lc", colorGreen );

Tulajdonképpen ennyi, lehet összevetni más módszerekkel,
- mozgóátlag, momentum indikátor, szalag, stb

Amiben ez engem segít:
- néha nem egyszerű eldönteni, hogy merre az arra,
milyen irányba is kéne kereskedni, merre van az előny, stb
erre gondoltam kidolgozni magamnak egy egzakt szabályt

// Magyarázat a hc = HHV( ch, x ) és az lc = HHV( cl, x ) sorhoz

Mindkettő azt nézi, hogy mi az adott szakaszon (x) a maximuma
a (1) záróár és a szakaszon mért maximum és a (2) záróár
és a szakaszon mért minimum különbsége között.

30 hosszú szakaszon így néz ki
link
soda 2015. 09. 13. 11:57
Előzmény: #929  Matsmath
#930
Szia,
Így ebben a formában erre én nem tudok megoldást. Nálam például az adatok ha kötésfile-ból jönnek nem jelentkezik a probléma, amit leírtál.
Ettől függetlenül arra amit leírtál nem tudok
megoldást. Ha egyszer az adatok már bekerültek
egy fajta időformátumban akkor az adatokat lehet
manipulálni ( a 17:00 ás záróár megkaphatja
a 17:30-as záróértéket ) de a tömb megfelelő
elemét (17:30) nem tudod kivenni,
ezáltal megdőlt az elmélet és marad egy
fölösleges gyertyád.

Talán egyszerűbb lenne kétféle formában bevinni
az adatokat egy (úgy ahogy eddig,
és egy 2H-4H formában, ahol a záróárat
manipulálhatod egy külső programban,
és AmiBrokrben is)

Ekkor két OTP ticker name lenne az adatbázisban
egy OTP és egy OTP2H, vagy OTP4H

Ha én csinálnám, valószínűleg ezt a megoldást
választanám.

Ettől függetlenül lehet, hogy van olyan
amibroker függvény ami kivesz adott időhöz
tartozó adatokat, én nem ismerek ilyet
illetve feleslegesen bonyolult ahhoz
képest ha 2 ticker name alatt viszem be
azonos instrumentum különböző idősíkú
adatait

Egyébként az intervallumok (timeframek)
között AmiBrokerben érdemes ennek a függvénynek
a használatát fontolóra venni

// Ha a TimeFrame 2 órás
if( Interval() == 7200 ){ valami; }

// Ha a TimeFrame 1 órás
if( Interval() == 3600 ){ valami; }

Még egy gondolat

TimeFrameCompress();
TimeFrameExpand();
TimeFrameGetPrice()

Függvények segítségével érhetsz el, adott timeframen
kívül eső adatokat, vagy adott indikátor
értékét kiszámolhatod a másik timeframen
és visszatérhetsz vele a adott idősíkra
(pl. 1 órás charton a 4 órás MACD())
Ugyan így másik timeframe nyitó, záró, high, low
értékeit is el tudod érni, lásd TimeFrameGetPrice() help.

De ezek szerintem még mindig bonyolultabb
megoldások, mintha két tickerben tárolnám
ugyan annak az instrumentumnak az különböző
hosszú adatait

Jó kísérletezést

Matsmath
Matsmath 2015. 09. 12. 21:16
Előzmény: #928  soda
#929
Kosz, ezt a Day Session filter dolgot, valamint a Trading hours beallitast probaltam. Ezzel elertem azt, hogy az 1) problemaban leirt gyertyaduplazodas megszunt.

De egyelore nincs elorehaladas abbol a szempontbol, hogy M30-on es H1-en szeretnek kulonallo zarokotest latni, H2 es H4-en viszont azt szeretnem, hogy a zaroar beleolvadjon az utolso gyertyaba. Semmikepp nem szeretnem a zaroarat, mint informaciot elvesziteni (akar ki is torolhetnem oket az adatsorbol, meg AB-be valo betoltes elott).
soda 2015. 09. 12. 20:58
Előzmény: #926  Matsmath
#928
Filtering menupontban ->
End 16:30 (vagy ami az adataid alapján az utolsó még nem zárószakaszos kötés)

Azért írtam mert 2009-ben például a BÉT-en még
16:30 volta a zárás és 16:35 kor jött létre
a napi záróár

Nem emlékszem pontosan mikor volt az átállás
17:00/17:05-re, úgy emlékszem 2012-ben

Ha ez utáni adatokat akarsz bevinni
akkor leírásban a
Filtering menupontban -> Show day session only
Trading hours Day Session (RTH)
Start 9:00
End 17:00

Üdv,
soda 2015. 09. 12. 20:51
Előzmény: #926  Matsmath
#927
Szia,

Próbáld ki a következőt,

1 lépés, ellenőrizd az AdatBázis beállításait

File -> DataBase Settings -> A felugró ablakban Intraday Settings

Filtering menupontban -> Show day session only
Trading hours Day Session (RTH)
Start 9:00
End 16:30 (vagy ami az adataid alapján az utolsó még nem zárószakaszos kötés)

Click -> OK

Click -> OK

Ha még nem importáltad az adatokat akkor tedd meg,
Ha már importálva vannak az adatok, akkor
a View menü -> Filtering menüpontjában
Show Day Session only (RTH)
menüpontot válaszd

Azt hiszem ez segíteni fog. Ezzel még mindig
csak azt érted el, hogy a zárószakaszban létrejött záróár, ne legyen a charton.
Matsmath
Matsmath 2015. 09. 12. 17:22
#926
Elkezdtem intraday datat betoltogetni AmiBrokerbe, de egyelore elakadtam ott, hogy hogy interpretaljam a BET zaroarat.

A baj az, hogy a BET kereskedesi ideje 9:00-17:15, es igy van egy "utolso" kotes, a zaroar, ami elrontja az oras, stb. chartok indikatorait, mert egy nulla testu gyertyat rak be, amit valahogy hozza kellene "noveszteni" a legutolso gyertya testehez. Na, ezt hogy kell csinalni?

Egyelore ket bajom van:
1) Ugy tunik, akarmit is csinalok, M15 charton az elso vagy az utolso gyertya duplazodik. Ez miert van? Nem nagyon hasznalok M15 chartot, de eleg zavaro.
2) Ha nagyobb tf-re kapcsolok, akkor elvben minden jo, M30-on illetve H1-en talan kifejezetten kivanatos, hogy az utolso kotes egyetlen nulla testu, nagy forgalmu gyertya legyen, de H2-H4-en mar tul sok zajt csinal, es elrontja az indikatorokat. Szoval, H2-H4-en mar ossze kene noveszteni az utolso gyertyaval a zaroarat.

Itt egy "jatek" OTP adatsor, kiserletezni (YMD-Time-Open-Close-Low-High, ez a Markersbol jon):

2015-09-11 17:15:00 5420 5420 5420 5420 45688
2015-09-11 17:00:00 5441 5434 5420 5441 6539
2015-09-11 16:45:00 5440 5441 5436 5441 3441
2015-09-11 16:30:00 5437 5440 5437 5442 1709
2015-09-11 16:15:00 5435 5437 5435 5445 572
2015-09-11 16:00:00 5434 5440 5431 5440 2591
2015-09-11 15:45:00 5439 5438 5438 5446 3707
2015-09-11 15:30:00 5443 5440 5440 5443 804
2015-09-11 15:15:00 5446 5445 5445 5446 535
2015-09-11 15:00:00 5450 5443 5431 5450 12070
2015-09-11 14:45:00 5453 5450 5450 5459 6655
2015-09-11 14:30:00 5454 5450 5446 5454 10578
2015-09-11 14:15:00 5450 5455 5450 5455 6436
2015-09-11 14:00:00 5445 5455 5445 5455 14502
2015-09-11 13:45:00 5445 5443 5443 5447 2950
2015-09-11 13:30:00 5449 5448 5444 5452 4874
2015-09-11 13:15:00 5442 5447 5442 5447 9471
2015-09-11 13:00:00 5457 5442 5442 5457 11808
2015-09-11 12:45:00 5468 5455 5455 5468 14639
2015-09-11 12:30:00 5477 5470 5470 5477 4283
2015-09-11 12:15:00 5473 5478 5473 5478 2277
2015-09-11 12:00:00 5469 5473 5469 5480 3510
2015-09-11 11:45:00 5462 5463 5459 5466 5870
2015-09-11 11:30:00 5462 5462 5452 5462 4558
2015-09-11 11:15:00 5456 5453 5441 5464 12470
2015-09-11 11:00:00 5481 5463 5463 5487 18644
2015-09-11 10:45:00 5480 5481 5480 5481 784
2015-09-11 10:30:00 5491 5480 5480 5491 2078
2015-09-11 10:15:00 5488 5490 5488 5494 3335
2015-09-11 10:00:00 5490 5477 5477 5490 1972
2015-09-11 09:45:00 5484 5490 5477 5490 2836
2015-09-11 09:30:00 5477 5477 5472 5477 1984
2015-09-11 09:15:00 5500 5470 5470 5500 7355
soda 2015. 09. 10. 13:12
Előzmény: #924  soda
#925
Bocs, Mivel az egészet a PF forum editorban írtam van benne egy hiba ami miatt nem fog lefutni.

Ha van egy AFL-ed a charton ami így néz ki

hossz = param("hossz", 14, 3, 21, 1);
r = RSI( hossz );
Buy = IIf( r > 50, 1, 0 );

StaticVarSet("r", r);
StaticVarSet("hossz", hossz);
StaticVarSet("Buy", Buy);

és Van egy másik ugyan abban az ablakban
ami így néz ki

RequestTimedRefresh( 1 );

r = StaticVarGet("r");

Buy = StaticVarGet("Buy");
hossz = StaticVarGet("hossz");
plot( r, "rsi" + hossz, colorred );

PlotShapes( Buy * ShapeUpArrow, ColorWhite );

Akkor elég ha az első ablakban változtatsz az adatokon
A második ablak//chart már az első chart adatait kapja meg és használja.

Ennek az az előnye, hogy nem kell kétszer beállítanod az adotkat
És szemmel követheted a változásokat.

Az Equity() függvény ennek a Királya.

Az Equity() ugyanis az kereskedési egyenleget számolj. Valós időben.
Tehát ha bármit változtatsz a beállításokon
azonnal látod, hogyan változott meg az egyenleged.
Ami még fontosabb, a hozamgörbe karakterisztikája.

e = Equity( 1 );

Plot( e, "Equity", colorWhite );

Előtte alaposan tanulmányozd az Equity() függvény leírását =/ help
soda 2015. 09. 10. 13:02
Előzmény: #918  kamaz7
#924
Szia,

Ha jól emlékszem a kérdésed az volt, hogy tudsz átvinni
adatokat az egyik .afl-ből a másikba.

A megoldás a StaticVarSet(), StaticVarGet()
függvény körül van.

Mire használhatod?

Nagyon gyakran használom arra, hogy egy jól,
komplex módon megírt (bármiből) egy egy adatot
átvigyek egy másik chartra.

Ha például van egy kereskedési rendszered,
amiben szerepel egy indikátor, vagy valami
ami a vételi eladási szignálokat generálja
akkor érdemes, érdekes lehet ezt azonnal átvinni
egy másik ablakba.

Két előnyöd van a 'többi' programmal szemben

1 - realtime

- mit jelent ez?
- bármilyen beállítást eszközölsz ha változtatsz,
rajta akkor a változás eredményét azonnal látod

2 - már egyszer leírtam,

- ezt a programot nem kereskedésre találták ki.
Hidd el a legtöbb AmiBroker user nem ezen a programon keresztül kereskedik.
Nem erre való.
Ennek a programnak az igazi erőssége a Backtest.
Bármit leprogramozol. És leellenőrzöd.
Ez a program erre való.

Tehát amit én kihagytam a tematikámból
és méltatlanul alá becsületem az a kockázat
kezelés.

Ezért a következőt ajánlom a figyelmedbe.

Az AmiBroker Help-je egészen jó. Sok példát
találsz benne egy egy függvényre.

Amiben segíteni tudok, hogy megmondom, merre nézelődj.

Ha az AFL Editor-ban beleálsz bármelyik függvéynbe és F1-et nyomsz lejön az adott függvény Help menüje. Magyarázat és példa.

Csak így lehet megtanulni.

Sajnos a függvények többsége olyan, hogy nem egy vagy két de elég sok beállítása van.

Ezeket csak a help menüből tudod meg. Nagyon sok apróbetűs rész van, de ha megérted őket akkor bármilyen, és tényleg bármilyen stratégiát leprogramozhatsz.

Azt ajánlom a következő függvényeket nézd át alaposan.

- Equity();
- ApplyStop();
- StaticVarSet(); StaticVarGet();

- SetOption(); // az egyik legfontosabb
minden beálítást itt tudsz megadni.

Nekem például fix Copy+Paste snipetem van erre.

ie = 100000;
RoundLotSize = 0;
SetOption("InitialEquity", ie);
// SetPositionSize( ie/5, spsValue );
SetPositionSize( 0.5, spsShares );
d = 1;
SetTradeDelays( d,d,d,d );
BuyPrice = SellPrice = ShortPrice = CoverPrice = O;
SetOption("AllowSameBarExit", True);
SetOption("FuturesMode", True);
SetOption("InterestRate", 0);
SetOption("MaxOpenPositions", 1);
SetOption("CommissionMode", 0);
SetOption("CommissionAmount", 0);
SetOption("ReverseSignalForcesExit", False);
SetOption("ActivateStopsImmediately", True);

Sajnos egy rendes rendszertesztnél ez a minimum amit be kell állítani

// Csapdák

Amelyeket elkövettem. Tőke kezelés.
Visszaforgatod, vagy nem.
pl. egy rendszer ami éves szinten 20%-t eredményez de visszaforgatja a nyereséget egy 10 éves teszten verni fogja azt a rendszert, ami éves szinten 30%-ot eredményez de nem forgatja vissza a tőkét.

SetPositionSize(); és SetOption("InitialEquity");

Ha ezekbe beleásod magad megérted, hgoy hasonlíts össze két kereskedési rendszert.
Hogy állítsd be őket úgy, hogy az eredmények összehasonlíthatóak legyenek.

// -----------------------------------------

// És akkor most egy kis amibroker

// 001.afl

hossz = param("hossz", 14, 3, 21, 1);

r = RSI( hossz );

Buy = iif( r > 50 );

StaticVarSet("r", r);

StaticVarSet("hossz", hossz);

StaticVarSet("Buy", Buy);

// Ezt a három változót fogod átadni a kövekező AFL-nek

// 002.afl

r = StaticVarGet("r");

Buy = StaticVarGet("Buy");

hossz = StaticVarGet("hossz");

plot( r, "rsi" + hossz, colorred );

PlotShapes( Buy * ShapeUpArrow, ColorWhite );

soda 2015. 09. 03. 19:53
Előzmény: #922  Matsmath
#923
Szia,

Nem nem vagyok otthon technikai elemzésben,

Napi adatokat a stooq.com weboldalról is letölthetsz. Nem tudom mennyire pontosak.
Irigylésre méltó ha C-ben programozol,
gyakorlatilag nyitva áll előtted a világ;

Matsmath
Matsmath 2015. 09. 03. 11:42
Előzmény: #921  soda
#922
Nagyon elegans.

Az EXCEL csak parasztvakitas (hogy barki meg tudja csinalni maganak), valojaban nekem egy C program csinalja a konverziot, ami sajnos nem is OHLC USD/HUF-ot, hanem csak MNB kozeparfolyamot hasznal. De tegnaptol letolti maganak az EOD adatokat. Jogos a felvetesed, hogy esetleg importalhatnek forex chartokat AmiBrokerbe, es akkor pontosabb kepet kaphatnek, mint MNB kozeppel.

Nem tudom, te TA-val foglalkozol-e, de OTPUSD charton 2015 januarja kornyeken jol latszik egy szep fulescsesze, tole balra egy markans le-hullam, 16USD koruli bazis.

Most pedig, mar negy honapja, w1 EMA(200) korul van bazisepites (22USD nyakvonalu fulescsesze), month1 charton tankonyvi. Ez is inkabb USD charton latszik, a HUFon tul magas a masodik pup.

Szoval, akar meg hasznos is lehet ez valakinek. Koszi.
soda 2015. 09. 03. 11:15
Előzmény: #919  Matsmath
#921
Szia,

Jó leírás

Elolvastam a leírásban hivatkozott korábbi hozzászólást link OTP USD témakörben

Arra gondoltam, ha a két adatsor (usdhuf és otp árfolyam) meg van Amibrokerben akkor kihagyható
a Excel lépés

Nem tudom, hogy pontosan erre gondoltál-e, de
a kapott eredmény valahogy így néz ki
link

b = Foreign( "USDHUF", "C" );

otp = "OTP.HU";
u = SetForeign( otp );

n = 1/b;

H = H * n;
L = L * n;
O = O * n;
C = C * n;

SetBarFillColor( IIf( O > C, colorOrange, colorDarkGrey ) );
Plot( C, "Close", IIf( O > C, colorDarkGrey, colorGrey40 ), styleNoTitle | GetPriceStyle() );

Matsmath
Matsmath 2015. 09. 02. 22:12
Előzmény: #919  Matsmath
#920
Well... Apparently backslashes were lost due to forum-engine. visszaper = backslash

A visszaperjel (altgr+Q) elveszett a forummotor miatt.

Szoval:
PATHOTP.txt - > PATH visszaper OTP.txt
C:ADATOK -> C: visszaper ADATOK
C:ADATOKOTP.txt -> C: visszaper ADATOK visszaper OTP.txt
366 -> visszaper 366
341 -> visszaper 341
C:ADATOKFrissites.js -> C: visszaper ADATOK visszaper Frissites.js

Azert elso kiserletkent nem volt rossz az elozo sem. Hajra.
Matsmath
Matsmath 2015. 09. 02. 22:05
#919
Q: How to import end-of-day (EOD) data into AmiBroker automatically?

A:
0) Start AmiBroker
1) Get an EOD data file, called PATHOTP.txt
2) Create a format-file with Import Wizard, called Portfolio.format, mathching the columns of your source file, OTP.txt
3) Create a 3-line .js file (see far below), and run it (while AmiBroker is running).

===

Ez a bejegyzes leirja, hogy hogyan lehet nap vegi adatokat gombnyomasra betolteni az Amibrokerbe.

Hozzavalok
0) Elinditott (!!!) Amibroker
1) Nap vegi adatokat tartalmazo adatfile. Ilyet pl. a portfolio.hu oldalan link lehet generalni. Legyen az adatfile neve OTP.txt
2) Egy adatformatum-file az Amibrokerhez, ami azt tartalmazza, hogy az OTP.txt fileban milyen oszlopok es milyen sorrendben vannak.
3) Egy futtathato javascript file, amely automatikusan betolti az Amibrokerbe az OTP.txt fileban talalhato adatsort az "OTP" nevu chartba.

Remelem eddig vilagos.

===KIINDULAS===
Hozz letre egy konyvtarat valahol, pl. "C:ADATOK", vagy akarmit. Nevezzuk ezt PATH-nak a tovabbiakban. Inditsd el az Amibrokert.

===ELSO LEPES===
A) "Alap" valtozat
Tolstd le a portfolio.hu oldalarol az OTP historikus adatait, es mentsd el PATHOTP.txt neven (azaz tedd a C:ADATOKOTP.txt helyre).

B) "Turbo" valtozat, programozoknak
Kuldj egy POST requestet a link oldalra, az alabbi urlapmezok elkuldesevel:
"tipus" -> "1", "startdate" -> "1995-12-11", "enddate" -> "2015-09-02", "open" -> "1", "max" -> "1", "min" -> "1", "close" -> "1", "forg" -> "1", "ticker" -> "266:1995-12-11:2015-09-02", "text" -> "sz366vegf341jl"
Ebbol az egyetlen lenyeges informacio, hogy az OTP a portfolio adattaraban 266-os tickerkoddal van tarolva.

Megjegyzes: devizakat a link oldalrol lehet letolteni az alabbi urlapmezok elkuldesevel: "deviza" -> "usd", "startdate" -> "1999-01-04", "enddate" -> "2015-09-02", "text" -> "sz366vegf341jl"

Tovabbi portfolio.hu-s tickerkodokrol (pl. MOL, Richter, stb.) pl. a Wireshark link programmal tajekozodhatsz.

===MASODIK LEPES===
A) "Alap" valtozat
Hozz letre egy adatformatum-filet az Amibrokerhez a File/Import Wizard menupont segitsegevel. Itt valaszd ki azokat az oszlopokat, amelyek az OTP.txt fileban szerepelnek (YMD-Open-High-Low-Close-Vol-Skip), a szeparator legyen "Space" valamint jelold be azt is, hogy az elso 3 sort kihagyod. Ha vegigmentel az ablakokon, akkor az utolsonal jelold be, hogy "Add current settings to ASCII importer definition", a Description legyen "Portfolio.hu format", a File mask legyen "*.txt", a format file pedig legyen "Portfolio.format".
Ez a varazslo letrehozta a "Portfolio.hu" adatformatum-tipust.
Ha ez megvan, akkor ezentul a File/Import ASCII menupont segitsegevel barmilyen .txt kiterjesztesu filet azonnal importalni tudunk. A 3)-as pont ezt a lepest automatizalja.

B) "Kiegeszites"
Az adatformatum-fileokat az Ambiroker a Formats alkonyvtaraban tarolja, es ha minden igaz, akkor igy kell kineznie (ezt nem kell ellenorizned):

----------Portfolio.format file----------
# Format definition file generated automatically
# by AmiBroker's ASCII Import Wizard
$FORMAT Date_YMD, Open, High, Low, Close, Volume, Skip
$SKIPLINES 3
$SEPARATOR
$CONT 1
$GROUP 255
$AUTOADD 1
$DEBUG 1

----------Portfolio.format file vege------

===HARMADIK LEPES===
Hozz letre a PATH konyvtaradba egy Frissites.js nevu filet (azaz a "C:ADATOKFrissites.js" filet hozd letre). Figyelj arra, hogy ez ne egy Frissites.js.txt szovegfile, hanem javascript futtathato file legyen (ha kell, nevezd at, pl parancssorban (start/futtatas/cmd , majd ott "ren Frissites.js.txt Frissites.js"). A javascript fileba kell belerakni a kovetkezo harom sort:

-------------Frissites.js file--------------
var AmiBroker = WScript.CreateObject("Broker.Application");
AmiBroker.Import( 0,"PATHOTP.txt", "Portfolio.format" );
AmiBroker.RefreshAll();
-------------Frissites.js file vege----------

Figyelj arra, hogy fentebb a PATH helyett neked a konkret konyvtaradat kell beirnod, azaz pl. C:ADATOK
Mentsd el a javascript filet. Elvileg ez egy futtathato file. Ha elinditod, akkor az Amibrokerbe az OTP ticker ala betolti az OTP.txt file tartalmat.
Ugy tunik, a javascript file csak akkor mukodik, ha az Amibroker fut a hatterben (lasd 0) pont fentebb), szoval mielott frissitened a chartokat, inditsd el az Amibrokert.

Elvileg csak ennyi.

Mire jo ez az egesz? Ha az 1/B pontot le tudod programozni, akkor -- ha probalgatassal rajossz a tickerkodokra --, egyetlen gombnyomassal letoltheted az OSSZES BET ticker, es deviza nap vegi adatait a portfolio.hu oldalarol. Ha ez megvan, akkor mar nem olyan nehez egyes instrumentumokat mas devizaba atkonvertalni (errol irtam itt: link ). Erdekes lehet OTP-t USD-ban, MTEL-t pedig EUR-ban nezegetni.

Gombnyomasra.

Ambiciom van ezt tovabb fejleszteni oly modon, hogy a bet.hu-rol 15 perccel kesleltetett adatokat automatikusan letoltom, majd az OTP.txt file utolso sorakent berakom.
kamaz7
kamaz7 2015. 09. 02. 13:16
Előzmény: #917  soda
#918
Én ki szoktam próbálni, amiket írsz soda és én nagyon hálás vagyok, hogy tudok tanulni Tőled.
soda 2015. 08. 18. 16:29
Előzmény: #914  Matsmath
#917
Szia

Kicsit zavarban vagyok,
Azt gondolom, hogy mindenki próbálja meg maga kikaparni a gesztenyét még ha tudásról van szó akkor is.

Én legalábbis próbálok társakat keresni egy fejlesztéshez és néha már belefáradok abba, hogy mindenkinek mindent elmagyarázzak

Leginkább annak okán, hogy én is rohadt sokat agyaltam, olvastam kerestem amíg megértettem olyan dolgokat - nem szép dolog, de nekem sem segített senki, és nem szimpatikus amit most mondok de már én sem akarok segíteni senkinek

Szomorú kimondani, de régen is talán csak az motivált, hogy okosnak tűnjek mások szemében,
ezért osztottam az észt

Na mindegy kanyarodjunk egyet

// ---------------------------------------

Matlab, Amibroker, C++

Úgy vettem észre, hogy ez a három felület jön szóba,
viszont mindháromhoz külön ember típus tartozik
Matlab - mérnöki, C/C#/.NET programozó, Amibroker (na ez meg egy katyvasz)

Akiknek a munkáit én madártávlatból láttam, azok közül senki nem dolgozik Amibrokerrel

// ---------------------------------------

Új Amibroker - ja néztem, van benne egy két
olyan dolog amit a régivel is meg lehetett
csinálni, csak komplikáltabb volt

pl. SparseExpand() és SparseCompress() függvények ami hasznos, plusz néztem, hogy
kapott néhány Matix műveletet is
pl. Matrix()
Azt nem tudom, hogy ez egyben azt is jelenti,
hogy kezelni tud majd többdimenziós tömböket,
de az jó lenne adattárolás, meg egy két dolog
szempontjából, úgy látom egyébként most ebbe
az irányba nyitottak egyet

// -----------------------------------------

Na és akkor most egy kis Amibroker

Régen mindig problémát okozott, ha 4-5-6 vagy
sokkal több változót kellett optimalizálnom

Az egyik legnagyobb gond az volt, hogy lefutott
az Optimalizáció akkor ezeket az adatokat
egyenként be kellett írni újra a kódba

Na ennek most vége,
megkerültem

Tessék itt van, szabadon lehet használni,
aki átlátja a logikáját az jár jól vele

parameters = "6,11,11,9";

for( i = 0; ( par = StrExtract( parameters, i ) ) != ""; i++ )
{
VarSet("p"+i, StrToNum( par) );
}

_s1 = Param("s1", p0, 5, 20, 1);
_s1 = Optimize("s1", _s1, 5, 20, 1);
_s2 = Param("s2", p1, 5, 20, 1);
_s2 = Optimize("s2", _s2, 5, 20, 1);

_x1 = Param("x1", p2, 0, 20, 1);
_x1 = Optimize("x1", _x1, 0, 20, 1);
_x2 = Param("x2", p3, 5, 20, 1);
_x2 = Optimize("x2", _x2, 5, 20, 1);

// A lényeg

van egy parameters nevű karaktersorunk vesszővel tagolva
pl ez parameters = "6,11,11,9";

fogunk egy for ciklust végigmegyünk a parameters változó
összes elemén és mindegyiket egy "p"+i nevü változóba
tesszük így

p0 = 6;
p1 = 11;
p2 = 11;
p3 = 9;

a for ciklus pontosan ezt csinálja (ez így négy elemnél nem
izgi, de aki optimalizált már 5-10 változót és szeret
több beállítást is kipróbálni az értékeli fogja)

az

_s1 = Param("s1", p0, 5, 20, 1);
_s1 = Optimize("s1", _s1, 5, 20, 1);

pedig úgy van felépítve, hogy a Param() függvény default értéke kapja meg a p0 változót
az Optimize() függvény meg megkapja a Param() értékét
így optimalizálni is lehet, és lehet használni a Param
beállításokat is

// --------------------------

Akit tényleg érdekel és szeretné megérteni, hogy működik ez
az próbálja ki az alábbi kódot

for( i = 1; i <= 10; i++ ){
VarSet("valtozo"+i, Param("valtozo"+i, i, 0, 100, 1));
}

Na ennyit mára
soda 2015. 08. 18. 15:56
Előzmény: #915  kardkovacsi
#916
Szia,

És te ismersz ilyen embereket? Mármint olyanokat akik befektetési bankoknál dolgoznak ilyen és hasonló algoritmusokon? Esetleg ismersz ilyen algoritmusokat is?
Nem költői volt a kérdés és nem is provokatív.
Tényleg érdekelne, különösen hazai vonatkozásban, külföldiek nem érdekelnek.

Viszont egy dolgot ismeretlenül le vonnék a hozzászólásodból. Ha téved, javíts ki kérlek.

Ezt a fejlesztős dolgot te úgy képzeled el,
hogy a nagybankok emberei már minden lehetőséget kiaknáztak.
Magyarul nem létezik tőzsdei előny, mert
azt már megtalálták és mivel megtalálták
ki/le is halásszák.

Ez - nem szeretném azt állítani, hogy te ezt mondod, de valami ilyesmit olvastam ki abból amit leírtál - szerintem nincs így.

Abban egyetértek veled, hogy versenyre kelni egy ilyen fejlesztői csoporttal nem lehet,
de szerintem nem is kell.

Több okból,

1, a rendszerben bele van 'kódolva' a véletlen (tehát kvázi soha senki nem lesz képes előrejelezni)

2, ezek az árak mindig félreárazásból adódnak
ha lenne egy olyan rendszer ami mindent lehetséges profitot kihalászna a rendszerből,
akkor a rendszer összeomlana, vége lenne

3, talán rossz példa, de ha befektetési bank egy nagytermelő akkor azt jelenti hogy én a balkonomon nem termelhetem meg a paradicsomot egy virágosládában?

Végszó:

Én úgy gondolom, hogy egy elég negatív álláspontot képviselsz.
A legtöbb online kereskedő a vak szerencse szerint 'befektet' és veszít. Én megpróbálok valami statisztikailag megalapozott előnyhöz jutni. Lehet, hogy ez az előny nem létezik,
de megvizsgálom, górcső alá veszem, ízekre szedem szét, és újra összerakom.

---

Nekem ez hobbi, programokat írni jó dolog.
kardkovacsi 2015. 08. 16. 22:30
Előzmény: #906  soda
#915
Ezen mindig meglepődöm, hogy még vannak akik hisznek a csodákban. Most nem lelombozni akarlak hanem időt spórolni.
Egy-egy befektetési banknál több százan dolgoznak ilyen és hasonló algoritmusokon. Fejlesztők tömkelege, stratégákkal összefogva vételen számítási kapacitással (a gépedben nincs annyi vinyó mint amennyi ram van egy-egy griden) . Szerinted van esélyed ellenük? Szerintem nem sok.
Matsmath
Matsmath 2015. 08. 16. 22:08
Előzmény: #910  soda
#914
Koszi ezt a hosszu bejegyzest.

Sajnos nagyon zavaros, es elveszik a lenyeg. Aki a neuralis halorol akar tanulni, az nezzen inkabb ra az altalad javasolt linkekre. Egyelore rovid ismerkedest kovetoen eleg nehezen tudom elkepzelni, hogy ebbol barmi ertelmes kijohet.

Viszont a jo hir, hogy megjelent az uj 6.00.1-es Amibroker, gondolom a Windows 10 miatt kellett par modositas.
Törölt felhasználó 2015. 08. 13. 10:54
Előzmény: #906  soda
#913
Szia,

Bocs hogy megint bele vau-vau....

Sell in may and go away...:

Buy = Month() == 11;
Sell = Month() == 5;

Ehez egyebkent meg amibroker sem kell, egyszeruen csak zarsz minden poziciot majusban es oktober utolso napjan vagy (jelen esetben) november elso napjan bevasarolsz....

6,8-9,2% kozott van a hozam szorasa.....
(persze par eves idotartam alatt eleg komoly szoras lehet...), talalati arany viszont nem rossz, mar akiknek ez a fontos...

Nyilvan a kereskedes soran, fontos bizonyos szintu matematikai ismeret, viszont 1 bizonyos szint felett hatranyba is kerulhetsz...
(nem tudod elmagyarazni statisztikusoknak es kozgazdasagi es matematikai PHD-vel rendelkezoknek, hogy a tozsde tobb mint matek...)

A tozsde 1 nagyon komplex rendszer es matematikai es statisztikai szabalyokra igen gyakran fityet hany, emberi viselkedestan es pszihologia tanulmanyozasaval az ember sokkal tovabb jut mint komplex matematikai formulakkal...

Nem leteznek tokeletes ki es belepesi rendszerek es ugyan igy nem letezik tokeletes pont ahol zarni kell, ez alol nem kivetel a stop sem....( amit viszont felfedezhetsz, hogy melyik strategia az amelyik legjobban a szemelyisegedhez illik, ill. melyik az amelyik legkisebb nyomast gyakorol rad ill. amelyiket a legkonyebb kovetni a szamodra...)

Ha erdekel olvasgasd egy kis statisztikai megkozelites:

Short Term Trading Strategies That Work
(Alvarez, Ceasar; Connors, Larry)

How markets Really Work: Quantitative Guide to Stock Market Behavior

Egyebkent nagyon hasonlo modon kozelited meg a kerdest ill. a problemat mint McDee....

Kepzeld el ha lenne 1 tokeletes rendszer, mar az magaban hordozna a rendszer bukasat...Lasd LTCM tortenete....
vagy egyszeruben Matrix trilogia problemaja

Bizonyos rendszerek egyebkent bizonyos szamlaknal, kereskedoknel nem kereskedhetok, mert sokak szamara nem elerhetok azok a kondiciok amivel a nagyobbacska kereskedok kereskednek...

(erdekesseg keppen megemlitenem, hogy van nehany High-Low kereskedesi rendszer ami stop nelkul mukodik 3-5 napos melypontokkal es csucsokkal...)
3 napos high-low rendszerek (equities)
5 napos high-low rendszer FX es nyersanyagpiacokon
(jo nehany nagyobb befektetesi bank es alapkezelo hasznal ilyeneket lasd EUR/GBP kereskedesi otletem korabban az EUR/USD toppikban) kis tapasztalattal nem is kell ismerni a rendszer pontos parametereit, mert 1 kis tapasztalattal az ember lathatja az ar valtozasbol, esetleg grafikonon, chartokon...

Gondolom lattad a csodalatos elme cimu filmet....:
Most kepzeld el, hogy a legtobb matematikus es statisztikus arra koncentral, hogyan tudna 1-2SD-s elmozdulasokbol minnel nagyobb profitra szert tenni...
(ugye ok egymassal versengve csokkentik az elonyt egymassal szemben....)
az erem masik oldalan pedig ott vannak az olyan statisztikailag megfoghatatlan esemenyek amikor 5,6,7 SD elmozdulasok vannak a piacon egymastol nem tul nagy tavolsagra....
az igazi penz a tale risk es a nem vart esemenyek lekereskedeseben van, mert a tomeg tul fogja reagani a helyzetet es egymassal versengve, egymast taposva es felul ill. alul licitalva olyan szintre tolja az arakat amelyek matematikailag ill. statisztikailag tobb ezer, tizezer, esetleg millio evenkent kovetkezhetnenek be...
(es itt megerkeztunk a Matrix filmbeli jelenetre amikor Morpheus Neo-nak probalja megmutatni az ajtot....)
;)

szerintem ne azzal vesztegesd az idod, hogy jo kereskedesi rendszereket probalsz optimalizalni, hanem hogy kereskedj nehany rendszert ers ismerd meg magad, hogy melyik rendszer fekszik legjobban a szemelyisegedhez....
(velemenyem szerint ez felgyorsitja a tanulasi folyamatot az osvenyen)....

Tovabbi sok sikert!
mikmakk 2015. 08. 13. 09:31
Előzmény: #911  mikmakk
#912
helyesen szinusz... bocsánat
mikmakk 2015. 08. 13. 09:29
Előzmény: #910  soda
#911
Nekem is volna pár kérdésem,ha nem baj!
Miért pont színusz ? Ha nem színusz akkor mi az algoritmus? Milyen tf? Miért pont az árfolyam algoritmusa alapján működne? Miért nem egy vagy több momentum indikátor algoritmusa alapján? Mi van akkor ha az árfolyamgörbe annyira eltorzul akaratlagos, szubjektív okokból, hogy a momentum indikátorok is eltorzulnak tőle és nem látszanak a súlypontok, csak a hullámszám alapján lehet őket esetleg megtalálni?
soda 2015. 08. 12. 21:13
Előzmény: #907  Matsmath
#910
Szia,

Jó a felvetés,

A dolog roppant egyszerű. Nem tudom mennyire vagy otthon AB = AmiBroker-ben, mert a dolog működését el tudom mondani az AB nyelvén, de eltudom mondani sematikusan AB nélkül is

Viszont amit kérdeztél abban van egy csavar - akár tudsz róla akár nem - tudniillik visszakérdeznék, fenti problémát, hogy oldanád meg?

Bonyolult kérdés, de most megkerülöm.

A legegyszerűbb megoldás ha az Equity() az egyenleg értékét akarod maximalizálni.

Ez azt is jelenti, hogy nem akarod megtanultatni vele a szinusz görbét, más szavakkal nem a szinuszgörbe és a becslés közötti eltérés minimalizálása lesz a célfüggvény.

Magyarul nem arra törekszel - bár ezt is lehet - hogy a szinuszgörbéhez legközelebb eső becsléssel rukkoljon elő.

Lefordítom még egyszerűbbre. Ne az árat becsülje, közelítse, tanulja meg.

Tanuljon meg bármit - ami azt jelenti képezzen bármilyen egyenletet és ebben az egyenletben szereplő súlyokat próbálgassa úgy, hogy közben javuljon az célfüggvény, vagyis javuljon a számlaegyenleg.

A szinuszos példára visszatérve.

A legegyszerűbb az lenne, ha tudnánk hogy hol lesz a szinuszgörbénk x lépés múlva, ekkor a kereskedési
szabályunk úgy nézne ki, hogy ha jelenlegi érték nagyobb mint szinusz lesz 1 lépés múlva akkor elad, ha meg a jövőbeli szinusz becslés nagyobb mint a mostani szinusz érték akkor vesz.
Igazából ehhez nem kell neurális háló és elég ha a szinusz görbe 1-el korábbi állapotát nézed.
Ha az kisebb mint a jelenlegi akkor vétel, különben eladás.
Egyébként a neurális háló bemenete ekkor a szinusz görbe egy korábbi (pl egy lépéssel korábbi) állapota lenne az Output amihez igazítja majd a hálót pedig maga a szinusz görbe (ez egyébként a t+1 nap becslése)

De ez az egész nagyban függ a kereskedési szabálytól is már amennyiben az kereskedésed eredményét szeretnéd maximalizálni - mindjárt mondok egy másik példát

De előtte egy másik szinuszos példa.

Tegyük fel magát a formát akarod 'felismertetni', ekkor például értelmes bemenet lehet az idő, ami nem más mint egy vektor, egy számsor [1,2,3....x] hosszan

Amit megpróbálnak minimalizálni ilyenkor az a becslés és a szinusz közötti eltérés.
Értelemszerűen minél kisebb annál jobb.
Mivel a Neurális Hálóban a tanulás úgy zajlik, hogy bizonyos súlyokat (ezek szorzótényezők az egyenletben) egy bizonyos módszerrel véletlenszerűen változtat, de úgy hogy egyre jobb megoldásokat találjon, jó eséllyel megtalálja a súlyoknak azt a kombinációját ami olyan egyenletet eredményez ami úgy néz ki mint egy szinusz görbe - ez most nem biztos, hogy elsőre megérthető, de a lényeg, hogy képzelj el 3 egyenletet aminek az eredményeit bedobod egyenként egy másik egyenletbe ráadásul a folyamat előtt még egy kicsit meg is szorzod őket. Sajnos nem tudom jobban elmagyarázni, ehhez érteni kell a Neurális hálók müködését. Ez link és ez link szerintem egy jó kiinduló oldal.

Egy picit elrugaszkodom,

Mondok egy másik példát,

Van egy mozgóátlagos rendszered,

Ár nagyobb mint 100-as mozgóátlag vesz,
Ár kisebb mint 100-as mozgóátlag elad,

Miért pont 100?

Mi lenne ha azt mondanánk, hogy a Neurális
háló kimenete legyen a mozgóátlag hossza.

Ekkor nincs más hátra, mint tanítómintán kialakítani azokat a súlyokat amelyek a legjobb kereskedési eredményt nyújtják (monjuk a legjobb lesz a megtérülési arány)

Bármi lehet a bemenet, a lényeg, hogy ezekhez
súlytényezőket kezd el keresni a program úgy,
hogy az Equity, az egyenleg a legjobb, vagy
egyre jobb legyen. Ez maga a tanulás.
Amint megvannak a súlyok vége a tanulásnak,
és meg van az az egyenlet aminek a végén
megkapom, hogy milyen hosszúra kell vennem
a mozgóátlagot, hogy a kereskedésem jó legyen.
Mivel a bemeneti változók nem állandók, hanem idővel maguk is változnak, ezért egyértelmű hogy a kapott hosszúság sem lesz időben állandó. Néha rövidebb, néha hosszabb. Hogy mikor hogy? Az egy bonyolult egyenlet alapján van meghatározva amit épp az előbb számoltam, tanult meg a gép. Amint kész van a tanulás, az egyenlet már nem változik.

Röviden így tudnám összefoglalni.

soda 2015. 08. 12. 20:33
Előzmény: #908  Törölt felhasználó
#909
Szia,

Nem, nem ismertem, de úgy látom alaposan elmélyül az AmiBroker-ben

Akinek a munkája múltkor 'megérintett' annak itt van egy két videója, link
Ő úgy látom azon a szinten van AmiBroker-ben ahol én (vagy egy kicsit följebb)
Ebben a videóban - bár ez nincs a leírásban - de az Optimize adatait kiküldi egy OLE objectumon keresztül egy CSV fájlba majd rögtön vissza is olvassa és máris a Charton van.
Elég elegáns megoldás. Gyanítom, hogy még a program készítői (készítője) sem gondolta, hogy ilyen megoldásokat lehet majd csinálni AmiBrokerban

link és link

Egy ilyet összedobni nem egyszerű, biztos nem 1-2 óra AFL van a háta mögött,

---------------------------------------------------

Törölt felhasználó 2015. 08. 12. 19:21
Előzmény: #906  soda
#908
link
ismered?
Matsmath
Matsmath 2015. 08. 12. 19:10
Előzmény: #906  soda
#907
Valami "gagyi", am szemleletes peldat dobhatnal erre a tanulasra. Pl. sinus hullam menten savozik a reszvenypiac, a robotod meg megtanulja, hogy a tetejen elad, az aljan vesz. Ez a "tanulas" hogy nez ki a neuralis halo frameworkben?
soda 2015. 08. 12. 17:50
#906
Hi,

Vegzált napokon vagyunk túl, hőség, volatilitás, meg minden

A napokban, a héten belekezdtem egy Neurális háló fejlesztésébe. Ez pontosan azt jelenti amire a legtöbb ember ilyenkor gondol. Leprogramozni egy többrétegű neurális hálót Amibrokerben.

Fogalmam sem volt hol kezdjek hozzá, de első lépésben megírtam egy transform() függvényt, ami minden bemenő értéket átvisz 0,1 tartományba ( vagy tetszőleges -x, +x-be ), azután megírtam a sigmoid függvényt ( f(x) = 1/(1+e^-x) ) végül írtam egy ciklust ami az architechtúrát építi fel
pl layer( 2, 10, 5 ) azt jelenti, hogy két bemenetet vár, továbbá két rétegű, az első rétegen 10 a másodikon 5 neuron (ezekben alapértelmezetten sigmoid az átviteli függvény (nem hipertangens)

Amire használni szeretném és amiért felhoztam a témát az Amibroker topikon
- stop szintek meghatározása >- hogy néz ez a gyakorlatban ki(?)
Nem egy állandó stop fut az árfolyam alatt/fölött mondjuk 2%-ra az árfolyamtól, hanem 1,2,3,4,5, sok bemeneti változó alapján a program megtanulja, hogy hova kell rakni a stoppot (hogy a végeredmény a legjobb legyen)
A célfüggvény amit optimalizálni próbál lehet a Nettó profit a Sharpe Ratio, a min(DrawDown), az Equity() bétája, bármi

Ami ebben az érdekes -
1, mi(k) legyen(ek) a bemeneti változók? (MA-k, Indikátorok, Volatilitás? Range?)

2, hogy megy (mit jelent a tanítás)
A tanítás itt ebben az esetben semmi mást nem jelent mint megpróbál egy viszonylag bonyolult egyenletbe olyan súlyokat rendelni az egyes változókhoz amelyek a legjobbak a végeredmény szempontjából.

A harmadik érdekessége, hogy meg lehet írni úgy az egyenletet, hogy két olyan tényezőt vegyen figyelembe ami egyébként kölcsönhatásban van egymással.

(??)

( majd egyszer kifejtem, a lényeg, hogy több változót (stop távolság, risk, pozíció mérete) is tanulhat egyszerre , vagy egymás mellett párhuzamosan

// --------------------------------------- //

Amiért felvetettem ezt a témát

1, lehet csatlakozni

mindenki véleményét és minden véleményt szívesen meghallgatok. Ötletek, agymenések jöhetnek

2, én még nem láttam, hogy pure Amibroker kódban megírták volna a MLP (Multi Layer Perceptron)-t, ez elég ok arra, hogy belefogjak(?) bár 2-3 nap után az eredmények bíztatóak

3, gondoltam arra, hogy az Adatokat átadom egy JAVA vagy JavaScript programnak (ezekben már írtak MLP-t) de sajnos a JAVA-hoz nem értek

Szóval mindenkitől várok javaslatokat, még olyanokat is, hogy 'hagyd a francba ezt más programban már megírták'

Végül két link amit felhasználtam amikor elbizonytalanodtam valamiben

link és egy Youtube video Neurális hálókról alapszinten link
Továbbá a Heatonresearch oldalon vannak még érdekességek NN témakörben link
soda 2015. 07. 17. 13:47
Előzmény: #904  Matsmath
#905
Ez sirály és kösz a linket,

nem ismerem, ez a Wolfram = Matlab?

Én statisztikus vagyok és az R-t ismerem,
van plugin hamarosan kipróbálom

Addig marad a kerék újra feltalálása, segít
elmélyedni az AB-ben
Matsmath
Matsmath 2015. 07. 17. 13:38
Előzmény: #903  soda
#904
Jo moka lehet AB-ben programozgatni, de van erre joval szofisztikaltabb program is (felteve, hogy nem idosor-elemzest szeretnel a 3D-s feluleteden).

Ezt ismered: link ?

A kerek ujrafelfedezese helyett en inkabb a gumiabroncsot tokeletesitenem.
soda 2015. 07. 17. 13:28
#903
Sziasztok,

Egy 3D surface ill. egy interaktív 3D scatter plot (XY(Z) plot) megvalósításán dolgozom
Akinek van kedve ötletekkel javaslatokkal ellátni azt szívesen veszem.

Egy 'demo' a 2D plot függvényről (már készen van)
és a 3D space (frame/keret) kidolgozásáról.

Az X,Y,Z tengelyek mellé a változók szórását/eloszlását
ábrázoló histogrammokat gondoltam.

A 2D plotot majd ki lehet egészíteni egy
színkódolással (ez azt jelenti, hogy a pontok
színe egy 3-ik változó értékeit is reprezentálhatja)

ui: Ez az egész semmire nem jó, viszont
nagyon örülök, hogy meg lehet, tudom csinálni
AB.ben

Ha valakinek van ezzel kapcsolatban ötlete,
vagy már megcsinálta, az legyen szíves írjon nekem

link

soda 2015. 07. 11. 21:49
#902
Éppen kellett valamihez egy kör rajzolás,
azután gondoltam csinálok belőle egy ilyet

link

link

[Code] - link
draco 2015. 06. 25. 16:00
Előzmény: #900  zintan
#901
Végigolvastam a linket - sőt, már az elején is ezt néztem -, de ebből nem derül ki, hogy hol és mit kellene állítani ahhoz, hogy részvényeknél ne a Trades hanem a Midpoint adatok jöjjenek le.
Ha tudod, akkor részletezd kérlek, hogy kipróbálhassam.
zintan
zintan 2015. 06. 25. 11:30
Előzmény: #899  draco
#900
draco 2015. 06. 25. 11:22
#899
Csak tegnap töltöttem le az Amibrokert, így még semmit sem tudok róla, de máris - vagy éppen ezért - segítségre van szükségem. Az Interactive Brokers data plug-in-jét sikerült használni, szépen jönnak a backfill adatok. Viszont nekem nem a szokásos, tradelt adatok kellenek,hanem a Midpointok részvényeknél/CFD-knél. Alapból a forex párokra jön be Midpoint adat, tehát valahogy az is lekérdezhető, de nem tudom, hogy lehetne ezt részvénynél beállítani.
Előre is köszönöm a segítséget.
dr.draco
Törölt felhasználó 2015. 06. 24. 17:18
Előzmény: #896  soda
#898
kitartást Neked,
csak optimistán ez a lényeg!!!
pocok60 2015. 06. 24. 13:57
Előzmény: #896  soda
#897
OK.
Majd kereslek.
soda 2015. 06. 24. 12:49
Előzmény: #895  pocok60
#896
Igen az jó lenne ,) ott is minden megváltozott,
sétáló utca lett a kecskeméti utcából

e-mail címem a régi, szívesen találkozom, de azt e-mailben beszéjük meg istvan[kukhac]pintye[pont]com
pocok60 2015. 06. 24. 10:57
Előzmény: #894  soda
#895
Remélem a mostani leleteid jók lesznek,és gyógyultan el is felejted az egészet.
Film ipar?
Jó lenne egyszer össze futni.
Akár az Erzsébet hídnál a kedvenc cukrászdádba.
soda 2015. 06. 24. 10:48
Előzmény: #893  pocok60
#894
Szia,
Visszavonultam a tőzsdétől. Tudod van ez a kis betegségem,
amit nem szeretnék elkiabálni mert már egyre ritkábban de
folyamatosan vizsgálnak. Minden ilyen vizsgálat előtt már hetekkel, hónapokkal
be vagyok szarva, (félek, tudod az eredmények, meg minden)

Aktívan a hazain már alig tőzsdézem, inkább
csak a szemem sarkából, de madártávlatból
figyelem az eseményeket (bux határidő)
Nem keresem minden áron a beszállókat, inkább
1-2 hónapos hosszabb trendeket próbálok meg
elkapni. De a tőzsde érdemi része most a fejlesztésen
van nem a kereskedésen.

Van (úgy tűnik, hogy van) egy két olyan ötlet
amit (ha) sikerül leprogramozni és csokorba
szedni akkor minden jó. Ezen dolgozom,
meglelem a nyugalmam a programozásban.

Amúgy örülök, hogy hallok rólad, de ez a betegség para
tényleg megráncigált. 4, 5 éve megy a cirkusz.
Néha olyan mintha tegnap kezdődött volna.
Na de mindegy ez nem fórum téma.
pocok60 2015. 06. 24. 10:16
Előzmény: #892  soda
#893
Szia.

Nagyon eltűntél.
soda 2015. 06. 23. 21:57
#892

Nem lehet a rendszer fejlesztést
sem mindig komolyan venni

Néha szükség van egy kis kikapcsolódásra

A mai nap

link
link
link
link

-22:44:31

lehet látni ahogy a primitív
formától eljutottam a 'komolyabbakig'

egy hülye ötletből végül ilyen
dolgok születnek, egy kis hülyülés
a scripttel

// az eredeti ötlet egyébként
az utolsó képen látható
- az volt, hogy tele iratom
a képernyőt a pontos idővel
véletlen szerűen

// szabadon terjeszthető
// és használható

link
link

soda 2015. 06. 16. 15:40
#891
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
Title = "";

r = Param("ROC", 1, 1, 30, 1);
s = Param("StDev", 10, 10, 300, 1);

list = CategoryGetSymbols( categoryIndex, 0 );

for( n = 0; ( sym = StrExtract( list, n ) ) != ""; n++ ){

f = SetForeign( sym, True, True );

if( n == 1 ) {

a = C;
ra = ROC( a, r );
sa = StDev( ra, s );

} else {

b = C;
rb = ROC( b, r );
sb = StDev( rb, s );
}

RestorePriceArrays( True );

}


Plot( sa, "", colorOrange );
Plot( sb, "", colorTeal );

_SECTION_END();
Törölt felhasználó 2015. 06. 07. 05:57
Előzmény: #887  Törölt felhasználó
#890
persze hogy rengeteg varazslo van a neten,de szerintem nem szabad osszekeverni oket kereskedokkel, befektetokkel akik a velemenyuket mondjak el....
(es mint tudjuk a velemenyek mint minden hianyos informaciok alapjan kerulnek meghozatalra)
Van amikor igazunk lesz es van amikor nem ez nem lotto, ezert nincs is igazan ertelme a ha-kal jatszani....
persze kellemes idotoltes megosztani a velemenyunket masokkal,de ettol fuggetlenul minden erett felnott embernek, kereskedonek teljes feleloseget kell vallalmia az osszes dontesert ill. kereskedesert.

Egyebkent nem csak a neten hanem szinte mindenhol megtalalhatok a varazslok, 1 egesz iparag epult rajuk es a tobbseg igy vagy ugy ugy is elveszti a penzet....

Mindenki abban hisz amire affinitasa, szinkronitasa van, ez pedig az eddigi elettapasztalatokbol , tudasbol es eddig megszerzett informaciokra alapul...
(nincs abszolut igazsag es abszolut strategia)....

emberek, kereskedok pedig szazezreket,milliokat buknak el mert nem rendelkeznek megfelelo informacioval....

pedig ingyenesen ill. fillerekert meg lehet szerezni az informaciot a netrol ill. konyvekbol....
Nem az a nehez hogy az ember talaljon 1 jo strategiat, hanem hogy kepes legyen azt kovetni mindenaron....
Ha pedig valaki eljut arra a szintre hogy 1 kereskedesi szamlan mindenfele hirtol,velemenytol es barmilyen kulso befolyastol mentesen kepes a strategiajat kovetni, akkor az eremenyek nem fognak el maradni....
(Kerdes ha valaki itt tart, van-e jelentosege hogy masoknak mi a velemenye??? ugye hogy nincs;)...

Mindenesetre sok sikert mindenkinek!
stingy 2015. 06. 07. 02:02
Előzmény: #887  Törölt felhasználó
#889
soda:
szerintem is hagyd a bux hatit (persze azt csinálsz, amit akarsz;))
szvsz annyira illikvid, hogy oda teszik, ahova akarják, így meg elég nehéz elemezni.
nekem pl. 6-700 rv van az adatbázisban, amik kivétel nélkül közepes és nagy kapitalizációjú (+2Mrd$), és forgalmú papírok (min.500.000db/nap), pont a korrekt elemezhetőség miatt. és ezeket is évente 2x felülvizsgálom, h megfelelnek-e a feltételeimnek.
stingy 2015. 06. 07. 01:40
Előzmény: #882  soda
#888
bocs, máris helyesbítenem kell: én - a saját komfortzónámnak megfelelően -teszteltem (tőkeáttétel nélkül, D1 adatokon) de látom, te tőkeáttételt használsz, és H1-et, így nyilván nem hozhatott jó eredményt nekem a teszt.

Kisvuk:"a strategiakat ill. kockazatkezelest azert nem art mindenkinek a szemelyisegehez igazitania ez alatt ertem foleg a DD-t, a hozam kevesebb fejfajast okoz"- ez abszolút így van.
ehhez viszont nagyon jól kell ismerni: saját magunkat.(elméletben sokan elviselik magas hozamért az 50% DD-t, gyakorlatban meg, amíg nem próbálta nem tudhatja:))

"Jo lenne ha ilyen hsz-rol es szakmai dolgokrol cserelnenk velemenyt, szerintem ez visz mindenkit elorebb"- ez is ok, bár azért vagyok szkeptikus, mert a neten elég sok a varázsló.
és itt most nem kifejezetten a pf fórumra gondolok...pl nekem Roubini is az- egyszer kisakkozta a subprime válságot, azóta meg folyamatosan hülyeségeket beszél...és ezzel nincs egyedül (mármint a második résszel:))
akinek nem inge...

Törölt felhasználó 2015. 06. 07. 01:37
Előzmény: #884  Törölt felhasználó
#887
folyt...

Szerintem a BUX-al nincs tul sok ertelme probalkozni, tesztelgetni....
(3-4 ceg ami igazan szamit, a tobbi felejtos kulfoldi befektetok szamara)...

a masik dolog, szerintem a tokeattetellel vigyazz!!!,nem mondom hogy soha ne hasznalj,de hasznald arra amire igazan valo, tobb pozicio ami nincs korrelacioba egymassal, egyebkent csak az eselyeidet csokkented hosszutavon...
ha valaki 1,2-1,6-os tokeattetellel kereskedik akkor mar a hatarokat dontogeti a hagyomanyos kockazatkezeles mellett....
(Buffet korabban nem hasznalt 1,6-szoros tokeattetelnel tobbet, pedig talan van, volt 1 pici tapasztalata)...
extra 20% (1,2-e tokeattetel pedig evek alatt hatalmas elonyhoz juttat)

Nem gyorsan kell vagyont epiteni, hanem (nagyot) hatalmasat....eveken keresztul...

Nezegesd a kitoresi strategiakat, ill. az olyan momentum strategiakat amik az ar rovidtavu 1,3,5 napos elmozdulasara epitenek ill. hogy ezek hogyan tortennek.....

Az igazan nagy penz pedig a tale risk kereskedeseben van mert a piac mindig felre- arazza a kockazatokat...(foleg a szelsoseges ertekeken)
lasd kotvenyek ill. fx piac ahol olyan elmozdulasok vannak amik nehany millio ill. milliard evente szabadna csak hogy megtortenjenek....

Az igazan profik ezt kereskedik, sajnos ilyen lehetosegek ritkan adodnak 2-3 evente egyszer de akkor olyan lehetosegek vannak hogy 150-500/1-es a hozam/kockazat....

Sok sikert!
Törölt felhasználó 2015. 06. 07. 00:39
Előzmény: #885  stingy
#886
Szia Stingy,

Nem veletlenul lett nepszeru az amibroker es szerintem joval tobben hasznaljak mint te vagy en gondoljuk....
en kb.5000-100000 koze tennem azokat akik hasznaljak, a nagyreszuk pedig felprofi, profi kereskedo, befektetesi tanacsado ill. alapkezelo....

amit irtam ill. bemasoltam kodot, az egy vazlat es egyebkent megtalalhato a neten...ingyenesen...
es penzert is lehet venni hasonlokat ill. jobbakat,nekem is van nehany ill. a cegemnek mar akar 50$ korul olyan kodokat amiket 5-10 evvel ezelott JP morgannel ill. Morgan stanley research csapata hasznalt.....

nyilvan egeszen mas indexekre mint rv-re vagy mas penzugyi instumentre....

a strategiakat ill. kockazatkezelest azert nem art mindenkinek a szemelyisegehez igazitania ez alatt ertem foleg a DD-t, a hozam kevesebb fejfajast okoz....

Jo lenne ha ilyen hsz-rol es szakmai dolgokrol cserelnenk velemenyt, szerintem ez visz mindenkit elorebb....

Sok sikert mindenkinek!
stingy 2015. 06. 06. 23:43
Előzmény: #882  soda
#885
el sem hiszem, h valaki használ még Amibrokert rajtam kívül:)

leteszteltem az általad és kisvuk által beírt kódokat.
elnézést, de a Tiédet gyorsan kukáztam, nem volt elég meggyőző a teljesítménye.
(ettől lehet, h jó, csak az általam használt paramétereket nem szereti:))

Vuké viszont elég jónak bizonyult, szvsz hosszú távon a spekulánsok nagy részét simán túlteljesíti ez a faék egyszerűségű kód:)
mondjuk a sharpe ratio lehetne jobb, de így is elég szép pénzt termel.
megnéztem pl. úgy is, h csak az sp500 rv-ek voltak az adatbázisban, és akkor lépek be, ha a spy rsi-je 30 alatt van, vagy a stoch 20 alatt stb..és variáltam a kilépésekkel is (indikátor alapú, fix időtávú, vagy a mai napig pl.)
így javult az eredménye. gondolom ha vki rászán némi időt, több is kihozható belőle.

amiért mégsem cserélem le a sajátomat erre, az az, h kritikus időszakokban az enyém kisebb veszteséget termel, összességében a hozam viszont magasabb. (visszateszteltem azonos belépési időpontokkal az enyémet és vukét, így nyilván a saját fejlesztés jobban teljesített, de ez azért van, mert elég kiforrott belépési szignálokat használok, amit nem lehet egy az egyben ráhúzni egy tök más rendszerre)

azért azt is leírom, amivel jobbnak bizonyult: random belépés esetén hosszú távon jobban teljesít. az enyémnek meg van az a hátulütője, h spec belépési és kiszállási időzítést tartalmaz, b&h-ra teljességgel alkalmatlan.
a lényeg, h ezeket azért írtam le, mert ez a kód gyakorlatilag ajándék, ha van némi tőke, és nem szeretne vki éveket keresgéléssel, teszteléssel eltölteni, de szeretne átlag feletti hozamokat elérni.

(elnézést, h a sajátomat nem teszem fel, de a legjobbat mindenkinek magának kell megtalálnia:))

Törölt felhasználó 2015. 06. 06. 23:17
Előzmény: #882  soda
#884
Szia,

elmeletileg azert lenne a forum, hogy segitsunk egymasnak ill. velemenyt csereljunk....

En is koszonom neked, hogy megosztod munkadat es elkepzeleseidet itt a forumon..., ahogy elnezem joval elottem jarsz az AFL programozasban...
(remelem ez 1 nap meghozza gyumolcset...)

Ugy gondolom talan kicsit elorebb jarhatok kereskedesben..., szemelyes velemenyem az utolso hsz-rol:

tetszik hogy probalod optimalizalni es megnezed milyen lehetosegek adodnak.....
viszont szerintem vigyazz az optimalizalassal!!!!
(foleg rovid tavon elvihet rossz iranyba)

Ajanlom figyelmedbe a Moneyball cimu filmet!!!

A masik amivel vigyazz az a sample size, illetve az ido amin a rendszert vizsgalod, ill. a kereskedesek mennyisege!!!
200 kereskedes alatt nagyon vigyazni kell az eredmenyekkel....(ill. az optimalizalassal)
ugyanez igaz minnel kisebb idosikon nezed annal pontatlanabb adatokkal dolgozol....
(ezert en reszvenyeknel napos ill. hetes ala nem megyek, inkabb az idosikot ill. az adat mennyisegre koncentralok)
ertem ez alatt, hogy jelenleg mar elerheto nagyon pontos adatok 30 evre visszamenoleg is...(aranylag megfelelo osszegekert 50-150$ kozott)
15-30 ev alatt es 500-tol 2000-3000 kereskedesre megvizsgalva 1 strategiat pontosabb kepet kaphat az ember, mind DD szintjen ill. szorasan mind hozam es annak szorasan...
Na a DD ill. a hozam szorasat szerintem nem art megvizsgalni nagyobb adat soron es ott kulonbozo piacokon megvizsgalva az optimalizalas elonyhoz juttathat,de erdemes tobb piacon es tobb termeken megtenni ugyanazt a strategiat.....

Mert neha picit igy vagy ugy, kulonbozo beallitassal mukodik a rendszer eredmenyesen...

folyt kov...
soda 2015. 06. 06. 15:37
Előzmény: #874  Törölt felhasználó
#883
A végén talán még eljutok oda, hogy a jó és a még jobb stratégiák közül kell válogatni.
Sok év után talán elhiszem, hogy van értelme csinálni.
6-7 évem benne van.
Köszönöm amit írtál.
soda 2015. 06. 06. 15:22
Előzmény: #874  Törölt felhasználó
#882
Szia,
Köszönöm mindenkinek aki itt az Amibroker topicban megjelent és értelmes hozzászólásaival mások munkáját
segítí elő, és a tiédhez hasonló hozzászólásokkal, emeli a fórum színvonalát.

Megírtam a programot és az eredmények itt teszem közzé.

FDX.F (stooq) 2014/05/08 - 2015/06/05 1H adatok
PointValue = 10 (1:10 tőkeáttét)
Net Profit% 117.52% (Long=103.72%, Short=13.81%)
Nyerő:Vesztő (55:67)
Max System DrawDown = 21%

BUX1512 (kbc) 2015/01/05 - 2015/06/05 1H adatok
PointValue = 7 (1:7 tőkeáttét)
Net Profit% 38.69% (Long=40.61%, Short=-1.91%)
Nyerő:Vesztő (15:12)
Max SystemDrawDown = 7.34%

Csatolom két képet az Equity Curve-ökröl

link

link

// A kereskedési logika itt a következő volt

// Moving Averages
m1 = Param("Moving Average One", 125, 10, 200, 1);
m1 = Optimize("Moving Average One", m1, 10, 200, 1);

shift = Param("Shift", 20, 1, 50, 1);
shift = Optimize("Shift", shift, 1, 50, 1);

_ma = MA( C, m1 );
_rma = MA( Ref( C, -shift ), m1 );

// Long, Short kritérium
LongFeltetel = _ma > _rma;
ShortFeltetel = _ma < _rma;

// Konkrét LongBuy és ShortSell jelek

Buy = LongFeltetel AND Cross( mcd = MACD(), sng = Signal() );
Sell = Cross( sng, mcd );

Short = ShortFeltetel AND Cross( sng, mcd );
Cover = Cross( mcd, sng );

Sell = ExRem(Sell,Buy);
Cover = ExRem(Cover,Short);

// Kereskedési beállítások

ie = 300000;
SetOption("InitialEquity", ie);
SetOption("FuturesMode", True);
SetOption("MaxOpenPositions", 1);
SetOption("CommissionMode", 3);
SetOption("CommissionAmount", 0);

RoundLotSize = 0;
d = 1;
SetTradeDelays( d,d,d,d );
SetPositionSize( ie/2, spsValue );
BuyPrice = SellPrice = ShortPrice = CoverPrice = O;

// Optimalizált eredmények most nem közlök,
// Köszönöm a bíztatást
// István
soda 2015. 06. 05. 14:35
Előzmény: #880  soda
#881
Bocsánat,
Az előző posztot a macinak szerettem volna írni
arra az esetre, ha a stooq helyett kbc-s kötéslistát
szeretne használni, illetve hathornak arra az
esetre, hogy mit tegyen ha egy két nap kimarad,
vagy egy rövidebb időszakasz kimarad kereskedésből.

Update.: a BUX1512 év elejétől a mai napig tartó
kötéslistája egy pillanat alatt lefutott és
lejött a gépre, 1,34 megabyte adatot kóstál,
35308 kötés van benne

egy MOL prompt kötéslistára bő egy percet kellet várni
ami már közel van a KBC szerveren beállított
időkorláthoz, pedig csak közel kétszer annyi
adatot ( 69360 kötés, 2,48 megabyte ) tartalmaz mint a BUX1512 kötéslista.
soda 2015. 06. 05. 14:10
Előzmény: #875  Hathor
#880
Szia,

Időhiány miatt most nem tudok részletes leírást adni, de ha KBC Equitas előfizetésed van,
akkor a WebBroker Árfolyamok menü Árolyam terminál menüpontjára kattintva egy új
böngészőablak jön elő. Miután kiválasztod,
hogy milyen instrumentumokról kérsz adatokat
(a kevesebb gyorsabb) a lap alján található
Mehet gombra kattintva egy böngésző alapú,
online terminál ablakot kapsz.
A jobb felső sarokban találsz egy Kötéslisták mentése és egy Historikus adatok nevű menüpontot.
A Historikus adatok egy aranyos próbálkozás, de amire neked van szükséged azt a Kötéslisták mentése menüpontra kattintva találod.
A felugró ablaknak csak a felső felében lévő beállításokra lesz szükséged, ha a kötéslistát akarod letölteni.
Az alatta lévő OHLC adatokat ad vissza az általad választott időintervallumban.

Bux1512 esetében a kötéslista a kiválasztott időszakaszra így néz ki.

<TICKER>,<PER>,<DTYYYYMMDD>,<TIME>,<CLOSE>,<VOLUME>
BUX1512,0,20150601,090032,22430.0000,4
BUX1512,0,20150601,090032,22430.0000,9
BUX1512,0,20150601,090623,22460.0000,5
BUX1512,0,20150601,091016,22497.0000,1
BUX1512,0,20150601,091016,22499.0000,2

Erre a formátumra azután Amibrokerben a
file - Import Wizzard, vagy Import ASCII
menupont alatt tudod bevinni a programba.

Arra azért vigyázz, hogy egy éves OTP kötéslista elég nagy lehet, és néha a KBC szerver időtúllépésre hivatkozva megtagadja
az adatokat. Ez a megoldás leginkább arra jó,
hogy egy már jól felépített kötéslistában,
a hiányzó adatokat pótold.
Hathor
Hathor 2015. 06. 05. 13:07
Előzmény: #876  Tazsomaru
#879
Hu! Köszi!
Átnézem majd.
Köszönöm.

Ha nyaralok és kimarad egy egy nap, azt is be tudom utólag rakni valahogy? Azt hiszem erre is van mód
Törölt felhasználó 2015. 06. 05. 09:13
Előzmény: #873  soda
#878
talán nem ismered
link
Törölt felhasználó 2015. 06. 05. 09:13
Előzmény: #876  Tazsomaru
#877
ezzel módszerrel csak az a gond hogy naponta le kell tölteni, mert utólag nem lehetséges
stooq jobb, bár ott meg néha adathiba van
Tazsomaru
Tazsomaru 2015. 06. 05. 09:09
Előzmény: #875  Hathor
#876
Hathor
Hathor 2015. 06. 05. 08:48
Előzmény: #874  Törölt felhasználó
#875
Sziasztok!

Valaki tudna nekem adni egy leírást, hogyan tudok Amibrokert telepíteni, BÉT adatokat feltölteni bele Real Timban KBC Peti betöltéssel, vagy akár investinges töltéssel?
Próbáltam már egyszer letöltöttem a programot, de nem tudtam vele tovább lépni. Van erre valami leírás?

Köszönöm.
Törölt felhasználó 2015. 06. 04. 22:32
Előzmény: #871  soda
#874
Szia Soda,

Olvasgattam nehany hsz-dat....
Minden elismeresem, hogy a programozott ill. mechanikus kereskedsi rendszereket kedveled...
Szeretnem megkoszoni a DAX forumon tett nehany kijelentesedet...talan nehany embert elgondolkodtatott...

olvastam arrol is hogy visszamentel az alapokhoz es lattam a MACD-s megkozelitesedet...

ha mar az alapoknal tartunk mi is az a MACD???

ugye a mozgoatlagok convergencia ill. divergenciajat mutatja (magyarul kulonbozo mozgoatlagok elmozdulasat viszonyitja, hasonlitja ossze)

Szerintem ha piciket meg jobban visszamentel volna az alapokhoz ill. tovabb egyszerusitetted volna ugy konyebb lenne tovabb lepni...(nem bantasbol irom)...

1.Ugye a mozgoatlagbol azt a legegyszerubb megallapitni(legalabbis 1 mozgoatlagbol), hogy az ar a mozgoatlag alatt ill. folott van (most ne foglalkozunk azzal ha pont az atlagon van)....
2. ha trendelo piacon vagyunk akkor ha az atlag felett van ar akkor emelkedo trendben vagyunk ha pedig alatta akkor csokkeno trendben....

Ha peldaul megnezzuk hogy 20,50 nappal ezelott hol volt a mozgoatlag es ahoz viszonyitjuk a mostani mozgoatlagot abbol is megkaphatjuk azt hogy eppen milyen iranyba megy a piac....

Itt lenne egy nagyon egyszeru amibroker kod:

SetOption("MaxOpenPositions", 20);
SetPositionSize(5, spsPercentOfEquity);

MovingAv = MA(C, 125);

MovingAvPrev = Ref(MovingAv, -25);

Buy = MovingAv > MovingAvPrev;
Sell = MovingAv < MovingAvPrev;

Persze nagyobb szamlan ahol az ember valalhat akar 25,40 esetleg 50 poziciot ott joval kisebb DD-t csinal....(nyilvan 25 pozihoz 4-re kell cserelni a toket, ill. 40 pozihoz 2,5-re; 50-re meg 2-re....

Nem 1 tul bonyolult strategia,de mukodott az elmult 30 evben, az S&P500, Nasdaq100, Russell 1000,2000,3000-en is....
hozam 13-25% kozott szorodik, viszont a DD-je 41-65% kozott volt....
;(

Mindenesetre 1 ilyen egyszeru strategiahoz kepest nem rossz teljesitmeny....

Index filterrel pedig lehet finomitgatni...persze vannak ennel sokszor jobb stratik,de ez hasonlit talan a legjobban a te MACD-s stratidhoz...

Nem tudom tudtam-e segiteni,de sok sikert kivanok!!!!

soda 2015. 06. 04. 00:19
Előzmény: #872  Törölt felhasználó
#873
Szia, Köszönöm, Edward mindig jókat ír.
Nagyon érdekes és jó elképzelés ez az illesztés,
csak nehéz rá stratégiát programozni -
technikai szempontból is, ugye a cursor
pozíciójához állítja az 'utolsó' még
ismert értéket, tehát ami mögötte (tőle
balra van az már a múlt, arra nem lehet
pozíciót felvenni.

// Amit rajzol sáv az pedig egy illesztés
// amit a már ismert adatok fényében rajzol
// fel - Ezért is pattan az árfolyam olyan
// szépen a csatorna faláról - de az már a
// múlt

Amit érdemes lehet kipróbálni kereskedési
logikaként,
1, ha eléri az árfolyam a csatorna falát nyitás az ellenkező oldalra
2, ha mégis kimegy az árfolyam a csatornából
akkor viszont nyitás a kitörés irányába

Ha úgy látod, hogy van benne más kereskedési
logika (lehetőség) vagy az eredeti ötletgazda
- El Mostafa Belkhayate - valahol valamit ír
róla, és megosztod velem az megköszönöm.

// Csak zárójelben mondom, hogy egy ilyen kódod - tehát amikor SelectedValue(Barindex()) vagy
LastValue(Barindex()) egy központi elem -
is meg lehet írni úgy, hogy program végig
sétáljon az első Bar-tól az utolsóig,
és a fenti logika alapján generáljon kereskedési
jeleket. Lassú lesz, de egy Backtestet megér
Sajnos ilyenkor szoktak elhullani, elvérezni
eszek a rendszerek, de ez esetben ez sem biztos.

A pudli próbája az evés, tehát amíg nem látni
a Backtest eredményeit addig lehet kecske is
meg káposzta

Ui.: majd foglalkozom vele csak most(anában)
sok a dolgom de engem is érdekel az eredménye
ezért idővel biztosan megnézem.

Üdv,
Törölt felhasználó 2015. 06. 03. 17:23
Előzmény: #871  soda
#872
köszi, megnézzük

cserébe:

// Center of Gravity (COG) indicator, original idea from El Mostafa Belkhayate
// Amibroker AFL code by E.M.Pottasch, 2011
// Based on code by Fred Tonetti, 2006, n-th order Polynomial fit (see Amibroker Lib)
// JohnCW provided Gaussian_Eliminationsv function based on static variables.

//SetBarsRequired(sbrAll,sbrAll);
BI=BarIndex();
PF_EndBar=LastValue(BI);
PF_Y=(H+L)/2;
PF_Order=Param("nth Order",3,1,8,1);
PF_ExtraB=Param("Extrapolate Backwards",0,0,50,1);
PF_ExtraF=Param("Extrapolate Forwards",0,0,50,1);
Lookback=Param("Lookback Period",100,50,500,1);
sv=ParamToggle("Use Selected Value","Off|On",1);
norm=ParamToggle("Error Levels","Fibonacci|Normal",1);

if (sv)
{
PF_EndBar=SelectedValue(bi);
PF_BegBar=PF_EndBar-Lookback;
}
else
{
PF_BegBar=PF_EndBar-Lookback;
}
function D2Set(L_value,i,j,L_name)
{
local L_value,L_name,i,j;
StaticVarSet(L_name + ":" + i + "," + j, L_value);
}
function D2Get(i,j,L_name)
{
local L_name,i,j;
return(Nz(StaticVarGet(L_name + ":" + i + "," + j),0));
}
function Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn)
{
w=0;Coeff=0;
n=GE_Order+1;
for(i=1;i<=n;i++ )
{
for(j=1;j<=n;j++)
{
if (i==1 AND j==1)
D2Set(GE_N,i,j,"b");
else
D2Set(GE_SumXn[i+j-2],i,j,"b");
}
w[i]=GE_SumYXn[i];
}
n1=n-1;
for(i=1;i<=n1;i++)
{
big=abs(D2Get(i,i,"b"));
q=i;
i1=i+1;
for(j=i1;j<=n;j++)
{
ab=abs(D2Get(j,i,"b"));
if(ab>=big)
{
big=ab;
q=j;
}
}
if (big!=0)
{
if (q!=i)
{
for (j=1;j<=n;j++)
{
Temp=D2Get(q,j,"b");
D2Set(D2Get(i,j,"b"),q,j,"b");
D2Set(Temp,i,j,"b");
}
Temp=w[i];
w[i]=w[q];
w[q]=Temp;
}
}
for(j=i1;j<=n;j++)
{
t=D2Get(j,i,"b")/D2Get(i,i,"b");
for(k=i1;k<=n;k++)
{
D2Set(D2Get(j,k,"b")-t*D2Get(i,k,"b"),j,k,"b");
}
w[j]=w[j]-t*w[i];
}
}
if(D2Get(n,n,"b")!=0)
{
Coeff[n]=w[n]/D2Get(n,n,"b");
i=n-1;
while(i>0)
{
SumY=0;
i1=i+1;
for(j=i1;j<=n;j++)
{
SumY=SumY+D2Get(i,j,"b")*Coeff[j];
}
Coeff[i]=(w[i]-SumY)/D2Get(i,i,"b");
i=i-1;
}
}
return Coeff;
}
function PolyFit(GE_Y,GE_BegBar,GE_EndBar,GE_Order,GE_ExtraB,GE_ExtraF)
{
BI=BarIndex();
GE_N=GE_EndBar-GE_BegBar+1;
GE_XBegin=-(GE_N-1)/2;
GE_X=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar)));
GE_X_Max=LastValue(Highest(GE_X));
GE_X=GE_X/GE_X_Max;
X1=GE_X;
GE_Y=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,GE_Y));
GE_SumXn=Cum(0);

GE_SumXn[1]=LastValue(Cum(GE_X));
GE_X2=GE_X*GE_X;GE_SumXn[2]=LastValue(Cum(GE_X2));
GE_X3=GE_X*GE_X2;GE_SumXn[3]=LastValue(Cum(GE_X3));
GE_X4=GE_X*GE_X3;GE_SumXn[4]=LastValue(Cum(GE_X4));
GE_X5=GE_X*GE_X4;GE_SumXn[5]=LastValue(Cum(GE_X5));
GE_X6=GE_X*GE_X5;GE_SumXn[6]=LastValue(Cum(GE_X6));
GE_X7=GE_X*GE_X6;GE_SumXn[7]=LastValue(Cum(GE_X7));
GE_X8=GE_X*GE_X7;GE_SumXn[8]=LastValue(Cum(GE_X8));
GE_X9=GE_X*GE_X8;GE_SumXn[9]=LastValue(Cum(GE_X9));
GE_X10=GE_X*GE_X9;GE_SumXn[10]=LastValue(Cum(GE_X10));
GE_X11=GE_X*GE_X10;GE_SumXn[11]=LastValue(Cum(GE_X11));
GE_X12=GE_X*GE_X11;GE_SumXn[12]=LastValue(Cum(GE_X12));
GE_X13=GE_X*GE_X12;GE_SumXn[13]=LastValue(Cum(GE_X13));
GE_X14=GE_X*GE_X13;GE_SumXn[14]=LastValue(Cum(GE_X14));
GE_X15=GE_X*GE_X14;GE_SumXn[15]=LastValue(Cum(GE_X15));
GE_X16=GE_X*GE_X15;GE_SumXn[16]=LastValue(Cum(GE_X16));

GE_SumYXn=Cum(0);
GE_SumYXn[1]=LastValue(Cum(GE_Y));
GE_YX=GE_Y*GE_X;GE_SumYXn[2]=LastValue(Cum(GE_YX));
GE_YX2=GE_YX*GE_X;GE_SumYXn[3]=LastValue(Cum(GE_YX2));
GE_YX3=GE_YX2*GE_X;GE_SumYXn[4]=LastValue(Cum(GE_YX3));
GE_YX4=GE_YX3*GE_X;GE_SumYXn[5]=LastValue(Cum(GE_YX4));
GE_YX5=GE_YX4*GE_X;GE_SumYXn[6]=LastValue(Cum(GE_YX5));
GE_YX6=GE_YX5*GE_X;GE_SumYXn[7]=LastValue(Cum(GE_YX6));
GE_YX7=GE_YX6*GE_X;GE_SumYXn[8]=LastValue(Cum(GE_YX7));
GE_YX8=GE_YX7*GE_X;GE_SumYXn[9]=LastValue(Cum(GE_YX8));

GE_Coeff=Cum(0);

GE_Coeff=Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn);

for (i = 1; i <= GE_Order + 1; i++) printf(NumToStr(i, 1.0) + " = " + NumToStr(GE_Coeff[i], 1.9) + "n");

GE_X=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar+GE_ExtraF)/GE_X_Max));

GE_X2=GE_X*GE_X;GE_X3=GE_X2*GE_X;GE_X4=GE_X3*GE_X;GE_X5=GE_X4*GE_X;GE_X6=GE_X5*GE_X;
GE_X7=GE_X6*GE_X;GE_X8=GE_X7*GE_X;GE_X9=GE_X8*GE_X;GE_X10=GE_X9*GE_X;GE_X11=GE_X10*GE_X;
GE_X12=GE_X11*GE_X;GE_X13=GE_X12*GE_X;GE_X14=GE_X13*GE_X;GE_X15=GE_X14*GE_X;GE_X16=GE_X15*GE_X;

GE_Yn=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,-1e10,IIf(BI>GE_EndBar,-1e10,GE_Coeff[1]+
GE_Coeff[2]*GE_X+GE_Coeff[3]*GE_X2+GE_Coeff[4]*GE_X3+GE_Coeff[5]*GE_X4+GE_Coeff[6]*GE_X5+
GE_Coeff[7]*GE_X6+GE_Coeff[8]*GE_X7+GE_Coeff[9]*GE_X8));

return GE_Yn;
}

Yn=PolyFit(PF_Y,PF_BegBar,PF_EndBar,PF_Order,PF_ExtraB,PF_ExtraF);

SetChartOptions(0, chartShowDates);
Title = "Symbol: "+ Name()+ "nPoly Order: "+PF_Order;
Plot(C, "Close",colorLightGrey,styleCandle);
Plot(Yn,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,colorBlue)),styleThick,Null,Null,PF_ExtraF);

if(norm)
{
se=StdErr((C-Yn),LookBack);se=se[PF_EndBar];
//se=StDev(C,LookBack);se=se[PF_EndBar];
seh2=Yn+ValueWhen(Yn,se*2);
sel2=Yn-ValueWhen(Yn,se*2);
seh1=Yn+ValueWhen(Yn,se*1);
sel1=Yn-ValueWhen(Yn,se*1);
Plot(seh2,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,PF_ExtraF);
Plot(sel2,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,PF_ExtraF);
Plot(seh1,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,PF_ExtraF);
Plot(sel1,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,PF_ExtraF);
}
else
{
se=StDev(C,LookBack);se=se[PF_EndBar];
r1=(1+5^0.5)/2;
se=se*r1;
seh3=Yn+ValueWhen(Yn,se);
sel3=Yn-ValueWhen(Yn,se);
seh2=Yn+ValueWhen(Yn,se/(1.382));
sel2=Yn-ValueWhen(Yn,se/(1.382));
seh1=Yn+ValueWhen(Yn,se/(1.382*1.618));
sel1=Yn-ValueWhen(Yn,se/(1.382*1.618));

Plot(seh3,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,PF_ExtraF);
Plot(sel3,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,PF_ExtraF);
Plot(seh2,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,PF_ExtraF);
Plot(sel2,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,PF_ExtraF);
Plot(seh1,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(255,200,200))),styleDashed,Null,Null,PF_ExtraF);
Plot(sel1,"",IIf(BI>PF_EndBar-PF_ExtraF,colorWhite,IIf(BI<PF_BegBar-PF_ExtraF,colorWhite,ColorRGB(200,255,200))),styleDashed,Null,Null,PF_ExtraF);
}
soda 2015. 06. 03. 16:14
#871
Sziasztok,

Csak kíváncsiságból írtam egy rövid amibroker scriptet.

A lényege, hogy minden héten előforduló nap (hétfő, kedd, sz.., stb) kombinációját kipróbálja.
Vagyis minden nap felvehet három értéket
Long, Semmi, Short.

A kereskedési szabály úgy néz ki, hogy
nyitó áron nyitja meg a poziciót (Short vagy Long) és záró áron még aznap be is zárja.

Mondok egy példát
Hétfő - ne csinálj semmit
Kedd - Short (záróban Cover)
Szerda - ne csinálj semmit
Csütörtök - ne csinálj semmit
Péntek - Long (záróban Sell)

Természetesen más kombinációk is előfordulhatnak pl.
A minden nap (h,k,sz,cs,p) vegyél, vagy
minden nap short, vagy h kivételével minden
nap long, stb.

Az Optimalizáció funkcióval az összes lehetőséget
végig lehet próbálni (1 gombnyomással) Az
eredményeket egy táblázatban visszadja.
Megmutatja, hogy adott eszközön melyik
kombináció lett volna a Nettó hozam szempontjából
a leghasznosabb, de más mutató számokat is
figyelembe lehet venni.

Ami külön érdekesség és engem ez érdekelt,
hogyan alakulna az úgynevezett EquityCurve-ok,
Vagyis a felhasználó által kezelt pénz, tőke
mennyisége. Egy ilyen grafikon sok mindent elárul.
Mennyire konzisztens például az adott stratégia, de ami engem különösen érdekel,
hogy milyen mintázatok vannak a kereskedésben.

Mondjuk (?) a kedd vétel szinte minden esetben
jó, a péntek short szintén.

És ami még fontosabb, hogy egyes kereskedési
mintázatok (h(buy or short), kedd(buy or short), szerda(buy or short), stb.), hogyan
teljesítenek az elmúld időszakokban.

Ugyan is ezek az eredmények jelzés értékűek
arra nézve, hogy a piac (az instrumentum)
milyen szakaszban van, mi a tendenciája,
mi dominálja (a vételek? az eladások?)
a hét elején érdemesebb-e longokat nyitogatni
vagy inkább a hét második felében esetleg
csak pénteken, stb

Itt a kód mindenki használja bátran

Aki most ismerkedik az amibrokerrel annak is
ajánlom figyelmébe bár lehet hogy elsőre
teljesen érthetetlen mit is csinál a program
és hogyan kell a grafikonokat és az eredményeket visszanyerni belőle

// ---------------------------------------------

Plot( C, "", colorWhite, GetPriceStyle() );

SetBarsRequired( -2,-2 );

ie = 300000;

SetOption("InitialEquity", ie);
SetOption("AllowSameBarExit", True);
RoundLotSize = 0;
SetTradeDelays(0,0,0,0);
SetPositionSize( ie/2, spsValue );

BuyPrice = ShortPrice = Open;
SellPrice = CoverPrice = Close;

d = DayOfWeek();

Plot( d, "d", colorWhite, styleOwnScale );

d1 = Param("Hétfő vesz, Null, Or elad", 1, 1, 3, 1);
d1 = Optimize("Hétfő vesz, Null, Or elad", d1, 1, 3, 1);
d2 = Param("Kedd vesz, Null, Or elad", 1, 1, 3, 1);
d2 = Optimize("Kedd vesz, Null, Or elad", d2, 1, 3, 1);
d3 = Param("Szerda vesz, Null, Or elad", 1, 1, 3, 1);
d3 = Optimize("Szerda vesz, Null, Or elad", d3, 1, 3, 1);
d4 = Param("Csütörtök vesz, Null, Or elad", 1, 1, 3, 1);
d4 = Optimize("Csütörtök vesz, Null, Or elad", d4, 1, 3, 1);
d5 = Param("Péntek vesz, Null, Or elad", 1, 1, 3, 1);
d5 = Optimize("Péntek vesz, Null, Or elad", d5, 1, 3, 1);

Buy = Sell = Short = Cover = 0;

Buy = IIf( d == 1 AND d1 == 1, 1, Buy );
Buy = IIf( d == 2 AND d2 == 1, 1, Buy );
Buy = IIf( d == 3 AND d3 == 1, 1, Buy );
Buy = IIf( d == 4 AND d4 == 1, 1, Buy );
Buy = IIf( d == 5 AND d5 == 1, 1, Buy );
Sell = Buy;

Short = IIf( d == 1 AND d1 == 3, 1, Sell );
Short = IIf( d == 2 AND d2 == 3, 1, Sell );
Short = IIf( d == 3 AND d3 == 3, 1, Sell );
Short = IIf( d == 3 AND d4 == 3, 1, Sell );
Short = IIf( d == 3 AND d5 == 3, 1, Sell );
Cover = Short;

PlotShapes( Buy * shapeUpArrow, colorWhite );
PlotShapes( Short * shapeDownArrow, colorWhite );

// ---------------------------------------------
Törölt felhasználó 2014. 09. 25. 17:36
Előzmény: #869  DeeNeS
#870
igen ez jó oldal
de a stooq sokszor rossz, hibás adatokat is közöl
de többnyire használható

csak magyar részvényekre jó még a portfolio adatletöltése is
napos van csak

DeeNeS 2014. 09. 25. 17:26
Előzmény: #868  kamaz7
#869
Szia, próbáld meg itt link
kamaz7
kamaz7 2014. 09. 25. 17:00
#868
Sziasztok

Hol tudnék letölteni historikus intraday adatokat DAX részvényekhez?

AmiBroker-be nyomatnám be...
Törölt felhasználó 2014. 07. 22. 19:33
Előzmény: #865  Törölt felhasználó
#867
megjelent az amibroker 5.80
link
-bubu-
-bubu- 2014. 06. 10. 08:45
Előzmény: #865  Törölt felhasználó
#866
végülis elég lenne csak a megszokás :)
Törölt felhasználó 2014. 06. 10. 08:38
Előzmény: #864  -bubu-
#865
sorry!
akkor gap lesz a charton nálatok ))))
én napos adatokat használok, azok meg mindig letölthetőek
a bétre nem elég a napos?
re xetra forgalom )))))))))

-bubu-
-bubu- 2014. 06. 10. 08:33
Előzmény: #863  Törölt felhasználó
#864
nem mentette le Ő se , sajnos pénteken elfelejtettem szólni neki :)

ma meg már nem volt meg reggel a petiben

hátha valakinek megvan még és itt jelezné
Törölt felhasználó 2014. 06. 10. 08:31
Előzmény: #862  -bubu-
#863
gyferenc? )))
-bubu-
-bubu- 2014. 06. 10. 08:24
Előzmény: #860  Törölt felhasználó
#862
jó reggelt

keresek pénteki txt-adatokat a petiből ha valakinek megvan

köszi előre is
Törölt felhasználó 2014. 05. 25. 18:12
Előzmény: #846  kamaz7
#861
Szerintem minden kereskedonek kellene aki komolyan gondolja...

Amikor en eloszor elkezdtem hasznalni volt nehany problemam vele.....,de lassuk be a hiba nem az on keszulekeben van, hanem ahogy hasznalja.....

Szoval nem art megtanulni hasznalni, ahhoz pedig nem kell tul sok ido.....

Nyilvan ha nem kepes az ember megszerezni a szukseges adatokat akkor nem tud csodat tenni....,de ez sem a software hibaja.....

Szoval ertekelesem: kituno szoftware, rendkivul megfizetheto aron.....

Topik gazda

aktív fórumozók


friss hírek További hírek

  • BÉT
  • Indexek
  • Deviza
  • Befalap
      • Forgalom
      • Nyertesek
      • Vesztesek