Autostock Forum  

Gå tillbaka   Autostock Forum > Support för AutoTrader > Handelsstrategier
FAQ Medlemslista Kalender Sök Dagens inlägg Markera forum som lästa

Svara
 
Ämnesverktyg Visningsalternativ
  #1  
Gammal 2018-03-05, 16:59
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
Intraday

Jag har fått frågor om intradagshandel och en specifik om ORB (open-range-breakout). Jag sätter därför igång en tråd där strategier och idéer kring intrahandel diskuteras. Eftersom att kunskapsnivån i scriptspråket varierar är alla idéer och frågor välkomna.

Jag håller på att skruva ihop ORB som kommer snart.
Svara med citat
  #2  
Gammal 2018-03-05, 17:11
EMA EMA är inte uppkopplad
Nordic Autotrading Society HT21 Infinity
 
Reg.datum: Oct 2016
Inlägg: 139
Vad menar du med kommer snart? Open source som alla kan labba med?
Svara med citat
  #3  
Gammal 2018-03-05, 17:24
EMA EMA är inte uppkopplad
Nordic Autotrading Society HT21 Infinity
 
Reg.datum: Oct 2016
Inlägg: 139
Nedan har endast med börsöppning att göra, men kanske går att väga in? Vet inte om min tes är riktig ens då jag inte testat det.
Något som kanske har betydelse är om gårdagen stängde rejält upp eller ner?
Låt säga att det stänger ner dagen innan och sedan fortsätter det ner i öppningen så kan man kanske (får testas fram) ha större chans att det bryter upp? Och då kanske man skulle ta ett bet i de lägre regionerna av öppningsrangen för uppgång?
Så det blir inget agerande i just "Breakout"-momentet.
Svara med citat
  #4  
Gammal 2018-03-05, 17:53
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
ORB

Det finns flera varianter på Open-Range-Breakout. Jag har valt en enkel variant. High och Low för de första x-antal minuterna utgör nivåer för break-out. Därefter tas en long om kursen går över high och en short om kursen går under low. Det går att bygga på fler villkor och filter för den som så önskar.

{ sl) ORB LONG 2018-03-05 }
MiniBelopp:=10000 {minsta tillgängliga belopp för att handla }
Timme:=10 { Välj Tid(timme) för mätning av open range, här kl 10}
Minuter:=30 { i fall man vill kombinera mäterperioden för open-range med minuter }

i1(
idag=eqv(int(d),int(date())) { kursdatabasen och datorklockan är på samma dag }
öppet=ge(mult(1440,sub(market(c),frac(date()))),30) { välj minsta antal min innan stängning för att kunna ta long position}
mätperiod=and(and(lt(xtime(d,h),Timme),1{(lt(xtime(d,m),Minuter)}),idag) { open-range beräknas i mätperioden, här används inte minuter och ersatt med 1=sant }
feed_igår=find(gt(int(d),aref(int(d),1)),510,aref(c,1),1) { används som systemcheck i simulering }
BreakOut_level=hhv(if(and(not(eqv(c,feed_igår)),mätperiod),h,0),510) {högsta kurs i mätperioden, vill man ta bort extrema rörelser kan c, användas istället för h }
innehavOK=le(portfolio(v),0) { ligger ej long }
signal=gt(c,BreakOut_level) { kursen nått över open-range }
inte_samma_dag=gt(int(d),int(lasttrade(b,0))) { bara en long per dag }

{binder ihop villkoren för att exekvera order }
execute1=and(and(and(signal,innehavOK),öppet),ge(cash(t),MiniBelopp))
execute2=and(and(execute1,not(mätperiod)),gt(BreakOut_level,0))
execute3=and(execute2,inte_samma_dag)
retval(date(),0) {loggar tid/datum för senaste long, hämtas i script med lasttrade(b,0) }
and(execute3,1)

)


{ va) Antalscript ORB LONG 2018-03-05 }
Allokering:=20 {välj hur mycket av depån som ska allokeras till instrumentet. i % }
i1(
handelsbelopp=mult(sub(add(cash(a),cash(t)),mult(abs(cash(s)),2)),div(Allokering,100))
maxbelopp=if(gt(handelsbelopp,cash(t)),cash(t),handelsbelopp)
målantal=int(div(maxbelopp,c))
sub(målantal,portfolio(v))
)

{ sl) ORB EXIT-LONG 2018-03-05 }
Stopp_A_1:=1 { använd atr-stopp = 1, annars 0 }
Stopp_A_2:=mult(atrEx(10,a),0.5) { välj atr-stoppens storlek mätt på dagsbasis }

