Friday 6 October 2017

Amibroker Trading System Eksempel


Slik optimaliserer du trading system. NOTE Dette er ganske avansert emne Vennligst les tidligere AFL-opplæringsprogrammer først. Ideen bak en optimalisering er enkel Først må du ha et handelssystem, dette kan være en enkel, flytende gjennomsnittlig crossover for eksempel I nesten alle systemer der er noen parametre som gjennomsnittsperiode som bestemmer hvordan gitt system oppfører seg, det vil si at det er godt egnet for langsiktig eller kort sikt, hvordan reagerer det på svært volatile aksjer osv. Optimaliseringen er prosessen med å finne optimale verdier for de parametrene som gir høyest fortjeneste fra systemet for et gitt symbol eller en portefølje med symboler AmiBroker er en av de svært få programmene som gir deg mulighet til å optimere systemet på flere symboler samtidig. For å optimalisere systemet må du definere fra en opptil ti parametere som skal optimaliseres. hva er minimum og maksimum tillatt verdi for parameteren og i hvilke trinn denne verdien skal oppdateres AmiBroker utfører deretter flere tilbakemeldinger som systemet bruker A LL mulige kombinasjoner av parameterværdier Når denne prosessen er ferdig, viser AmiBroker listen over resultater sortert etter nettoresultatet. Du kan se verdiene for optimaliseringsparametere som gir best resultat. Skrive AFL formel. Optimalisering i back tester støttes via ny funksjon kalles optimalisere Syntaxen til denne funksjonen er som følger. variabel optimaliser Beskrivelse, standard min max trinn. variabel - er normal AFL-variabel som får tildelt verdien returnert ved å optimalisere funksjonen Ved normal backtesting, skanning, leting og kommende moduser optimaliserer funksjonen returnerer standard verdi, slik at ovennevnte funksjonsanrop svarer til variabel standard. I optimaliseringsmodus optimaliserer funksjonen returnerer suksessive verdier fra min til maks inklusive med trinnsteging. Beskrivelsen er en streng som brukes til å identifisere optimaliseringsvariabelen og vises som et kolonnenavn i optimaliseringsresultatlisten. default er en standardverdi som optimaliserer avkastningen i leting , indikator, kommentar, skanning og normal tilbakestillingstest. min er en minimumsverdi av variabelen som er optimalisert. max er en maksimumsverdi av variabelen som er optimalisert. step er et intervall som brukes til å øke verdien fra min til max. AmiBroker støtter opptil 64 samtaler for å optimalisere funksjonen derfor opptil 64 optimaliseringsvariabler, merk at hvis du bruker uttømmende optimalisering, er det veldig godt å begrense antall optimaliseringsvariabler til bare få. Hver samtale for å optimalisere generere maksimalt trinnoptimaliseringsløkker og flere samtaler for å optimalisere multiplisere antall forsøk som trengs. For eksempel kan optimalisering av to parametere ved hjelp av 10 trinn kreve 10 10 100 optimaliseringsløkker. Kall optimaliser funksjonen bare ONCE per variabel ved begynnelsen av formelen din, da hvert anrop genererer en ny optimaliseringsløkker. Multiple-symbol optimalisering er fullt støttet av AmiBroker. Maksimal søkeplass er 2 64 10 19 10 000 000 000 000 000 000 kombinasjoner.1 Enkel variabel optimalisering. sigavg Optimaliser S antenn gjennomsnitt 9 2 20 1.Buy Cross MACD 12 26, Signal 12 26 sigavg Selg Cross Signal 12 26 sigavg, MACD 12 26.2 To-variabel optimalisering egnet for 3D charting. per Optimaliser per 2 5 50 1 Nivå optimaliser nivå 2 2 150 4.Kryss kryss CCI per, - Level selg kryss nivå, CCI per.3 Flere 3 variable optimization. mfast Optimaliser MACD Fast 12 8 16 1 mslow Optimaliser MACD Slow 26 17 30 1 Sigavg Optimaliser Signal gjennomsnitt 9 2 20 1.Buy Cross MACD mfast , mslow Signal mfast, mslow, sigavg Selg kryssignal mfast, mslow, sigavg, MACD mfast, mslow. Etter å ha kommet inn i formelen klikker du bare på Optimaliser-knappen i vinduet Automatisk analyse AmiBroker vil begynne å teste alle mulige kombinasjoner av optimaliseringsvariabler og rapportere resultatene i listen Etter at optimalisering er gjort, vises resultatlisten sortert etter nettoresultatet. Da du kan sortere resultatene med en hvilken som helst kolonne i resultatlisten, er det enkelt å få de optimale verdiene av parametere for lavest drawdown, laveste antall handler, største prof den faktor, laveste markedseksponering og høyeste risiko justert årlig avkastning De siste kolonnene i resultatlisten presenterer verdiene for optimaliseringsvariabler for gitt test. Når du bestemmer hvilken kombinasjon av parametere som passer dine behov, er det beste du trenger å erstatte standard verdier for å optimalisere funksjonssamtaler med de optimale verdiene. På nåværende stadium må du skrive dem manuelt i formellredigeringsvinduet, den andre parameteren for å optimalisere funksjonssamtalen. Viser 3D animerte optimaliseringsdiagrammer. For å vise 3D-optimaliseringskart, må du kjøre to - variabel optimalisering først To variable optimalisering trenger en formel som har 2 Optimaliser funksjonsanrop Et eksempel på to variabel optimaliseringsformel ser ut som this. per Optimaliser per 2 5 50 1 Nivå optimaliser nivå 2 2 150 4.Buy Cross CCI per, - Level Sell Cross Nivå, CCI per. Når du har skrevet inn formelen må du klikke på Optimer knappen. Når optimaliseringen er fullført, bør du klikke på rullegardinpilen på Optimaliser-knappen og velge Se 3D-optimaliseringsgraf I et par sekunder vises et fargerikt tredimensjonalt overflateplott i et 3D-kartvisningsvindu. Et eksempel 3D-diagram generert ved hjelp av over formel er vist nedenfor. Som standard viser 3D-diagrammer verdiene av nettoresultatet mot optimaliseringsvariabler. Du kan men plott 3D overflate diagram for en hvilken som helst kolonne i optimeringsresultat tabellen Bare klikk på kolonneoverskriften for å sortere den blå pilen vil vises som indikerer at optimaliseringsresultater er sortert etter valgt kolonne og deretter velg Vis 3D-optimaliseringsgraf igjen. Ved å visualisere hvordan systemet ditt s parametere påvirker handelsprestasjonen, kan du lettere bestemme hvilke parameterverdier som produserer skjøre og som gir robust systemytelse. Robuste innstillinger er regioner i 3D-grafen som viser gradvis snarere enn brå endringer i overflateplottet. 3D-optimaliseringskart er et godt verktøy for å hindre kurve - montering Kurvepassing eller overoptimalisering oppstår når systemet er mer komplekst enn det må være, og al Jeg var kompleks med fokus på markedsforhold som aldri kan skje igjen. Radikale endringer eller pigger i 3D-optimaliseringsdiagrammer viser tydelig overoptimaliseringsområder. Du bør velge parameterregion som produserer et bredt og bredt platå på 3D-diagram for ditt virkelige handelsparameter Parameter sett produserer profitt spikes vil ikke fungere pålitelig i ekte trading.3D chart viewer kontroller. AmiBroker s 3D chart viewer tilbyr total visning evner med full grafrotasjon og animasjon Nå kan du se systemresultatene dine fra alle tenkelige perspektiv Du kan kontrollere posisjonen og andre parametere av diagrammet ved hjelp av musen, verktøylinjen og hurtigtastene, uansett hva du finner enklere for deg. Nedenfor finner du listen .- å rotere - hold nede VENSTRE museknapp og flytte i XY retninger - for å zoome inn, zoome ut - hold ned HØYRE museknapp og flytte i XY retninger - å flytte oversette - hold nede VENSTRE museknapp og CTRL-nøkkel og flytte i XY retninger - å animere - hold nede VENSTRE museknapp, dra raskt og slipp knappen mens du drar. SACE - animere automatisk rotere VENSTRE PIL NØKKEL - roter vert venstre HØYRE PIL NØKKEL - roter vert høyre OPP PIL NØKKEL - roter horisonten NED PIL NØKKEL - drei ned horisonten NUMPAD PLUS - I nærheten zoom inn NUMPAD - MINUS - Lang zoom ut NUMPAD 4 - Flytt til venstre NUMPAD 6 - Flytt til høyre NUMPAD 8 - Flytt opp NUMPAD 2 - Flytt ned PAGE UP - Vannnivå opp PAGE DOWN - Vannnivå down. Smart ikke-uttømmende optimalisering. AmiBroker nå tilbyr smart, ikke-uttømmende optimalisering i tillegg til vanlig, uttømmende søk. Ikke-uttømmende søk er nyttig hvis antall av alle parameterkombinasjoner av gitt handelssystem er rett og slett for stort til å være gjennomførbart for uttømmende søk. Utfyllende søk er helt fint så lenge det er rimelig å bruke det. La oss si at du har 2 parametere som varierer fra 1 til 100 trinn 1 Det er 10000 kombinasjoner - perfekt OK for uttømmende søk Nå med 3 parametre har du 1 million kombinasjoner - det er fortsatt OK for uttømmende sår ch men kan være lengdig Med 4 parametre har du 100 millioner kombinasjoner og med 5 parametere 1 100 har du 10 milliarder kombinasjoner I så fall vil det være for tidkrevende å sjekke dem alle, og dette er området der ikke-uttømmende smart - søkemetoder kan løse problemet som ikke kan løses i rimelig tid ved hjelp av uttømmende søk. Her er absolutt den enkleste instruksjonen hvordan du bruker ny, ikke-uttømmende optimizer i dette tilfellet CMA-ES.1 Åpne formelen din i Formula Editor.2 Legg til dette enkeltlinje øverst på formula. OptimizerSetEngine cmae du kan også bruke spso eller trib here.3 Valgfritt Velg optimaliseringsmål i Automatisk analyse, Innstillinger, Walk-Forward-felt, Optimaliseringsmålfelt Hvis du hopper over dette trinnet, vil det optimalisere for CAR MDD-sammensatt årlig avkastning dividert med maksimal drawdown. Now hvis du kjører optimalisering ved hjelp av denne formelen, vil den bruke ny evolusjonær ikke-uttømmende CMA-ES optimizer. Hvordan fungerer det. Optimaliseringen er prosessen med å finne min imum eller maksimum av gitt funksjon. Et hvilket som helst handelssystem kan betraktes som en funksjon av et visst antall argumenter. Inngangene er parametere og sitatdata. Utgangen er ditt optimaliseringsmål, sier CAR MDD. Og du leter etter maksimal gitt funksjon. Noen av smart optimalisering algoritmer er basert på naturdyrsadferd - PSO-algoritme, eller biologisk prosess - Genetiske algoritmer, og noen er basert på matematiske konsepter avledet av mennesker - CMA-ES. Disse algoritmer brukes på mange forskjellige områder, inkludert økonomi. Oppgi PSO-finansiering eller CMA - ES finans i Google, og du vil finne mye info. Ingen uttømmende eller smarte metoder vil finne global eller lokal optimal. Målet er selvsagt å finne global en, men hvis det er en eneste skarp topp ut av zillions parameterkombinasjoner, uttømmende metoder kan mislykkes i å finne denne enkle toppen, men å ta det til grunn for handelsmannens perspektiv, er å finne en enkelt skarp topp ubrukelig for handel fordi dette resultatet ville være instabil for skjøre og n ot replicable i ekte handel I optimaliseringsprosessen ser vi fremdeles platåregioner med stabile parametere, og dette er området der intelligente metoder skinner. Som en algoritme som brukes av ikke-uttømmende søk, ser det ut som følger. a optimalisereren genererer noen vanligvis tilfeldig start populasjon av parameter sett b backtest utføres av AmiBroker for hvert parameter sett fra befolkningen c resultatene av backtestene blir evaluert i henhold til algoritmen logg og ny befolkning genereres basert på utviklingen av resultater, d hvis det nye beste er funnet - lagre det og gå til trinn b til stoppkriteriene er oppfylt. Eksempelstoppkriteriene kan inneholde en nåverdig spesifisert maksimal iterasjoner b stopp hvis rekkevidden av de beste objektivverdiene for de siste X-generasjonene er null c-stopp hvis du legger til 0 1 standardavviksvektor i en hovedakse retning endrer ikke verdien av objektiv verdi d andre. For å bruke en hvilken som helst smart, ikke-uttømmende optimizer i AmiBroker må du spesifisere optimaliseringsenheten ingen e du vil bruke i AFL-formelen ved hjelp av OptimizerSetEngine-funksjonen. Funksjonen velger ekstern optimaliseringsmotor definert ved navn AmiBroker leverer for øyeblikket med 3 motorer Standard Particle Swarm Optimizer spso, stamme tribune og CMA-ES cmae - navnene i seler skal være brukes i OptimizerSetEngine-samtaler. I tillegg til å velge optimaliseringsmotor, kan det hende du vil angi noen av sine interne parametere. For å gjøre det, bruk OptimizerSetOption-funksjonen. OptimalisererSetOptikk navn, verdifunksjon. Funksjonen angir tilleggsparametere for ekstern optimaliseringsmotor Parametrene er motoravhengige Alle Tre optimaliserere som sendes med AmiBroker SPSO, Trib, CMAE støtter to parametre. Kjører antall løp og MaxEval maksimal evalueringstester per enkelt løp. Oppførselen til hver parameter er motoravhengig, slik at samme verdier kan og vil gi forskjellige resultater med forskjellige motorer som brukes. Forskjellen mellom Runs og MaxEval er som følger Evaluering eller test er single backtest eller evaluatio n av objektiv funksjonsverdi RUN er en full runde av algoritmen som finner optimal verdi - vanligvis involverer mange tester evalueringer. Hvert løp bare RESTARTS hele optimaliseringsprosessen fra den nye begynnelsen ny første tilfeldig populasjon Derfor kan hvert løp føre til å finne forskjellig lokal max min hvis det ikke finner global en så kjører parameter definerer antall påfølgende algoritme kjører MaxEval er det maksimale antall evalueringer bactests i en enkelt run. If problemet er relativt enkelt og 1000 tester er nok til å finne global max, er 5x1000 mer sannsynlig å finn global maksimal fordi det er mindre sjanser til å bli sittende fast i lokal max, da etterfølgende løp vil starte fra forskjellige begynnende tilfeldige populasjoner. Valg av parameterverdier kan være vanskelig Det avhenger av problem under test, dets kompleksitet osv. Enhver stokastisk ikke-uttømmende Metoden gir deg ikke garanti for å finne global maks min, uavhengig av antall tester hvis det er mindre enn uttømmende. Det enkleste svaret er å spesifisere så mange tester som det er rimelig for deg når det gjelder tid som kreves for å fullføre. Et annet enkelt råd er å multiplisere med 10 antall tester med å legge til en ny dimensjon. Det kan føre til at man overskrider antall tester som kreves, men det er ganske trygt Sendte motorer er konstruert for å være enkle å bruke. Derfor brukes rimelige standardautomatiske verdier, slik at optimalisering vanligvis kan kjøres uten å spesifisere noe som aksepterer standardinnstillinger. Det er viktig å forstå at alle smarte optimaliseringsmetoder fungerer best i kontinuerlige parameterrom og relativt jevnt mål Funksjoner Hvis parameterplass er diskrete evolusjonære algoritmer kan ha problemer med å finne optimal verdi. Det gjelder spesielt for binære på av parametre - de er ikke egnet for noen søkemetode som bruker gradient av objektiv funksjonsendring som de fleste smarte metoder gjør hvis ditt handelssystem inneholder mange binære parametere, bør du ikke bruke smart optimizer direkte på dem i stedet forsøk å optimalisere bare kontinuerlige parametere ved hjelp av smart optimizer, og bytt binære parametre manuelt eller via eksternt script. SPSO - Standard Particle Swarm Optimizer. Standard Particle Swarm Optimizer er basert på SPSO2007 kode som skal produsere gode resultater, forutsatt at riktige parametere, dvs Runs, MaxEval er gitt for et bestemt problem Å velge riktige alternativer for PSO optimizer kan være vanskelig, derfor kan resultatene variere vesentlig fra sak til sak. leveres med full kildekoder i ADK-undermappe. Eksempelkode for Standard Particle Swarm Optimizer å finne optimal verdi i 1000 tester innenfor søkeområdet på 10000 kombinasjoner. OptimalisererSetEngine spso OptimizerSetOption kjører, 1 OptimizerSetOption MaxEval, 1000.sl Optimaliser s, 26, 1, 100, 1 fa Optimaliser f, 12, 1, 100, 1.Buy Cross MACD fa, sl, 0 Selg Kors 0, MACD fa, sl. TRIBES - Adaptiv Parameter-mindre Partikkel Swarm Optimizer. Tribes er adaptiv, parameter-mindre versjon av PSO partikkel swarm optimalisering ikke-uttømmende optimizer For vitenskapelig bakgrunn se. I teorien skal det fungere bedre enn vanlig PSO, fordi det kan automatisk justere svømmestørrelser og algoritme strategi for å løse problemet. Praktikk viser at ytelsen er ganske lik PSO. Plugin implementerer Tribes-D dvs. dimensjonsløs variant Basert på av Maurice Clerc Originale kildekoder brukt med tillatelse fra forfatteren. leveres med full kildekode inne i ADK-mappen. Støttede parametere MaxEval - maksimalt antall evalueringsbacktests per run default 1000.You bør øke antall evalueringer med økende antall dimensjoner antall optimaliseringsparameter Standard 1000 er bra for 2 eller maksimalt 3 dimensjoner. Runs - Antall kjører starter på nytt 5 Du kan forlate antall kjøringer med standardverdien på 5.Kontrollert antall kjøringer eller omstart er satt til 5.Til å bruke Stammer optimizer, trenger du bare å legge til en linje i koden din. OptimizerSetOption MaxEval, 5000 5000 evalueringer max. CMA-ES - Covariance Matrix Adaptation Evolutionær Strategi Optimizer. CMA-ES Covariance Matrix Adaptation Evolusjonær Strategi er avansert ikke-uttømmende optimizer For vitenskapelig bakgrunn se I henhold til vitenskapelige referanser overgår ni andre, mest populære evolusjonære strategier som PSO, Genetisk og Differensiell evolusjon. Plugin implementerer global variant av søk med flere omstart med økende pop Vektstørrelse kommer med full kildekode inne i ADK-mappen. Standard antall kjøringer eller omstart er satt til 5 Det anbefales at du forlater standardnummeret på nytt. Du kan variere det ved hjelp av OptimizerSetOption Kjører, N-anrop, hvor N skal være innenfor rekkevidde 1 10 Angi mer enn 10 løp anbefales ikke, selv om det er mulig Merk at hver løp bruker TWICE størrelsen på populasjonen i forrige runde, slik at den vokser eksponentielt. Derfor med 10 løp slutter du med befolkningen 2 10 større 1024 ganger enn den første runden. Der er en annen parameter MaxEval Standardverdien er null, noe som betyr at plugin vil automatisk beregne MaxEval påkrevd Det anbefales at IKKE definere MaxEval selv fordi standard fungerer fint. Algoritmen er smart nok til å minimere antall evalueringer som kreves, og det konvergerer veldig fort til løsningspunkt, så ofte finner det løsninger raskere enn andre strategier. Det er normalt at plugin vil hoppe over noen evalueringstrinn, hvis det oppdager at løsningen ble funnet, derfor e du bør ikke bli overrasket over at optimaliseringsfremdriftslinjen kan bevege seg veldig fort på noen punkter Pluggen har også mulighet til å øke antall trinn over opprinnelig estimert verdi dersom det er nødvendig for å finne løsningen På grunn av sin adaptive natur, er den estimerte tiden igjen og eller antall trinn som vises i fremdriftsdialogboksen, er bare den beste gjetningen, og kan variere under optimaliseringskurs. For å bruke CMA-ES optimizer trenger du bare å legge til en linje i koden. Dette vil kjøre optimaliseringen med standardinnstillinger som er bra for de fleste tilfeller. Det skal bemerkes, som det er tilfellet med mange continouos-plasssøkalgoritmer, påvirker den avtagende trinnparameteren i Optimaliser funciton-anrop ikke signifikant optimaliseringstider. Det eneste som betyr noe er problemdimensjonen, dvs. Antall forskjellige parametre Antall optimere funksjonsanrop Antall trinn per parameter kan settes uten å påvirke optimaliseringstiden, så bruk den fineste oppløsningen du vil ha i teorien y algoritmen skal kunne finne en løsning på maksimalt 900 N 3 N 3 backtests hvor N er dimensjonen I praksis konvergerer det en masse raskere For eksempel kan løsningen i 3 N 3-dimensjonal parameter plass si 100 100 100 1 million uttømmende trinn kan finnes i så få som 500-900 CMA-ES-trinn. Multi-threaded individuell optimalisering. Ved å starte fra AmiBroker 5 70 i tillegg til fler-symbol multithreading kan du utføre multi-threaded single-symbol optimalisering. For å få tilgang til denne funksjonaliteten, klikk på drop pil ned ved siden av Optimaliser knappen i vinduet Ny analyse og velg Individuell optimalisering. Individuell optimalisering vil bruke alle tilgjengelige prosessorkjerner til å utføre enkeltsymboloptimalisering, noe som gjør det mye raskere enn vanlig optimalisering. I nåværende symbolmodus vil den utføre optimalisering på ett symbol I alle symboler og filtermodi vil det behandle alle symbolene i rekkefølge, dvs. første fullstendige optimalisering for første symbol, deretter optimalisering på andre symbol etc. Limitations 1 Custo m backtester er IKKE støttet ennå 2 Smart optimeringsmotorer støttes IKKE - bare EXHAUSTIVE optimalisering fungerer. Til slutt kan vi bli kvitt begrensning 1 - når AmiBroker er endret, slik at egendefinert backtester ikke bruker OLE lenger. Men 2 er sannsynligvis her for å være for lenge. Om for AmiBroker. for AmiBroker er en tredjeparts programvarepakke som gir full programmerbarhet til AmiBroker for AmiBroker dekker alle programmerbare funksjoner i AmiBroker. AFL-skript. NET AFL-plugins kan erstatte eventuelle AFL-skript helt eller delvis. AFL-plugin-moduler kan få tilgang til datarammer, AFL-funksjoner, backtesterobjekter akkurat som et AFL-skript AflXCompiler-verktøyet kan oversette AFL-skript til C-kode som reduserer tid og kostnad for å konvertere skript til kompilert kode. Data plugin-moduler NET Data plugins gir en enklere måte å samle offline eller sanntids trading data og mate dem til AmiBroker s database. OLE automatisering grensesnitt Automation wrapper klasser hjelper til å kjøre AmiBroker optimalisering prosesser fra eksterne prosesser skrevet på noen språk ParallelAB bibliotek tillater at flere forekomster av AmiBroker brukes parallelt med å utføre flere optimaliseringsoppgaver samtidig. IBController IBController wrapper klasser hjelper å bruke IB trading grensesnitt fra code. All programmerbare AmiBroker funksjoner kan være en ciced og brukes fra kode som bruker et hvilket som helst språk. Indikatorer, filtre, skannere, utforskninger, tilpassede backtestermoduler, automatiserte og realtids trading systemer, optimeringsprogrammer og datakilde plugins, OLE automatiseringsprogrammer eller data lasting osv. kan utvikles i C, F, eller et hvilket som helst språk. for AmiBroker for handelssystemutviklere. Utvid eller erstatt dine AFLs med code. AFL plug-in-utvikling som en gang pleide å utfordre selv erfarne CC-utviklere kan nå gjøres på hvilket som helst språk veldig enkelt og raskt NET-plugin-moduler kan utvide eller erstatte fullstendig AFL skript AFL inkluderer filer som enkelt kan konverteres til AFL-plug-in AFL-indikatorer, skannere, utforskninger, backtester-moduler, realtids trading moduler, etc. kan opprettes i ren eller i en blanding av AFL og NET-kode kan enkelt få tilgang til alle de innebygde, i AFL-metoder og objekter av backtester-grensesnittet. Datakilde-plugin-moduler kan også utvikles på hvilket som helst språk Ved hjelp av datagrensesnittet er det mye enklere enn det opprinnelige CC-grensesnittet. De gir fortsatt den fulle funksjonaliteten til det opprinnelige grensesnittet og forenkler integrasjonen av off - linje og streaming data kilder. Real time trading ved hjelp av IBController trading grensesnitt for AmiBroker gir enkel integrasjon av AFL indikatorer, handelslogikk i objektorientert kode og AmiBroker Auto-trading grensesnitt for Interactive Brokers Det administrerte IBController-grensesnittet og plugin-modulene sammen gir nye, enklere, mer pålitelige og håndterbare måter å skape realtids trading systems. Integrate AmiBroker til din egendefinerte tradingprosess for AmiBroker forenkler også integrasjonen av alle slags av applikasjoner i AmiBroker Ved å gjøre integrasjonen av applikasjoner med COM-grensesnitt som Excel, Access, Word, R, SciLab, MatLab, etc, en enkel oppgave. Det er også ubegrensede integrasjonsmuligheter ved hjelp av klassebiblioteket. E g NET-plugin-moduler kan sende tilpassede sende e-post, send SMS, ring en web-tjeneste, få tilgang til filer, kommunisere med et eksternt handelshåndteringssystem via nettverket eller til og med motta arrangement fra et eksternt system. Utvikle utvikling ved hjelp av klasser og trinnvis feilsøking for AmiBroker reduserer utviklingstiden og sparer mye tid Trinn for trinn feilsøking bidrar til å feilsøke og fikse feil. Designmålet var å gjøre AmiBroker enkel å bruke og stil l effektive NET plugin-moduler krever ingen VVS-kode som CC-plugin-moduler. Utviklere kan skrive kode så fort som å skrive AFL-kode eller konvertere AFL-koden nesten linje for linje til C VB og VB-skriptutviklere kan skrive plugin-moduler ganske enkelt inn. ParallelAB bibliotek hjelper deg med å effektivt bruke all maskinvaren din til omfattende optimalisering, leting, skanneoppgaver. Det lar deg enkelt utvikle automatiseringskode som kan kjøre flere AmiBroker prosesser for å utføre forskjellige oppgaver ved hjelp av forskjellige databaser, selv på distribuert maskinvare. for AmiBroker for handelssystem lisensgivere for AmiBroker er en enkel løsning for black box trading systemutviklere for å beskytte, lisens og selge sine systemer AFL-skript kan enkelt og raskt konverteres til plugins uten å etterlate offentlig handelslogikk i AFL-filer. NET-plugins kan beskyttes og lisensiert av kommersielle beskyttelsesverktøy som IntelliLock CliSecure lisensiering lisensiering Pro osv. De beskyttede pluginene kan bli publisert Kun kunder som fikk lisens for sine maskiner kan bruke beskyttede plugin-moduler. for AmiBroker for datatjeneste providers. Data plug-in utviklingen er svært utfordrende, komplisert oppgave Det krever mye utvikler kunnskap og erfaring CC, skrive og feilsøk multithreaded kode, AmiBroker s data plug-in grensesnitt og data leverandør grensesnitt for AmiBroker løfter barriere for utvikling av datakilder ved å gi et forenklet datakildegrensesnitt for å integrere med AmiBroker og biblioteksfunksjoner for enkelt å behandle mottatte handelsdata i anførselstegn. Forutsatte datakildeprøverkoder bidrar også til å forstå den interne strukturen og prosessene til datakildene. 14. oktober 2011. Lagt til 29. februar 2012, ekstra poeng å vurdere.1 Dette systemet er avhengig av å få nøyaktige fyllinger til den åpne prisen. For å oppnå slike fyllinger krever en kvalitet, minimumsforsinkelsesdatainnføring og avanserte programmeringsferdigheter for å implementere handelsautomatisering.2 Når innstillingen er angitt prisen litt under den åpne prisen, og prøver å forbedre ytelsen, svikter systemet. Selv forbedrer prisen med bare ett øre dreper systemet Dette antyder at det meste av fortjenesten kommer fra dager hvor den åpne prisen var lik den daglige Lav, dvs. prisen gikk opp fra Åpen og aldri falt under den Dette er selvsagt åpenbart For å bekrefte dette la jeg til denne testtilstanden det ser ut til å utelukke dager som Open Low. Buy Kjøp og IKKE O L. Dette dreper systemet og viser at det meste av fortjenesten kommer fra dager der OL For ytterligere å bekrefte dette la jeg til motsatt tilstand. Kjøp Kjøp OG O L. Dette gir nesten uendelig fortjeneste og viser at de fleste profittene kommer fra dager som prisen går opp umiddelbart fra Open og aldri returnerer under det. Å prøve å forbedre inngangsprisen er en feil man bør legge inn på et Stop-sett 1-2 ct over den åpne prisen, dette vil eliminere dager når prisen synker og aldri slår tilbake. Dette forbedrer ytelsen signifikant.3 Dette systemet handler knee-jerk trader-respons mønstre. Slike mønstre blir vanligvis druknet av store volumhandel og dermed denne sys Tem fungerer mye bedre når du velger ticker med volumer mellom 500 000 og 5.000 000 aksjer dag. Dette forbedrer også ytelsen betydelig. Å legge til de ovennevnte to funksjonene resulterer i en egenkapitalkurve mye bedre enn det som er vist nedenfor. Beklager, jeg har ikke tid til å dokumentere det ovenfor i større detalj Lykke til. Dette innlegget skisserer en veldig enkel Langtids handelsidee som kjøper til en gitt prosentandel under igår s Lav, og avslutter neste dag s Åpne Mens det noen ganger kan være vanskelig å få den nøyaktige Åpen pris, høy lønnsomhet av dette systemet gjør det til en god kandidat for videre eksperimenter. Systemet fungerer godt med Watchlister som N100, SP500, SP1500, Russel 1000 osv. Ytelse på Russel 1000, med maksimale åpne posisjoner satt til 1, for perioden 12 10 2003 til 12 10 2011, ser slik ut. Noen av de andre Watchlists gir mindre eksponeringsoverskudd, men dette kommer med lavere DDs provisjoner ble satt til 0 005 per aksje. Ingen margin brukt. Ingen eksplisitt rangering er brukt tickers er tra ded basert på deres alfabetiske sortering i overvåkingslisten Dette kan virke merkelig, men er vesentlig å reversere denne typen, systemet mislykkes. Dette kan bety at på grunn av sanntidsscaningsproblemer, kan symboler oppført på toppen av denne typen bli handlet annerledes enn de som er oppført på bunnen. Vær oppmerksom på Likviditet du vil ha mer enn en posisjon og slippe. Entry er ganske risikofri, men utganger kan være problematiske. DD er signifikante, men kan kompenseres med bedre handelstransaksjoner og utganger i sanntid. Når du handler automatisk Det kan være mulig å plassere OCA DAY-LMT oppføringsordrer for alle signaler, og bare vent og se hva som fylles. Siden utganger er vanskeligere enn oppføringer, kan det være lurt å utforske andre utgangsstrategier. Parameterstandardverdier hentes bare ut av en lue Nesten absolutt du kan optimalisere dem eller justere dem dynamisk for individuelle tickers Jeg har testet dette systemet kort i Walk-Forward-modus og resultatene var lønnsomme for alle årene testet. Bortsett fra nummeret av handlede handlede parametere virker ikke veldig kritiske Overoptimalisering virker ikke som et problem i dette tilfellet. Koden nedenfor er veldig enkel og krever få forklaringer. Det er imidlertid viktig å forstå at dette systemet har en liten kant ved å handle på Open, og ved å beregne TrendMA ved hjelp av samme Åpen pris Noen kan tolke dette som fremtidig lekkasje, men hvis du handler dette systemet i sanntid, er det ikke Mange innser ikke at hvis du handler på Open, kan du også bruke denne prisen i beregningene dine så lenge du utfører dem i sanntid, er dette hvor AmiBroker og teknologi kan gi deg en kant Hvis du refterer TrendMA med en linje, er systemet fortsatt svært lønnsomt, men DDs øker for noen Watchlister Hvis du bruker faste investeringer, forskjellen er ubetydelig. Handelsprosedyren ville være å begynne å skanne før markedet åpnes og fjerne tickers som er priset så fjernt at de ikke sannsynligvis vil møte OpenThresh. Du kan derfor begynne å skanne 1000 sju mbols men veldig raskt vil det skannede nummeret synke til bare et dusin eller så tickers Når du nærmer deg 9 30:00, vil din sanntidsskanning bli veldig rask, og du vil kunne plassere LMT-bestillingen svært nær Open du kan til og med være i stand til for å forbedre på den åpne prisen. Selv om noen få så på koden under og ikke funnet noe galt, synes overskuddet å være ganske høyt for et slikt enkelt system. Vennligst rapporter feil du måtte se. Ferdig av Herman kl 07 03 under Ideas Experimental Comments Av på EOD Gap-Trading Portfolio-systemet. 1. september 2011. Denne ideen ble postet 161332 på den viktigste AmiBroker-listen den 3. juli 2011 Det var mange gode kommentarer på listen, og hvis du er interessert i å jobbe med dette systemet, gjør du det bra å lese dem alle før du begynner Etter innlegging fant jeg en rekke innlegg på nettet som diskuterte denne handelsideen. Noen hevdet å være å handle et lignende system med god suksess. Jeg omtalte dette systemet et Gap Trading-system, men dette kan være litt av en misnomer, Mean re versjonen kan være en bedre klassifisering Googling for det vil få deg mange flere treff til lignende systemer Her er noen koblinger. Det ser ut til å være en ganske diskutert tradingide og jeg foreslår at du skal gjøre noen Googling på egen hånd for å lære den siste As en Amibroker-bruker har du bedre verktøy enn de fleste handelsfolk, og du har en bedre sjanse enn de fleste til å komme opp med en variant som virker. Kanskje med litt mindre fortjeneste, og med en betydelig mengde tilleggskode, vil det ikke bli et quicky-prosjekt. Noen folk kommenterte at dette systemet ikke vil fungere i ekte handel, mens de kan være riktige andre sier ordninger som dette arbeidet, jeg klarte ikke å fullføre systemet og kan ikke kreve å vite om det er omsettelig eller ikke. Systemet kjøper med en viss prosentandel under yesterday s Low, on a LMT order, and exits in the same day at the Close. Filed by Herman at 6 53 pm under Ideas Experimental Comments Off on A Long-only EOD Gap trading idea. I use a small setup criteria to scan for my stocks. MACD default, I l ook for Histogram 4 down bars and 1 up bar for buy signal I have the histogram set to red for down and blue for up so I can see clearly MACD above Zero Line RSI Above 30 This system is base on trend trading Buying on pullback when the market continues its up trend. To scan for MACD Trend setups.1 Insert the following formula into a chart.2 Run a Scan in AA using SMACDTrend with All symbols n last days n 1 and Sync chart on select as the settings. Stocks that meet the criteria will be reported in the Results list. Note Some variations of the setup rules can define signals that are quite rare and in small databases it is possible that there will be no setups on any given day hence no stock will be reported by the scan.3 Click on any symbol in the Results pane to view the chart, for that symbol, in the background. Note In this example a training database, that only contains data up to 5 11 2007, was used. Trading idea by protraderincments and formula by Bill WaveMechanic. Filed by brianz at 11 06 pm under Ideas Experimental Comments Off on MACD Trend System. October 14, 2007.Filed by brianz at 10 43 pm under Ideas Experimental Comments Off on 15 Day Performers Trading System. August 19, 2007.This is the first in a series off KISS keep it simple, stupid trading ideas for you to play with All system ideas presented here are unproven, unfinished, and may contain errors They are intended to show possible patterns for further exploration As always, you are invited to make comments and or add your own ideas to this series. I prefer real-time systems that trade fast, are automated, and are devoid of traditional indicators Preferably, they should have no optimizable parameters however, I may not always be able to meet this objective Not all systems will be that simple there will be some that use simple averaging or HHV LLV type functions The first system shown below is a copy of the demo system I use to develop Trade-Automation routines elsewhere on this site. Real-Time Gap-Trading To s ee how this works, you should Backtest it on 1-minute data with a periodicity in the range of 5-60 minutes Your first impression may be that these profits are simply due to an up market, however, the fact that Long and Short profits are about equal suggests there is more to it Because 98 of all trades fall between 9 30 AM and 10 30 AM, this type of system is nice if you just want to trade a short time each day This reduces risk with respect to market exposure and gives you more time to enjoy other activities. Backtesting this on the NASDAQ-100 watchlist individual backtests, 15 min Periodicity gives the profits shown below for the period of 1 MAR 2007 to 17 AUG 2007 Ticker names are omitted to keep the chart compact the chart simply shows a net profit bar for each ticker tested Average exposure for this system is about 15 hence, you may be able to trade portfolios to increase profits and smooth the equity curves Be cautioned that in its raw form the drawdowns are unacceptable and that there may be volume restrictions for many tickers. Since this system has low exposure, it may be a candidate for market scanning and ranked portfolio trading RARs would be an indication of the absolute maximum profits that could be obtained if one succeeded to increase exposure to near 100 However, price movement from different tickers may be correlated, and trades from different tickers may overlap If many tickers trade at the same time, it would be difficult to increase system exposure. Edited by Al Venosa. Filed by Herman at 1 49 pm under Ideas Experimental Comments Off on KISS-001 Intraday Gap Trading. August 17, 2007.You are invited to submit links to system ideas in comments to this post. Gap Trading Strategies Stockcharts Intraday Moving Average Crossover with Position Sizing NeoTicker Volatility-Breakout-Systems Traders Log Ten day High Low system StockWeblog Reversion Systems SeekingAlpha Systems Traders Club Trader Club Bulletins. July 16, 2007.This category is reserved for real wo rking trading systems, i e that you have traded at some point in time or would consider trading Since the criteria for tradability varies from person to person, and since systems may work or not depending on how they are traded, it will be difficult to screen contributions here With respect to what is posted here, keep an open mind and consider that the poster considers the system tradable. You can contribute by posting as an author requires registration or in a comment to this post. Filed by Herman at 11 14 am under Practical Profitable Comments Off on Introduction to Trading Systems Practical. This is where you can share trading systems that are marginally profitable, i e those that should not be traded as they are but that show potential Typically this would be a basic system that is profitable but experiences draw downs of 50 Such systems can often be improved by adding Stops, Targets, Money Management, Portfolio techniques, etc The reality is that while you may not have the expertise to make it work someone else may. Almost all of us find trading system ideas in books and magazines that we then code in AFL for evaluation Some of these systems may have been around for many years while others are new ideas After coding them, almost always, we are disappointed and chuck out the system work Instead of throwing out your work you are invited to post the system here to give another developer a chance to fix it. You are invited to contribute as an author requires registration or in a comment to this post. Filed by Herman at 11 04 am under Ideas Experimental Comments Off on Introduction to Trading Systems Ideas.

No comments:

Post a Comment