Tőzsde Fórum  

Vissza   Tőzsde Fórum > Haladó szekció > Automata kereskedés


Válaszol
 
LinkBack Téma eszközök Megjelenítési módok
Régi 2014-03-04, 11:36   #1 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás Általánosságok

Arra gondoltam, hogy mi lenne ha nyitnék egy olyan topicot, ami az automata kereskedés általános témaköreit próbálná kapirgálni.
Tehát nem platform specifikus,
nem módszer népszerűsítő,
nem "igazunkat bizonygató",
és főként nem egy termék vagy szolgáltatás reklámja.
(pénzt kérni amatőr kereskedőktől ilyen jellegű termékekért sztem nem a leg etikusabb egyébként sem - tisztelet a kivételnek)

ilyesmikre gondolok:
  • Adatok, információk elérése, kezelése
  • tervezés
  • kódolás
  • optimalizálás (algoritmusok, paramétermezők, paraméter mennyiségek)
  • tesztelés ( oos - adat arány, walk forward - backward, stb...)
  • eredmények mérése, statisztikák
  • a gép ember aránya (pl.: mennyire kell belenyúlni a működésbe, kapcsolgatás)
  • jövőbeni hozamokkal kapcsolatos elméletek, mutatószámok
  • bot-portfólió kezelés
  • csapatmunka az építésben

sok témakörrel találkoztam már, személy szerint örülnék egy ilyen beszélgetésnek.

vélemény?

esetleg egyéb javaslatok témakörre?
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-03-04, 19:12   #2 (permalink)
Tag
 
Csatlakozott: 11-08-23
Hely: Budapest
Összes hozzászólás: 84
Hírnév szint: 7
tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.
Alapbeállítás

Nekem tetszik a topic, remélem, hogy lesznek hasznos hozzászólások.

Lehetnének még a következő témák:
-matematikai eszközök használata robotépítés során
-pozíció menedzselés eszközei
-tapasztalatok gazdasági adatokkal, makró mutatókkal
-mesterséges intelligencia
Ehhez egy link.
-adatbányászat

Nekem az a tapasztalatom, hogy gyakran jó egy robot backtest-en (még OOS-en (Out of sample) is), majd mikor kikerül a demószámlára (esetleg éles számlára), akkor bukni kezd. Tehát valamiféle mutatót kell megalkotni, ami előre jelzi, hogy hogyan fog hozni egy robot. Erre van valakinek ötlete?

Statisztikánál én a következőket szeretem elsősorban figyelembe venni:
-profit factor
-relatív drawdown (éves profithoz képest)
-kötésszám
-balance görbe formája

Kérdésem: Van-e valakinek elképzelése arról, hogy hogyan lehet mérni, hogy merre "torzul" a piac?
tozsdeelemzes.hu nem elérhető   Válaszol idézettel
Hirdetések
Régi 2014-03-04, 23:23   #3 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
Sapka eredeti hozzászólása Hozzászólás megtekintése
[...]
Lehetnének még a következő témák:

-mesterséges intelligencia
Ehhez egy link.
[...]
Sziasztok!

Sapka, köszi ezt a linket! Pár évvel ezelőtt dolgoztunk együtt Benjaminnal, igazán szimpatikus srác volt, öröm látni, hogy ilyen írásai kerülnek elő itt a fórumon!

Ttorhcs, tetszik ez a kezdeményezésed, kíváncsian várom a hozzászólásokat!
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-03-05, 19:31   #4 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás

hajaj...lehet hogy nagy témakört öntöttem ide?
ok.

akkor egy konkrét kérdés:
kinek mennyi botja marad életben azok közül (persze általában) , amik átmentek a walk-forwardon?
Sztem ez kapcsolódik Sapka kérdéséhez is nem? (piac torzulás)

persze csak ha nem vagyok túl indiszkrét
(bár engem eléggé zavar, hogy soha senki nem vallja be a sikereit...ez vmi magyar virtus lehet? )

nálam(nálunk) ez kb: 10/4
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-03-08, 10:51   #5 (permalink)
Tag
 
Csatlakozott: 11-08-23
Hely: Budapest
Összes hozzászólás: 84
Hírnév szint: 7
tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.
Alapbeállítás

Idézet:
TozsdeProgram.hu eredeti hozzászólása Hozzászólás megtekintése
Sziasztok!

Sapka, köszi ezt a linket! Pár évvel ezelőtt dolgoztunk együtt Benjaminnal, igazán szimpatikus srác volt, öröm látni, hogy ilyen írásai kerülnek elő itt a fórumon!

Ttorhcs, tetszik ez a kezdeményezésed, kíváncsian várom a hozzászólásokat!
TozsdeProgram.hu, ti mettől meddig tesztelitek vissza a robotjaitokat? Hogy működik ez nálatok?
tozsdeelemzes.hu nem elérhető   Válaszol idézettel
Régi 2014-03-09, 21:18   #6 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
Sapka eredeti hozzászólása Hozzászólás megtekintése
TozsdeProgram.hu, ti mettől meddig tesztelitek vissza a robotjaitokat? Hogy működik ez nálatok?
Mi 6 évre visszamenőleg teszteljük a robotjainkat tick adatokon. Mi nem használunk walk-forwardot, a változókon egyáltalán nem állítunk a 6 éves visszateszt során. Amit beállítunk a legelején, azzal fut végig a program. Viszont egy algoritmus segítségével automatikusan adaptívan alkalmazkodik a programunk a piac mozgásához. Ennek segítségével tudjuk elérni azt, hogy hat éves visszateszten is folyamatosan automatikusan alkaplmazkodik a programunk a változó piaci mozgáshoz és nyereséget produkál, illetve már lassan egy éve éles számlán is bizonyít.

Itt egy videónk egy két éves visszatesztünk készítéséről:
https://www.youtube.com/watch?v=FcAENw5nX38

Visszateszt eredményeinket 6 évre meg itt tudjátok megnézni:
http://www.myfxbook.com/members/Everex

Ti hogyan szoktátok visszatesztelni a robotjaitokat?
Szerintetek mennyi időre visszamenőleg kell, hogy jó eredményt adjon egy robot backtestben, hogy éles számlán pénzt merjetek bízni rá?
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-03-10, 12:15   #7 (permalink)
Új tag
 
Csatlakozott: 13-11-16
Összes hozzászólás: 2
Hírnév szint: 0
BeZol a hírnévhez vezető út elején jár.
Alapbeállítás

Én egész nap futtatom a metatradert, és az így összegyűlt adatok alapján tesztelek tick-re pontosan. Sajnos ennek ellenére is köszönő viszonyban sincsen az demo/éles számla eredménye a tick-teszt eredményével.
Részben hasonló elven működik az én robotom is, de múlt hétre elvileg 3000$-ból most 3250-en kéne lennie a demo számlának, ehelyett 2500$-on áll.
Szerintem felháborító, hogy fut a metatrader + a robot is, és ugye menti le a gyertyaadatokat a rendszer közben, és nem egyezik a teszt a valósággal, ez szerintem gusztustalan, ennyi erővel kár lementenie bármi adatot is
Hiába tesztelem ki a robotot, és jön ki 1 évre 40-120-szoros profit 10%-os max. lehívással, ha kb. pont az ellenkezője történik a valóságban.
Ennek persze több oka is van, pl. most naplózom a spread-et, és mikor nagy mozgás van, akkor a normális 2xerese is lesz, de úgy átlag 1,5xeres folyamatosan, ami persze még ugrál is össze-vissza, amellett hogy még az árfolyam is ugrál össze-vissza, így ezek a 2 pip-es csúszóstoppok 5ből 4szer ideje korán elhalasztják a kötéseket. Emiatt nem nyerek annyit amennyit kéne, de leginkább már minuszban vége a történetnek.
De ez még nem elég, ott van az is, hogy hirtelen akkora mozgás van, hogy VPS és előre beadott order ide vagy oda, igenis van, hogy 0,7 pip-nyit is csúszik a pozíció nyitáskor is, és záráskor is! Tehát az átlag 3-4 pipet nyerő robotom már csak 1,6-2,3 pip-et tudna nyerni, ha nem stoppolódna ki idejekorán a csúszóstop miatt. Ha viszont nagyobb trailinget rakok be, akkor pedig az a baj, hogy a kívánt elmozdulás elmaradása esetén nagyobb veszteséget szenvedek el.
Most beállítottam, hogy x méretűnél nagyobb spread esetén ignorálja a mozgásokat, de ez inkább visszafele sült el a legtöbb esetben. Belépés és kilépésnél meg vagy épp normális spreadet kapok, vagy a normális 2xeresét, amellett hogy a nagy és hirtelen mozgás miatt még csúszás is lehet/lesz benne
Ha belépéskor csúszás van, már nem is stimmel a kezdeti csúszóstoppom a tesztével, ezért azt is korrigáltam már, ez azért segített.
Tehát számomra a legnagyobb probléma most a pozíció megtartása és végül profitban zárása úgy, hogy ez ne menjen a nyereségesség rovására. Ihletnek jó volt a videótok, lehet én is megcsinálom többlépcsős stophúzásosra, majd ha már elég nagy az elmozdulás, akkor aktiváltatom a szűk trailinget, de erre most megint gyűjteni kell, hogy leprogramozzák.
A mostani éles brókerem sem alkalmasa a spreadjei miatt erre a skalpolós témára, ezért brókert is kéne váltani, amúgy sem elég az 1:50 tőkeáttét, simán bír a rendszer 1:200-at vagy nagyobbat is.

A robot backtest-es kérdésre válaszolva, szerintem nem az év számít, hanem a kötések száma legyen legalább min. 300-500+. Volt napi kereskedős robotom, 3 évre 180 kötéssel, az semmire sem elég
Az adatok minősége sem mindegy, de hogy most honnan érdemes tick adatot szerezni és azt pontosan hogyan konvertálgassam és állítsam be, hogy a backtest a valóságot tükrözze, azt passzolom, de azt bizton állíthatom, hogy a metatrader amit lement múltbeli adatokat, nem tükrözi a valóságot a tickre futtatás ellenére sem
BeZol nem elérhető   Válaszol idézettel
Régi 2014-03-10, 17:52   #8 (permalink)
Tag
 
Csatlakozott: 11-08-23
Hely: Budapest
Összes hozzászólás: 84
Hírnév szint: 7
tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.tozsdeelemzes.hu már tett lépéseket hírnevének öregbítése felé.
Alapbeállítás

Idézet:
TozsdeProgram.hu eredeti hozzászólása Hozzászólás megtekintése
Ti hogyan szoktátok visszatesztelni a robotjaitokat?
Szerintetek mennyi időre visszamenőleg kell, hogy jó eredményt adjon egy robot backtestben, hogy éles számlán pénzt merjetek bízni rá?
Nekünk van egy olyan stratégia építő programunk, melyben "online" tudjuk állítani a robot paramétereit. Ez az "online" kifejezés azt jelenti ebben az esetben, hogy ahogyan változtatunk egy paramétert, abban a pillanatban látjuk az eredményét is, hogy mit hozott volna az utóbbi 6-10 évben a módosított robot. Tehát meglehetősen könnyű így az optimalizálás és robot építés. Ahogyan említettem is, 6-10 évre visszamenő tesztadatokkal dolgozunk Dukascopy-s tick adatokon. BeZol, ezt nektek is ajánlom, ennél jobb minőségű adatokat ingyen nem nagyon lehet találni. Dukascopy-nál van mindannyiunknak számlája, tehát így nem nagyon érhet meglepetés. 1-2 (néha 4-5) évet szoktunk hagyni, amire nem fejlesztünk. Ez a megerősítés végett kell, hogy nem fejlesztett időszakban is jól hoz-e a robot. MT4-et egyébként nem használunk.

Általában 200-800 közötti pozíciót kötnek a robotjaink évente backteszten. Egyébként mi sem állítunk a paramétereken a tesztidőszak során, bár tervben van ez is, az infrastruktúra most épül hozzá (eddig is lehetséges volt alapszinten, de nem használtuk). Ezért is érdekelne az emberek véleménye arról, hogy hogyan lehet a piac "torzulását" mérni. Nekem van erről egy elképzelésem, de ez még nem kiforrott.

Említetted, hogy nem használtok indikátorokat, csak az árfolyammal dolgoztok. Ez azt jelenti, hogy csak a gyertyákkal? Milyen idősíkon dolgoztok egyébként?

BeZol:
Mt4-es tick adatokat felejtsd el. 1 évre nem elég visszatesztelni, hiszen 1 éves tesztidőszak alatt nem tudod a robotodat minden piaci körülményre felkészíteni. Egyébként sem, de ez már más kérdés. Na és persze a 180 kötés is túl kevésnek tűnik.
tozsdeelemzes.hu nem elérhető   Válaszol idézettel
Régi 2014-03-11, 08:02   #9 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
Viszont egy algoritmus segítségével automatikusan adaptívan alkalmazkodik a programunk a piac mozgásához.
na pont ez volt a kérdés Sapka részéről...de gondolom ez viszont üzleti titok igaze

mi az a metódus, sorrendiség ami a piac mozgását, a változást illetve a változás-változását képes valamilyen szinten felismerni, lekövetni.
(illetve kinek milyen elképzelései, elméletei, megvalósításai vannak ezzel kapcsolatban)

nekem a megfigyeléseim:

elméletileg minden nap százával kerülnek ki az éles piacra új algoritmusok, amik az eddigi adatokon vannak optimalizálva kihegyezve, találnak valami jelet a "zajban" és mivel elkezdik lekereskedni ezeket a jeleket is, természetesen máris szűkül az az adott jel-zaj viszony...

gondolom nincs új a nap alatt az árfolyam mintázatok esetében sem, de ezek sorrendiségének éles változása komolyan "betehet" az algoritmusunknak is

ami viszont számszerűsíthető:
idő alapú gyertyáknál: 60 000 gyertya alapján 3 gyertyás mintázatokat figyelembe véve (és normalizálva!) kb 40 000 különböző mintázat alakult ki

ugyanez range-bar esetében kb 8000!

BeZol: ahogy olvastam a hozzászólásodat az volt a benyomásom, hogy túl van hegyezve a rendszered - könnyen "kicsorbul" - ha az alap logika engedi hogy kicsit tágítsunk a holtjátékon, én ebbe az irányba mennék valószínüleg.
Nemtudom lehetséges-e mt4-ben, de én kicsit megtekergetném a botot valahogy torzított adatokkal...500 - 1000 ilyen iteráció után ez egy tölcsért fog formázni ha grafikonba teszed, és ott már szépen kibuggyanhatnak a csontvázak a szekrényből..

Nem tudom ki hogy van vele, de én elég rossz véleménnyel vagyok az egész mt4 platformról.
kezdve a fejlesztőkörnyezettel: (debug?, code assist?, onBar? csak interpoláció?!)
Azt olvastam valahol hogy ez a 4-es platform 2001-ben (wtf?) lett kifejlesztve market-maker brókerek számára. azóta meg csak foltozgatva van...egyáltalán mi van az ötössel? (remélem nem tévedtem nagyot az adatokkal)

értem én, hogy populáris...de győzike is az
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-03-12, 00:04   #10 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
BeZol eredeti hozzászólása Hozzászólás megtekintése
Tehát számomra a legnagyobb probléma most a pozíció megtartása és végül profitban zárása úgy, hogy ez ne menjen a nyereségesség rovására. Ihletnek jó volt a videótok, lehet én is megcsinálom többlépcsős stophúzásosra, majd ha már elég nagy az elmozdulás, akkor aktiváltatom a szűk trailinget, de erre most megint gyűjteni kell, hogy leprogramozzák.

Az adatok minősége sem mindegy, de hogy most honnan érdemes tick adatot szerezni és azt pontosan hogyan konvertálgassam és állítsam be, hogy a backtest a valóságot tükrözze, azt passzolom, de azt bizton állíthatom, hogy a metatrader amit lement múltbeli adatokat, nem tükrözi a valóságot a tickre futtatás ellenére sem
BeZol: Egyáltalán nem egy egyszerű többlépcsős stopot alkalmazunk. Ettől sokkal komolyabb módszerrel kezeljük a kötéseket.

Tick adatokat lehet szerezni Dukascopytól, Lmax Exchangetől, TrueFxtől, azok jó minőségűek, eléggé valósághű eredményeket lehet kapni velük.


Idézet:
Sapka eredeti hozzászólása Hozzászólás megtekintése
Említetted, hogy nem használtok indikátorokat, csak az árfolyammal dolgoztok. Ez azt jelenti, hogy csak a gyertyákkal? Milyen idősíkon dolgoztok egyébként?
Sapka: Ti milyen platformot használtok?
Igen, mi a pozíció managelése során egyáltalán nem használunk indikátorokat, illetve gyertyaalakzatokat, gyertya értékeket sem. Mi csak és kizárólag az árfolyam mozgását figyeljük és a árfolyam mozgása alapján hozunk döntéseket, kezeljük a pozíciót.

Idézet:
ttorhcs eredeti hozzászólása Hozzászólás megtekintése
na pont ez volt a kérdés Sapka részéről...de gondolom ez viszont üzleti titok igaze
ttorhcs: Igen, ezt az adaptív technikánkat "üzleti titokként" kezeljük. Ti milyen platformon dolgoztok?
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-03-12, 08:56   #11 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
Ti milyen platformon dolgoztok?
.Net alapú, open source+saját fejlesztés, a bróker pedig Dukascopy.
Persze idővel majd körül kell nézni valami szélesebb terméksála felé (cfd legalább pl.) de egyenlőre ez is éppen elég...

de ami esetleg engem érdekelne, hogy nálatok hogyan folyik a fejlesztés, milyen ciklusokban , a csapat együttműködési felületei stb...ha szabad ilyet mondanod...

pl. egy kutatásnál hol érdemes megszabni a korlátokat, hogy meddig érdemes elengedni a "gyeplőt" és mi az a pont amikor már azt mondjátok, hogy na ennyi itt most elég, majd folytatjuk a következő menetben....stb..
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-03-13, 18:20   #12 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
ttorhcs eredeti hozzászólása Hozzászólás megtekintése
.Net alapú, open source+saját fejlesztés, a bróker pedig Dukascopy.
Persze idővel majd körül kell nézni valami szélesebb terméksála felé (cfd legalább pl.) de egyenlőre ez is éppen elég...

de ami esetleg engem érdekelne, hogy nálatok hogyan folyik a fejlesztés, milyen ciklusokban , a csapat együttműködési felületei stb...ha szabad ilyet mondanod...

pl. egy kutatásnál hol érdemes megszabni a korlátokat, hogy meddig érdemes elengedni a "gyeplőt" és mi az a pont amikor már azt mondjátok, hogy na ennyi itt most elég, majd folytatjuk a következő menetben....stb..
A fejlesztés folyamatosan folyik. Mi napi szinten kommunikálunk egymással, hetente 1-2 személyes vagy interneretes megbeszélés, havonta egy alkalom amikor mindenki beszámol mivel foglalkozott és mire jutott. Interneten megtalálható pár ilyen közös projekteket segítő oldal (pl Active Collab, Redbooth stb), azok közül érdemes egyet kiválasztani. Ezekben projekteket és feladatokat lehet kiírni magunknak/egymásnak, mindent rendszerezni és átláthatóvá tenni. Ez hosszú távon nagyon fontos.

Arra nehéz válaszolni, hogy kutatásnál hol érdemes megszabni a korlátokat. Nálunk mindenki azzal foglalkozik és annyi ideig amíg kedve tartja. Nem hiszem, hogy újat mondok, de ehhez minden csapattagtól kell egy komoly elszántság, hogy leüljön és foglalkozzon a témával. Valamint kitartás, hogy évek után se adja fel és legyen ereje tovább próbálkozni.
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-03-14, 11:36   #13 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás

köszönöm!
pont ilyen választ vártam (kicsit féltem, hogy valami "marketingesebb" választ kapok, de nem)

mi egy ár/érték arányú rendszert próbálunk "eszközölni", az ár persze a belefektetett munka illetve a szükséges átalakítás,
Ami hátulütője lehet a dolognak, ha ez nagyon nincs korlátok közé téve akkor parttalanná válhat és sok "szemetet" termelhet az ötletelés, a másik oldal, (túl szűk keretek) pedig a kreativitást korlátozza.

esetleg van tapasztalat azzal kapcsolatban hogy ez a terület, az automatizált kereskedés, tőzsde rendelkezik e olyan jellemzővel ami alapjaiban kell(ene) hogy meghatározza a csapat működését?

pl.: egy kreatív studióban még egy billiárd asztal sem furcsa, de egy gyárszalag mellett még a cigiszünet is be van szabályozva.
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-03-18, 17:01   #14 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
ttorhcs eredeti hozzászólása Hozzászólás megtekintése
köszönöm!
pont ilyen választ vártam (kicsit féltem, hogy valami "marketingesebb" választ kapok, de nem)

mi egy ár/érték arányú rendszert próbálunk "eszközölni", az ár persze a belefektetett munka illetve a szükséges átalakítás,
Ami hátulütője lehet a dolognak, ha ez nagyon nincs korlátok közé téve akkor parttalanná válhat és sok "szemetet" termelhet az ötletelés, a másik oldal, (túl szűk keretek) pedig a kreativitást korlátozza.

esetleg van tapasztalat azzal kapcsolatban hogy ez a terület, az automatizált kereskedés, tőzsde rendelkezik e olyan jellemzővel ami alapjaiban kell(ene) hogy meghatározza a csapat működését?

pl.: egy kreatív studióban még egy billiárd asztal sem furcsa, de egy gyárszalag mellett még a cigiszünet is be van szabályozva.
Nem tudok ilyen tőzsdei jellemzőről, aminek alapjaiban kellene meghatároznia a csapat működését. Szerintem a közös cél elegendő a csapat működéséhez, de ez nem csak a tőzsdénél van így. Nekünk a hobbynk a tőzsde, csak idővel a hobby mellett a munkánk is ez lett. Ez valószínűleg nem elhanyagolható tényező.
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-04-15, 21:40   #15 (permalink)
Új tag
 
szsolt logója
 
Csatlakozott: 14-01-05
Összes hozzászólás: 12
Hírnév szint: 4
szsolt a hírnévhez vezető út elején jár.
Alapbeállítás

Sziasztok.
A backteszttekkel kapcsolatosan mára kissé összezavarodtam. A tesztekhez aTickStory programot szoktam használni, gondolva ha a rengeteg adathalmazon átmegy biztosan jól fog működni a program. A tesztelgetés folyamán én is arra jutottam mint sokan közülünk. Nagyon kicsi stop nagy tp vagy nincs is egyáltalán, és követjük az árat. Ekkor a teszten hatalmas nyereséget lehet elérni. Remek inditsuk el a demo számlát. A veszteség ekkor természetesen megugrott, sőt szinte csak az lett egy-egy kóbor nyereség mellett. Igen mert rossz a bróker lassú és nem ad árat ahol kell (nagyon messze teljesült), kerestem egy gyors VPSt és brókert. A kis stop viszont ott sem működött, tehát a szinte 0 stoppot jócskán meg kellett növelni, így már nem olyan szép a nyereség. Viszont itt érdekes a teszt. A belső adatokkal beállítva a paramétereket abban az esetben ha az adatok Modellezési minősége 70-90% adott egy használható eredményt. / Ezt a tesztet persze nem szeretjük /. A demo futtatás így már kezd alakulni. A TickStory adatokat ha megnézzük egy év alatt H1 idősíkon 39848 Ticket vesz figyelembe 66,696,521 Árral. Na ezt nem értem, mert 1 év 365 x 24 = 8760 óra azaz H1 en ennyi Tick ebből le kell vonni a nem kereskedett napokat. Szóval nem értem akkor mi a valós adat. Most úgy látom, hogy jó ha átmegy a TickStory által generált adathalmazon, de a beállításokat a belső adatokhoz közel célszerű állítani, de csak bizonyos minőség felett. .... Vagy Ti hogyan backteszteltek ? vagy a Meta nem a helyes út ?
szsolt nem elérhető   Válaszol idézettel
Régi 2014-04-17, 22:27   #16 (permalink)
Új tag
 
Csatlakozott: 10-09-12
Összes hozzászólás: 16
Hírnév szint: 8
ttorhcs a hírnévhez vezető út elején jár.
Alapbeállítás

nem biztos hogy mindent értek abból amit leírtál, de

és hogy próbáljak ragaszkodni az eredeti témához (platformfüggetlenség)

három féle módon tudom hisztorikus árfolyamok megjelenítését elképzelni

- tick
- gyertya
- valamilyen modellezés (az ár mozgása "egyszerűsítve")

és gondolom (de nam vagyok mt4 szaki) amikor több ticket használ fel a program mint a gyertyánkénti 4 adat, az azt a mozgást modellezi ami azon az egy órán belül történt (pl. mi volt előbb? a low, vagy a high?)

a soraid közül nekem az tűnik ki, hogy órás stratégián használsz nagyon kicsi stoppokat? én figyelek arra, hogy az SL/TP szintjeim mindig nagyobbak legyenek a használt gyertya átlagos magasságánál (így nincs is szükség interpolációra lényegében) tehát ha pl.: 10- es stoppot használok akkor max perces legyen a visszateszt (EURUSD)

különben csak átver a masina.

értettem a problémád?
ttorhcs nem elérhető   Válaszol idézettel
Régi 2014-04-18, 13:39   #17 (permalink)
Tag
 
TozsdeProgram.hu logója
 
Csatlakozott: 13-01-20
Hely: Budapest / Miskolc
Összes hozzászólás: 63
Hírnév szint: 5
TozsdeProgram.hu a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
szsolt eredeti hozzászólása Hozzászólás megtekintése
Sziasztok.
A backteszttekkel kapcsolatosan mára kissé összezavarodtam. A tesztekhez aTickStory programot szoktam használni, gondolva ha a rengeteg adathalmazon átmegy biztosan jól fog működni a program. A tesztelgetés folyamán én is arra jutottam mint sokan közülünk. Nagyon kicsi stop nagy tp vagy nincs is egyáltalán, és követjük az árat. Ekkor a teszten hatalmas nyereséget lehet elérni. Remek inditsuk el a demo számlát. A veszteség ekkor természetesen megugrott, sőt szinte csak az lett egy-egy kóbor nyereség mellett. Igen mert rossz a bróker lassú és nem ad árat ahol kell (nagyon messze teljesült), kerestem egy gyors VPSt és brókert. A kis stop viszont ott sem működött, tehát a szinte 0 stoppot jócskán meg kellett növelni, így már nem olyan szép a nyereség. Viszont itt érdekes a teszt. A belső adatokkal beállítva a paramétereket abban az esetben ha az adatok Modellezési minősége 70-90% adott egy használható eredményt. / Ezt a tesztet persze nem szeretjük /. A demo futtatás így már kezd alakulni. A TickStory adatokat ha megnézzük egy év alatt H1 idősíkon 39848 Ticket vesz figyelembe 66,696,521 Árral. Na ezt nem értem, mert 1 év 365 x 24 = 8760 óra azaz H1 en ennyi Tick ebből le kell vonni a nem kereskedett napokat. Szóval nem értem akkor mi a valós adat. Most úgy látom, hogy jó ha átmegy a TickStory által generált adathalmazon, de a beállításokat a belső adatokhoz közel célszerű állítani, de csak bizonyos minőség felett. .... Vagy Ti hogyan backteszteltek ? vagy a Meta nem a helyes út ?
Szia!

Az a stratégia akkor nagyon rá lett finomítva a visszateszt adat egy időszakára, mivel demoban hoznia kell ugyan azt az eredményt, mint amit visszateszten is hoz, mivel a demo is egy "ideális" környezet mint a visszateszt, minden úgy teljesül ahogy a programunk kiadja. A demo számlák 99%-nál nincs ilyen amit írsz, hogy nem ott kap árat ahol akarsz, általában ott adnak ahol kéred, slippage nélkül. Bár akad pár bróker aki ügyel erre. Ha a visszatesztben jó és demoban nem, akkor az elég nagy probléma, valamire túl érzékeny a robotod.

A tickek fogalmát talán félreértelmezted. Azért mert "1 év 365 x 24 = 8760 " (minusz nem kereskedett napok) attól még messze menőkig nem ennyi ticknek kell jönnie. A tick az a minden egyes újonnan bejött árfolyamértéket jelenti. Szép is lenne, ha óránként csak 1 darab új árfolyamérték lenne. Az elég nyuugis lenne. Mivel óránként jön több száz vagy akár ezer új tick, ezért tesztel a TickStory olyan sok árfolyamértéken.

A "beépített" adatokkal azért lesz jobb az eredmény, mivel sokkal kevesebb a tick, azaz kevesebb árfolyamérték van abban az adathalmazban. Ebből az következik, hogy az adatból hiányzik az a folyamatos fel le mozgása a piacnak, így sokkal ritkábban üti kis az árfolyam a stoplossodat, ergo sokkal jobb eredményt lehet elérni vele. Bár most az új MT4 kiadása óta valamit próbáltak ezen az adatminőségen, visszatesztelésen javítani. De én akkor is pl a Dukascopytól letöltött tick adatot ajánlanám, vagy akár egy másik banktól/brókertől letöltöttet (TrueFx, Lmax, Armada, Pepperstone).

A Tickstory-t amikor én kipróbáltam kb fél éve, akkor még elég sok adathiba volt benne. Visszatesztelésre jó az MT4, azon kívül hogy lassú. De azzal mindig számolni kell, hogy a visszatesztek ideális környezetek a robotnak. A szűk stopos rendszereket demo számlán meg nincs értelme tesztelgetni, inkább század lottal teszteld egy éles számlán.
__________________
www.TozsdeProgram.hu - Automatizált kereskedés, MetaTrader Expert Advisor programozás
TozsdeProgram.hu nem elérhető   Válaszol idézettel
Régi 2014-04-21, 22:42   #18 (permalink)
Új tag
 
szsolt logója
 
Csatlakozott: 14-01-05
Összes hozzászólás: 12
Hírnév szint: 4
szsolt a hírnévhez vezető út elején jár.
Alapbeállítás

Köszönöm a válaszotok. Mára már nem olyan szűk a stop, kb egy átlagos gyertya test nagyságára állítotom az sl-t, így nem üt ki gyorsan de még marad benne nyereség bőven, ezt alátámasztja valóban a demo futtatás. Marad a Dukas ár és jön az éles teszt.
szsolt nem elérhető   Válaszol idézettel
Régi 2014-05-19, 23:20   #19 (permalink)
Új tag
 
szsolt logója
 
Csatlakozott: 14-01-05
Összes hozzászólás: 12
Hírnév szint: 4
szsolt a hírnévhez vezető út elején jár.
Alapbeállítás

Mivel az elmúlt egy hónap alatt sok írás nem született leírom az éles számlás tapasztalaimat. A robot most fut 1 hónapja éles számlán. A teszteket elég jól közelítve születtek az eredmények.
Eddig 52 kereskedés volt, 0,2 Lot használattal, ez a minimum az Xau nál. 11% max visszaesés +8% az eredmény.
Egyenlőre úgy néz ki működik az éles számlán is, de javítgatni persze mindig kell.
Érdekes dolog viszont, hogy egy másik "egyéb kategóriás brókernél" történt éles futtatásnál egy nagy nyerő trade veszteséggel zárt egy óriási 30 x os spread lökés miatt de 11,30 kor. 6-8 szoros gyertya alakult ki mint az átlag. Az egyik tradet 1 sec alatt ütötte ki, míg a másikat 3 sec de azt nyereséggel, csak a charton nem értelmezhető valós helyen. Különben akár 20 órát is benn lehetett volna a trade.
A VPS szerveren iyen nem fordult elő még nagy kiugró gyertyáknál sem.
szsolt nem elérhető   Válaszol idézettel
Régi 2014-08-26, 21:57   #20 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Úgy gondolom, itt az ideje, hogy mutassak valami hasznosat is, ne csak a szám járjon folyton. Sokat gondolkoztam, mi legyen az, ami ér is valamit, de annyit azért nem, hogy előbb lőljenek le, amiért megosztottam, minthogy az első komment megérkezne.

Meg is találtam a szerintem ideális jelöltet.

Szerintem ez a világon a legegyszerűbb megoldás, amivel paraméter- és variáció-limit nélkül lehet robotot optimalizálni mt4-ben. Persze csak olyat, aminek megvan a forráskódja is. Eddig 800 paraméter volt a maximum, amivel próbáltam, neuronháló súlyait optimalizáltam vele, ahol mindegyik súly -1 és 1 között vehetett fel értéket 6 digites pontossággal, és ott is hibátlanul működött. Ki lehet számolni, ez összesen hány variáció

Ez a kódocska egy szokványos expert optimalizálását próbálja bemutatni nem szokványos módon. Maga a rendszer annyira egyszerű, hogy a faék ehhez képest SkyNet, szóval nem kell semmi bonyolultra készülni.

Good Luck!
Csatolt fájl-ok
Fájl típus: mq4 SamACD.mq4 (11,0 KB, 128 olvasás)
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-29, 11:11   #21 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Na hogy álltok, sikerült valami hasznát venni? Vagy most az összes igazi programozó ezen röhög?
Megjegyzem, engem soha senki nem tanított programozni, ezt kéretik figyelembe venni.

Arra számítottam, hogy lesznek kérdések, észrevételek, javaslatok, de úgy látom a lényeg mindenkinek világos.
Az optimalizáció bármikor megállítható, lehet tesztelni is közben, vagy újrafordítani a programot, amíg a globális változókat nem töröljük (vagy legalább a balance nevűt), addig a rendszer folytatni fogja az optimalizálást ott, ahol abbahagyta. Feltéve, hogy nem változtatunk az időszakon, idősíkon, és nem váltunk szimbólumot. Ez utóbbi esetekben nem garantált, hogy folytatódni fog a megállított optimalizálás. F3 lenyomására előjönnek a terminál globális változói, a szokásos billentyűkombináció az összes kijelölésére (Ctrl A) működik itt is, így elég egyszerű törölni az összeset egyszerre. A teszter gyári öröklődő algoritmusát nem használjuk, ezt célszerű ki is kapcsolni, majd például 1-es lépésközökkel adni neki pár ezer iterációt. A program mindig csak a legjobb beállítást tartja meg, ezért az optimalizációs eredmények fülön mindegy, melyikre kattintunk, a paraméterek nem onnan töltődnek be, hanem a globális változókból. Igazából feleselges is rájuk kattingatni, elég csak megállítani az optimalizációt, kivenni a pipát négyzetéből, és nyomni egy startot a tesztelésnek. Teszt után vissza a pipa, és folytatódik is. Az eredmények fájlba irkálásával nem foglalkoztam eddig, helyette inkább a fitness funkciót bonyolítom tovább. Ebben a fitness értéke csak az egyenleg, de 30-40 paraméter felett már érdemes összetettebb fitness funkciót használni. Ez eléggé expertfüggő, van, amelyiknek elég az egyenleg, de vannak olyanok, ahol kellhet bele profit faktor, kereskedések száma, profittal zárt időszakok aránya, drawdown, stb.

Örülnék bármilyen észrevételnek, javaslatnak, és a felmerülő kérdésekre is amint tudok, válaszolni fogok.
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-31, 11:16   #22 (permalink)
Új tag
 
Csatlakozott: 14-08-10
Összes hozzászólás: 6
Hírnév szint: 0
Icebob a hírnévhez vezető út elején jár.
Alapbeállítás

Nagyon állat ez a cucc. Egy normál 6-7 órás (600-700 körös) optim helyett ezzel 20 perc alatt (100 körrel) meglett a legjobb set. Nem semmi.
Köszi szépen!

Én annyit tettem még bele, hogy a globális változóknál a névbe a Symbol-t is tegye bele, és így nem kell több párnál mindig törölni a globálisokat.

Plusz még az egyik nagyobb problémám, hogy ugye mindig csak a legjobb eredményt tudom tesztelni optim után. Tehát ha annak nem tetszik a DD-je, vagy a görbéje, akkor nem tudom megnézni a 2. vagy 3. eredményt. Erre lenne jó még kitalálni valamit. Esetleg, ha nem globálisban tárolnánk a weight értékeket, hanem fájlba és iterációnként is le lennének rakva az értékek. És akkor ha sima BT-t futtatok és beállítom iterációnak, hogy 45. akkor tényleg azzal a weight értékekkel futna, amivel az optim alatt is futott. Szerinted?

Amúgy nézegetem a GetWeights fgv. de még mindig nem igazán értem hogy működik, esetleg arról írnál pár szót?

Szuper cucc!
Icebob nem elérhető   Válaszol idézettel
Régi 2014-08-31, 13:18   #23 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Helló Icebob,

Nagyon köszönöm az elismerő szavakat, én is csak hasonlókat tudnék mondani a TraderAgent-edről, bár csak a trialt próbáltam. Még sose vettem programot, nekem izgalmasabb elkészíteni őket, ha nem így lenne, biztos beruháztam volna rá.

Amúgy igazán nincs mit, részemről a szerencse.

A globális változóknál a Symbol mellé még periódust is lehetne beletenni, sőt még a tesztelés első és utolsó gyertyájának az idejét is, csak úgy már elég hosszú lenne a változók neve, meg az init se lenne olyan egyszerű. De ha fájlba akarod írni az eredményeket, akkor csak a fájlnév lenne hosszú, ez talán annyira nem nagy gond.

Az eredmények mentése nem lenne nehéz, arra már van ötletem, csak azért nem csináltam meg eddig, mert akkor fájlokat kellene mindig törölni, és az valamivel bonyolultabb, mint a globális változók törlése. Ha kiírod fájlba az optimalizációs eredményeket, akkor csak annyi a lényeg, hogy az iteráció számát is menteni kell valamelyik oszlopba, például az elsőbe, a paraméterek elé. Teszteléskor pedig az init függvényben beolvastatod a fájlt, és az iteráció száma alapján ki tudod kerestetni, és betöltetni azokat a paramétereket, amiket tesztelni szeretnél. Persze ez esetben már az optimalizációs eredményekből dupla kattintással ki kellene választani azt, amelyiket tesztelni akarod, vagy kézzel írni be az iteráció számát a robotnak.

Ez a GetWeights optimalizáláskor úgy működik, hogy először azt választja ki véletlenszerűen, hogy ebben az iterációban hány paraméteren fog változtatni. Minimum egy, maximum az összes paraméterek száma. Ez a wsud nevű változó jelentése. Ezután a ciklusban ennyiszer választ ki egy paramétert szintén véletlenszerűen, lehet akár többször is ugyanazt. Majd választ egy véletlen számot 0.0001 és 1 között, a 10-nek a negatív hatványai szerint, ami az "a" nevű változó. A paraméter aktuális értékéből és ebből az "a"-ból képez két új paramétert, az egyik esetben összeadással, a másikban kivonással, plusz egy harmadikat, ami egy random szám. Végül, a változatosság kedvéért ismét véletlenszerűen dönti el, hogy a paraméter eredeti értékét e három lehetőség közül melyikre cserélje ki. Ezt a megoldást direkt többszáz paraméteres optimalizációkhoz kísérleteztem ki, mert a genetikus algoknál a nagyméretű populációkkal jóval nehézkesebb volt dolgozni. Ez nagyjából ugyanolyan gyors és hatékony, csak jóval egyszerűbb.

Amúgy arra is van ötletem, hogyan csinálnám meg ugyanezt vásárolt robotokhoz, ahol a forráskódba nincs lehetőség belenyúkálni. Ahhoz, ha jól gondolom szkript kellene, meg TesterControl library, és set fájlok írása programból. De ez csak elméleti ötlet, gyakorlatban nem próbáltam megvalósítani.

Ha van még bármi kérdés, továbbra is állok rendelkezére.

Sok szerencsét!
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-31, 16:06   #24 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Szia nlot!

Lehet, hülyeséget kérdezek, de akkor is:
Amit nem igazán értek, hogy hogyan nyered vissza a paramétereket a globális változókból?
A linkelt képen a bekeretezett értékekből hogyan nyered ki a paraméter értékét?
Köszi
Csatolt kicsinyítések
altalanossagok-clipboard01.png  
  Válaszol idézettel
Régi 2014-08-31, 16:39   #25 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Az előzőhöz: elmented set fájlként? Vagy valami egyéb módon?
  Válaszol idézettel
Régi 2014-08-31, 17:11   #26 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Hát nlot, azt mindenesetre el kell mondanom, hogy ez a cuccos tényleg nagyon király! Respekt!
Ráeresztettem egy EA-mra amely 16 változtatható paramétert használ. Bő 2 óra alatt 200 iterációt lefuttatott egy évnyi backtesten. Bele sem merek gondolni, meddig tartott volna ez a hagyományos módon. Őrület. Szóval, nagyon köszi!
  Válaszol idézettel
Régi 2014-08-31, 17:18   #27 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Tényleg nincs mit, örülök, hogy segíthettem

Tudom, ez messze nem a legelegánsabb megoldás, de most példának talán megteszi.
Keresd meg a programban az OnDeinit függvényt, így néz ki most:

void OnDeinit(const int reason)
{
Opt_Deinit();
return;
}

Ha megvan, az egészet cseréld ki erre, majd fordítsd le a programot:

void OnDeinit(const int reason)
{
Opt_Deinit();
string bool0="false";
if(UseTrailing) {bool0="true";}
int ms=MarketInfo(Symbol(),MODE_STOPLEVEL)+1;
Print("MATrendPeriod = "+w_int(6,1,200));
Print("MACDCloseLevel = "+w_double(5,0,50));
Print("MACDOpenLevel = "+w_double(4,0,50));
Print("TrailingStop = "+w_int(3,ms,300));
Print("UseTrailing = "+bool0);
Print("StopLoss = "+w_int(1,ms,300));
Print("TakeProfit = "+w_int(0,ms,500));
return;
}

Majd ezután állíts be valami jó rövid időszakot, mondjuk 1-2 napot, és azon teszteld le a progit újra (erre azért van szükség, mert ha hosszabb időszakon tesztelnél, akkor meg kellene várnod, amíg a teszter egy rakás kereskedés adatait kiírja). A teszt végén a teszter naplójában ott lesznek a paraméterek név szerint.

Remélem tudtam segíteni.
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-31, 17:33   #28 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Igen, barkácsmegoldással én is ki tudnám nyerni, de azt hittem, van valami triviálisabb megoldás, csak hirtelenjében nem látom.
Amúgy konkrétan nem jelentett gondot, mert az említett EA-m kiírja a képernyőre az aktuális paramétereket, ezért csak általánosságban kérdeztem.

Ez a dolog viszont valamiért nem működött:
Idézet:
Az optimalizáció bármikor megállítható, lehet tesztelni is közben, vagy újrafordítani a programot, amíg a globális változókat nem töröljük (vagy legalább a balance nevűt), addig a rendszer folytatni fogja az optimalizálást ott, ahol abbahagyta. ... elég csak megállítani az optimalizációt, kivenni a pipát négyzetéből, és nyomni egy startot a tesztelésnek. Teszt után vissza a pipa, és folytatódik is.
Megállítottam a tesztet, lefuttattam, de Stop Out-ra futott, holott az optim már kidobott jónéhány eredményes beállítást. Aztán az optimalizálás elölről indult (bár nyilván a GV-ből "táplálkozva").
A lényeg: überjó a cucc.
  Válaszol idézettel
Régi 2014-08-31, 17:42   #29 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Idézet:
Bill eredeti hozzászólása Hozzászólás megtekintése
Megállítottam a tesztet, lefuttattam, de Stop Out-ra futott, holott az optim már kidobott jónéhány eredményes beállítást. Aztán az optimalizálás elölről indult (bár nyilván a GV-ből "táplálkozva").
Igen ilyenek nálam is előfordultak, ezért kellett a paraméterek mentési feltételébe a !IsStopped(), azzal oldódott meg a probléma. Nem törölted ki azt onnan véletlenül? Vagy olyankor fordulhat még ez elő, ha a globális változókat nem törlöd ki, mielőtt más időszakon kezdenél optimalizálni. Egyenlőre ennyi ötletem van, ha eszembe jut még valami, akkor majd megírom.
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-31, 17:52   #30 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Idézet:
nlot eredeti hozzászólása Hozzászólás megtekintése
Igen ilyenek nálam is előfordultak, ezért kellett a paraméterek mentési feltételébe a !IsStopped(), azzal oldódott meg a probléma. Nem törölted ki azt onnan véletlenül? Vagy olyankor fordulhat még ez elő, ha a globális változókat nem törlöd ki, mielőtt más időszakon kezdenél optimalizálni. Egyenlőre ennyi ötletem van, ha eszembe jut még valami, akkor majd megírom.
Elvileg ezek nem fordultak elő, de nem mernék rá megesküdni.
Amúgy Icebob javaslata irányában mindenképp tovább kellene fejleszteni, mert valóban nem biztos (sőt, szinte kizárt), hogy nekem is az a verzió a legszimpatikusabb, amelyiket kidobja a rendszer. Egyik verzió a már említett elmentés (az összes eredményről). Egy másik lehetne, hogy több paraméter együttes vizsgálata alapján rangsorolna (például profit,PF,DD együtt). Persze ez elég bonyi. Asszem elkezdem kicsit buherálni, aztán meglátjuk mi lesz belőle.
  Válaszol idézettel
Régi 2014-08-31, 20:53   #31 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Még egy dolog eszembe jutott ezzel kapcsolatban. A teszter nem mindig érzékeli, ha az időszak megadása mellől kiveszem a pipát, és ugyanazon az időszakon optimalizál tovább, mintha még a pipa ott lenne. De amint az optimalizációt megállítom, és indítok egy tesztet, akkor már érzékeli a változtatást, és az egész adatsoron futtatja le a tesztet. Ez is okozhat olyan jelenséget, amit írtál.

Jól mondod, ennek pontosan a rátermettségi függvény a legbonyolultabb része, magyarul annak számszerűsítése, hogy mi magunk mi alapján választanánk ki a legjobb beállítást, ha az optimalizáció befejeztével minden eredmény a birtokunkban volna. Ez minél pontosabban definiálva van, annál valószínűbb, hogy a program olyan beállítást fog találni, amilyet szeretnénk, és annál kevésbé van szükség az eredmények fájlba írására.
nlot nem elérhető   Válaszol idézettel
Régi 2014-08-31, 22:10   #32 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Közben kicsit megbütyköltem.
Ez a verzió már elmenti fájlba (*.csv) is az eredményeket.
Így Excel-be importálva könnyen áttekinthető az egész, és nem csak a "legjobb" marad meg.
A konkrét esetben ezek lesznek mentve:

"Iterations",
"Profit",
"Total Trades",
"Profit Factor",
"DD$",
"DD%",
"Profitable Trades",
"Losing Trades"

és a változók értékei is (így bármelyik teszt reprodukálható később is):

"TakeProfit",
"StopLoss",
"UseTrailing",
"TrailingStop",
"MACDOpenLevel",
"MACDCloseLevel",
"MATrendPeriod"

A fájl nevét automatikusan létrehozza (jelen esetben: SamACD_GBPUSD_60_Opt.csv).
Azaz: expertneve_instrumentum_idősík
Ízlés szerint módosítandó.
Csatolt fájl-ok
Fájl típus: mq4 SamACD_v2.mq4 (12,4 KB, 91 olvasás)
  Válaszol idézettel
Régi 2014-09-01, 00:24   #33 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Egy kis korrekció:
nlot eredeti verziójában csak a "legjobb" setup megtalálása volt a cél, ezért mindig azt vizsgálta, hogy az aktuális balance nagyobb-e az addigi legnagyobbnál.
A módosított verzió az összes nyerő setup-ot keresi. Ezért ezt a részt:

Kód:
if(AccountBalance()>prevbalance && AccountBalance()>TesterStatistics(STAT_INITIAL_DEPOSIT) && trades>0 && !IsStopped())
megváltozttam erre:

Kód:
if(AccountBalance()>TesterStatistics(STAT_INITIAL_DEPOSIT) && trades>0 && !IsStopped())
Így minden nyerő verziót elment.
Csatolt fájl-ok
Fájl típus: mq4 SamACD_v2.1.mq4 (12,4 KB, 84 olvasás)
  Válaszol idézettel
Régi 2014-09-01, 01:38   #34 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Wow, nagyon szép munka, mit ne mondjak. Kipróbáltam, hibátlanul működik. Köszi, hogy megcsináltad

Egy apróságot felfedeztem benne, ami bizonyos esetekben gondot okozhat. A haszontalan eredményeket fájlba írni nem kell ugyan, de menteni azért kellene a globális változókba, mert a program használja őket. Ennek alacsonyabb idősíkokon és sok paraméteres expertek esetén van jelentősége, ahol az első profitos beállítás megtalálásához akár többszáz iterációra is szükség lehet. Amíg az első profitos beállítást nem találja meg, addig a veszteségesek szinte nélkülözhetetlenek.

Azt javasolnám, hogy a globális változók mentésének eredeti feltételét hagyd meg, a fájlba írás feltételét inkább egy sorral fölé tedd például ilyen formán:

Kód:
if(AccountBalance()>TesterStatistics(STAT_INITIAL_DEPOSIT) && !IsStopped() && Save_To_File) SaveToFile();
Ezáltal ugyanúgy mentve lenne az összes nyerő verzió, és a progi működési logikájában sem történne változás.

Kicsit úgy érzem magam itt, ennyi nálam sokkal képzettebb és gyakorlottabb programozó közt, mintha én lennék az a vakon született, aki a látóknak magyarázza a színeket...
nlot nem elérhető   Válaszol idézettel
Régi 2014-09-01, 11:59   #35 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Idézet:
nlot eredeti hozzászólása Hozzászólás megtekintése
Wow, nagyon szép munka, mit ne mondjak. Kipróbáltam, hibátlanul működik. Köszi, hogy megcsináltad

Én köszönöm, hogy volt min alakítgatni.

Egy apróságot felfedeztem benne, ami bizonyos esetekben gondot okozhat. A haszontalan eredményeket fájlba írni nem kell ugyan, de menteni azért kellene a globális változókba, mert a program használja őket. Ennek alacsonyabb idősíkokon és sok paraméteres expertek esetén van jelentősége, ahol az első profitos beállítás megtalálásához akár többszáz iterációra is szükség lehet. Amíg az első profitos beállítást nem találja meg, addig a veszteségesek szinte nélkülözhetetlenek.

Azt javasolnám, hogy a globális változók mentésének eredeti feltételét hagyd meg, a fájlba írás feltételét inkább egy sorral fölé tedd például ilyen formán:

Kód:
if(AccountBalance()>TesterStatistics(STAT_INITIAL_DEPOSIT) && !IsStopped() && Save_To_File) SaveToFile();
Ezáltal ugyanúgy mentve lenne az összes nyerő verzió, és a progi működési logikájában sem történne változás.

Így igaz, beleírtam a változtatást.

Kicsit úgy érzem magam itt, ennyi nálam sokkal képzettebb és gyakorlottabb programozó közt, mintha én lennék az a vakon született, aki a látóknak magyarázza a színeket...
No-no, csak szerényen a szerénységgel! A melót Te csináltad, a többi csak maszatolás volt.
Csatolt fájl-ok
Fájl típus: mq4 SamACD_v2.2.mq4 (12,5 KB, 99 olvasás)
  Válaszol idézettel
Régi 2014-09-02, 10:01   #36 (permalink)
Új tag
 
Csatlakozott: 14-08-10
Összes hozzászólás: 6
Hírnév szint: 0
Icebob a hírnévhez vezető út elején jár.
Alapbeállítás

Szuper, én is kifogom próbálni!
Icebob nem elérhető   Válaszol idézettel
Régi 2014-09-06, 07:34   #37 (permalink)
Szenior tag
 
Csatlakozott: 13-04-09
Összes hozzászólás: 125
Hírnév szint: 5
Dzsabba a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
nlot eredeti hozzászólása Hozzászólás megtekintése
Úgy gondolom, itt az ideje, hogy mutassak valami hasznosat is, ne csak a szám járjon folyton. Sokat gondolkoztam, mi legyen az, ami ér is valamit, de annyit azért nem, hogy előbb lőljenek le, amiért megosztottam, minthogy az első komment megérkezne.

Meg is találtam a szerintem ideális jelöltet.

Szerintem ez a világon a legegyszerűbb megoldás, amivel paraméter- és variáció-limit nélkül lehet robotot optimalizálni mt4-ben. Persze csak olyat, aminek megvan a forráskódja is. Eddig 800 paraméter volt a maximum, amivel próbáltam, neuronháló súlyait optimalizáltam vele, ahol mindegyik súly -1 és 1 között vehetett fel értéket 6 digites pontossággal, és ott is hibátlanul működött. Ki lehet számolni, ez összesen hány variáció

Ez a kódocska egy szokványos expert optimalizálását próbálja bemutatni nem szokványos módon. Maga a rendszer annyira egyszerű, hogy a faék ehhez képest SkyNet, szóval nem kell semmi bonyolultra készülni.

Good Luck!

Ezt kíváncsiságból én is kipróbálnám, de mivel nem értek a programozáshoz ezért kellene egy használati utasítás is hozzá mert nem tudom mit kell csinálni vele és az expertel (esetleg egy videó hangal). Ha bonyolultabb és szükséges hozzá programozási ismeret akkor hagyátok figyelmen kívül az üzenetet
köszi
Dzsabba nem elérhető   Válaszol idézettel
Régi 2014-09-11, 15:28   #38 (permalink)
Törölt felhasználó
Vendég
 
Összes hozzászólás: n/a
Alapbeállítás

Idézet:
Dzsabba eredeti hozzászólása Hozzászólás megtekintése
Ezt kíváncsiságból én is kipróbálnám, de mivel nem értek a programozáshoz ezért kellene egy használati utasítás is hozzá mert nem tudom mit kell csinálni vele és az expertel (esetleg egy videó hangal). Ha bonyolultabb és szükséges hozzá programozási ismeret akkor hagyátok figyelmen kívül az üzenetet
köszi
Alapvetően nagyon egyszerű, de egy minimális programozási ismeret azért kell hozzá.
Csináltam egy sablont, ezzel kell kiegészíteni a tesztelni szándékozott EA-t.
1./ Be kell másolni a megfelelő részeket a megfelelő részekre (a sablonból az EA-ba).
2./ Átnevezni a változókat (Variable) az EA eredeti változói szerint.
Csatolt fájl-ok
Fájl típus: mq4 Optim_Sablon.mq4 (6,1 KB, 93 olvasás)
  Válaszol idézettel
Régi 2015-04-18, 16:08   #39 (permalink)
Új tag
 
Csatlakozott: 15-04-18
Összes hozzászólás: 1
Hírnév szint: 0
CR4ZYFR0G a hírnévhez vezető út elején jár.
Alapbeállítás

Idézet:
nlot eredeti hozzászólása Hozzászólás megtekintése
Még egy dolog eszembe jutott ezzel kapcsolatban. A teszter nem mindig érzékeli, ha az időszak megadása mellől kiveszem a pipát, és ugyanazon az időszakon optimalizál tovább, mintha még a pipa ott lenne. De

amint az optimalizációt megállítom, és indítok egy tesztet, akkor már érzékeli a változtatást, és az egész adatsoron futtatja le a tesztet. Ez is okozhat olyan jelenséget, amit írtál.

Jól mondod, ennek pontosan a rátermettségi függvény a legbonyolultabb része, magyarul annak számszerűsítése, hogy mi magunk mi alapján választanánk ki a legjobb beállítást, ha az optimalizáció befejeztével minden eredmény a

birtokunkban volna. Ez minél pontosabban definiálva van, annál valószínűbb, hogy a program olyan beállítást fog találni, amilyet szeretnénk, és annál kevésbé van szükség az eredmények fájlba írására.
Sziasztok!
Először is köszi a kódot nlot -nak és Bill -nek jelentős időt lehet vele megtakarítani!

Még az elején megemlíteném nem vagyok programozó csak időtöltés és megtérülés reményében szoktam magamnak expertet/indikátort készíteni, kérem a hozzászólásomat aszerint kezelni.

A kóddal kapcsolatosan lenne észrevételem/javaslatom a használatához.
Hiányoltam, hogy a függvényben nem lehet megadni a lépésközöket és így double érték esetén számomra teljesen haszontalan számokkal futtat tesztet. Függvényeket megtekintve arra jutottam, hogy felesleges a w_double() és w_bool() mivel az említett két függvényt kilehet váltani a w_int() függvénnyel. w_bool() helyet a w_int() minimum érték 0 a maximum érték 1 pl.: w_int(0,0,1). w_double() helyet ha 1-20 -ig 0.1 -es lépésközzel közzel akarok optimalizálni akkor w_int() bemeneti érték*10 és w_init() *0.1 pl.: w_int(0,10,200)*0.1
Szerintem így használva további felesleges köröket lehet spórolni.

Továbbá azt tapasztaltam, hogy kb. 100 000 -es variációra 1-2500 -ig iterációs értékkel optimalizálva 600 körüli iterációnál elérte a profit "maximumot" az expert és a továbbiakban az optimalizálás ugyanazokat az eredményeket hozta, illetve több teljesen azonos eredmény is található. Jó lenne ha kilehetne zárni az azonos értékek újra futtatását illetve ha nincs további variációs lehetőség állítsa le az optimalizálást.
CR4ZYFR0G nem elérhető   Válaszol idézettel
Régi 2015-04-18, 21:36   #40 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Idézet:
CR4ZYFR0G eredeti hozzászólása Hozzászólás megtekintése
Jogos amit írsz, a rendszer sebességén és hatékonyságán valóban rengeteget lehet még javítani. Leginkább azzal, ha az adott típusú optimalizálási probléma megoldására finomítod. Ilyenkor az univerzalitás általában csökken, vagyis más típusú optimalizálási problémák esetén lassabb lesz és/vagy gyakran ragad lokális optimumokba, de azt az egy fajtát, amire hangoltad, sokkal gyorsabban fogja megoldani.

Ehhez a mini demonstrációhoz több okból és szándékosan választottam az első működőképes verziók közül is az egyik legalapabb, legnyersebb változatot. Ez kicsi és egyszerű, mindenki úgy szabhatja személyre és robotra, ahogy tetszik. Az újabbak sok paraméterrel és speciális eredmény-kiértékelő megoldással dolgoznak, hibát minimalizálnak, nem profitot maximalizálnak mint ez. Ha egy ilyet dobok fel, akkor használati utasítást kellett volna írnom hozzá, és azután is még hetekig magyarázni az optimális beállításokat a különböző típusú optimalizálási feladatokhoz. Ehhez nyilván sem időm, sem kedvem nem volt.

Ezt a verziót több népszerű tesztfüggvénnyel is kipróbáltam, lokális optimumokba igen ritkán ragadt be, és akkor is csak maximum néhány ezer iterációig. Egyszerű neurális háló esetén, ismeretlen targetet szimulálva néha még gyorsabb is volt, mint annak az eredeti tréningelő rendszere (ezen az oldalon a C/C++ menüpont alatt található kód a legegyszerűbb példa erre, mivel a régi strukturált mq4 is szinte egy az egyben megeszi, csak minimális változtatások szükségesek).

Az azonos kombinációk többszöri teszteléséről: ki lehet küszöbölni, és bizonyos esetekben érdemes is lenne. Nekem eddig eszembe se jutott, mindig elég sok paraméterrel és variációval dolgozom, ezért két egyforma kombináció előfordulásának az esélye igen kicsi.

Az optimalizálás automatikus leállítása: jó ötlet ez is, kár hogy mql4-ben nincs valami gyári stop függvény erre. DLL hívással meg lehet oldani, csak számolni kell hozzá az eddigi legjobb eredmény megtalálása óta lefutott iterációkat a robotban, és menteni globális változóba. Azután meg lehet adni például külső változóban, hogy mennyi olyan iteráció után álljon meg, amiben a legjobb eredmény nem változott. Sokat tesztelek olyan szkriptekkel robotok helyett, amiknek saját beépített tesztere van, azokban is így oldottam meg ezt (csak nyilván ott globális változókat felesleges használni).

Érdekes, hogy metáék gyakorlatilag már az egész platformot átdolgozták programnyelvestül, de a teszter variáció-limitjének megszüntetése valamiért eddig mindig kimaradt. Szerintem mindenki boldogabb lenne, ha nem ilyen barkácsmegoldásokkal kellene szórakozni. Egyelőre vagy ez, vagy másik platform, jelenleg egyéb lehetőségről nincs tudomásom.
nlot nem elérhető   Válaszol idézettel
Régi 2015-04-25, 07:16   #41 (permalink)
Szenior tag
 
Csatlakozott: 13-11-24
Összes hozzászólás: 254
Hírnév szint: 5
nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.nlot elindult a hírnévhez vezető úton.
Alapbeállítás

Találtam egy igen egyszerű megoldást az optimalizálás automatikus leállítására, és úgy döntöttem leírom hátha érdekel valakit. Csak létre kell hozni hozzá még néhány hamis külső változót, amit a robot szintén nem használ. Az iterációhoz hasonlóan ezeknek is meg kell adni szélsőértékeket és lépésközt, majd bekapcsolni a teszter gyári öröklődő algoritmusát. Ez érzékelni fogja, ha már nem érdemes tovább futnia, és le fogja állítani az optimalizálást. Csak azt kell kikísérletezni, hogy összesen mennyi legyen a hamis paraméterekkel megadott kombináció-szám, mert ha túl kevés akkor le fog állni idő előtt, ha túl sok akkor pedig tovább fog futni mint szükséges. Erre csak most jöttem rá, de az eddigi néhány teszt alapján úgy látom, hogy működik.
nlot nem elérhető   Válaszol idézettel
Válaszol



Jelenlévő aktív tagok böngészik ezt a témát: 1 (0 tag és 1 látogató)
 
Téma eszközök
Megjelenítési módok

Hozzászólás szabályai
nem indíthatsz új témát
nem válaszolhatsz
nem csatolhatsz
nem javíthatsz hozzászólást

BB code is bekapcsolva
Pofik bekapcsolva
Az [IMG] kód bekapcsolva
A HTML kód kikapcsolva
Trackbacks are bekapcsolva
Pingbacks are bekapcsolva
Refbacks are bekapcsolva



A pontos idő 21:29 , a GMT +1 időzóna szerint.


Powered by vBulletin® Version 3.8.4
Copyright © 2000 - 2017, Jelsoft Enterprises Ltd.