Stopp_P_1:=1 { använd %-stopp = 1, annars 0 }
Stopp_P_2:=0.5 { välj storlekt på %-stoppen }

i1(
innehav=gt(portfolio(v),0)
stängfördagen=le(mult(1440,sub(market(c),frac(date()))),5)

Stopp_A_3=and(lt(c,sub(lasttrade(b,p),Stopp_A_2)),Stopp_A_1)

Stopp_P_3=and(lt(c,mult(lasttrade(b,p),sub(1,div(Stopp_P_2,100)))),Stopp_P_1)

exit1=or(or(stängfördagen,Stopp_A_3),Stopp_P_3)
exit2=and(exit1,innehav)

)

{@A(0,)}

Antalscript för Exit Long är standardscriptet som finns i AT "Allt Innehav"

För aktier är prisscriptt säljkursen för Long och köpkursen för Exit_Long.
För index är prisscriptet senast betalt +/- vald slipp.

Edit: rättat så den inte kan ta position om breakout-nivån är noll.

Senast redigerad av Henric den 2018-03-06 klockan 10:50.
Svara med citat
  #5  
Gammal 2018-03-05, 17:57
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
Citat:
Ursprungligen postat av EMA Visa inlägg
Vad menar du med kommer snart? Open source som alla kan labba med?
Det är en offentlig strategi som bla Larry Williams har använt.
Bara att labba på. Kör försiktigt och labba in du kör skarpt.
Svara med citat
  #6  
Gammal 2018-03-05, 18:29
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
Citat:
Ursprungligen postat av EMA Visa inlägg
Nedan har endast med börsöppning att göra, men kanske går att väga in? Vet inte om min tes är riktig ens då jag inte testat det.
Något som kanske har betydelse är om gårdagen stängde rejält upp eller ner?
Låt säga att det stänger ner dagen innan och sedan fortsätter det ner i öppningen så kan man kanske (får testas fram) ha större chans att det bryter upp? Och då kanske man skulle ta ett bet i de lägre regionerna av öppningsrangen för uppgång?
Så det blir inget agerande i just "Breakout"-momentet.
Ja, det är möjligt. Jag har bara fått frågan och lagt ut den rakt av. Fritt fram om du vill labba.

Senast redigerad av Henric den 2018-03-05 klockan 18:35.
Svara med citat
  #7  
Gammal 2018-03-05, 20:09
HenrikSysts avatar
HenrikSyst HenrikSyst är inte uppkopplad
Administrator
 
Reg.datum: Aug 2016
Ort: Stockholm
Inlägg: 2 294
NAS kommer ev. att gästas av mannen med 1000 break-out strategier. Håller på att jobba på att han jackar upp sig 3 veckan i mars. Inget är klart och vi är tre personer i helt olika tidszoner som försöker sy ihop något.

Break-outs är för övrigt tacksamt. Kör själv ca 150 på lite olika marknader.
Svara med citat
  #8  
Gammal 2018-03-06, 20:49
onyx onyx är inte uppkopplad
Registered User
 
Reg.datum: Jun 2017
Ort: värmland
Inlägg: 35
ORB är en strategi som kan andvändas vid daytrading

hur fungerar systemet ?

- man identifierar den högsta kursen och den lägsta kursen under handelsdagens första timme på så sätt får man fram ett trading intervall

- man markerar kurserna på grafen eller skriver ner dom på ett papper

- så länge kurserna rör sig inom intervallet gör man ingenting utan bevakar intervallet för ett utbrott

- högsta och lägsta kurserna andvänds som trigger och stopploss

-endast en affär per riktning så som mest en long eller en kort som intas under en trading session

- positionen bör stängas under slutet av handelsdagen man ska inte övernatta med den

- ORB är kanske den lättaste strategin att lära sig men samtidigt svårt för man tar position på den högsta eller den lägsta kursen TEX en aktie kanske har gått upp 3 % den första timmen och när utbrottet kommer så måsta man ta position och det kan vara ett svårt beslut när aktien redan gått upp 3 %

- det bäste är om man hittar aktier som har rört sig inom ett litet intervall inom första timmen för utbrotten blir kraftigare och risken mindre på grund utav stopplossen

tack till Henric för scriptet ska bli intressant och testa
Svara med citat
  #9  
Gammal 2018-08-23, 10:20
Bari Bari är inte uppkopplad
Nordic Autotrading Society vår 2018
 
Reg.datum: Feb 2015
Ort: Stockholm
Inlägg: 208
Jag har labbat lite med scriptet nu. Missade när detta lades upp i mars. Med lite filter så är det klart användbart ut på OMX. Har precis analyserat resultaten och stämt av performance på lite olika filter vad som funkar och vad som inte gör det så ikväll ska jag testa resultatet igen.
Har inte alls fått det att fungera på andra index.
Har heller inte ännu fått till koden för short men det kommer.
Tack Henric!
Svara med citat
  #10  
Gammal 2018-08-28, 20:57
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
Kul att du har fått den att fungera med egna filter. Har du fått till short?
Svara med citat
  #11  
Gammal 2018-09-18, 09:08
Bari Bari är inte uppkopplad
Nordic Autotrading Society vår 2018
 
Reg.datum: Feb 2015
Ort: Stockholm
Inlägg: 208
Nej, har inte fått till short. Tar aldrig någon position med de ändringar som jag har försökt mig på. Något irriterande.
Svara med citat
  #12  
Gammal 2020-07-22, 15:29
Snoddas Snoddas är inte uppkopplad
Registered User
 
Reg.datum: Jul 2020
Inlägg: 6
Hej!

Jag är ny kund och försöker lära mig scriptspraket som verkar kraftfullt men ovant. Da jag först vill fa igang en breakoutstrategi för aktier har jag gett mig pa scriptet ovan och tänkte blasa liv i denna trad. Hoppas nagon kan svara pa följande fragor:

1. Jag testkörde scriptet imorse pa ett antal aktier. Jag körde i0, Timme = 9 och Minuter = 2. Vad jag förstar skall "Breakout_level" utgöras av det högsta avslutet under mätperioden. Dock triggade scriptet för flera aktier till ett pris som var lägre än toppnoteringen under perioden. Nagon som vet varför?

2. Varför "510" i scriptet?

3. Jag skulle vilja sätta en stop om kursen faller under lägsta avslutet under mätperioden eller sälja efter ett visst antal minuter. Blir dessa tillägg till scriptet rätt?

Köpscript:

Lower_level=llv(if(and(not(eqv(c,feed_igår)),mätperiod),l,0),510)
setgvarif(Lower_level,9999,1)

Säljscript:

stopptid:=60
köptid=lasttrade(b,d)
minSedanKöp=Mult(Sub(Date(),köptid),1440)
Lower_level=getgvar(9999)
exit1=or(gt(minSedanKöp,stopptid),lt(c,Lower_level))


4. Vad är den konceptuella skillnaden om jag kör scriptet i i0 vs i1?



Tack för svar!
Svara med citat
  #13  
Gammal 2020-07-22, 20:08
Bertils avatar
Bertil Bertil är inte uppkopplad
Registered User
 
Reg.datum: Sep 2011
Ort: Göteborg
Inlägg: 6 468
Hej!
Här kommer delsvar på några av frågorna.
1 & 4) Kör aldrig i0 ! Jag har scriptat sedan 2011 och aldrig fått till något vettigt script med i0. i0 går per tick dvs per avslut. Olika aktier har helt olika avslutsfrekvenser och ibland kommer avsluten i skurar.

2) 510 är antal minuter under en handelsdag.


mvh
Bertil
Svara med citat
  #14  
Gammal 2020-07-22, 21:34
Snoddas Snoddas är inte uppkopplad
Registered User
 
Reg.datum: Jul 2020
Inlägg: 6
Tack för svar Bertil.

Jag ska prova i1 imorgon bitti. Förhoppningsvis löser det problemet under 1).
Svara med citat
  #15  
Gammal 2020-07-22, 21:43
Henrics avatar
Henric Henric är inte uppkopplad
Moderator
 
Reg.datum: Dec 2011
Ort: Stockholm
Inlägg: 3 288
Precis. Det som skiljer mellan olika upplösningar är värden för indikatorer och perioder. Annars är det exakt samma kurser som kommer in. För att få det att stämma med scriptet måste upplösningen vara i1.


Lower_level=llv(if(and(not(eqv(c,feed_igår)),mätperiod),l,0),510)

0 blir förmodligen lägsta värdet och bör bytas ut.
Svara med citat
Svara


Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

vB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av
Forumhopp


Alla tider är GMT +1. Klockan är nu 05:24.


Programvara från: vBulletin® Version 3.6.8
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson