커뮤니티

문의드립니다.

프로필 이미지
비류천
2013-11-27 19:10:56
121
글번호 69849
답변완료
아래 시스템을 단순스토캐스틱과 지수스토캐스틱 2가지 경우로 부탁드립니다. 스토캐스틱10분봉 K가 D를 상향 돌파시 매수 (단, 스토캐스틱 30분봉 K > D 상태일때) *매수청산 1)10분봉 스토캐스틱 K 가 D를 하향 돌파시 청산 2)1포인트 수익시 청산 스토캐스틱10분봉 K가 D를 하향 돌파시 매수 (단, 스토캐스틱 30분봉 K < D 상태일때) *매도청산 1)10분봉 스토캐스틱 K 가 D를 상향 돌파시 매도 청산 2)포인트 수익시 청산
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-11-27 20:43:08

안녕하세요 예스스탁입니다. 1. input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6); var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0); var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0); var : SK(0),SD(0); Array : HH[50](0),LL[50](0); var1 = TimeToMinutes(stime)%Atime; if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; highVal = HH[0]; lowVal = LL[0]; for count = 0 to StoPeriod-1 { if HH[count] > highVal then highVal = HH[count]; if LL[count] < lowVal then lowVal = LL[count]; } StoFastK = (C-lowVal)/(highVal-lowVal)*100; #### Slow StochasticsK #### Ep = 2/(StoPeriod1+1); if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then { DINDEX = DINDEX + 1; PreStoK = StoK[1]; } if DINDEX <= 1 then StoK = StoFastK ; else StoK = StoFastK * EP + PreStoK * (1-EP); #### Slow StochasticsD #### Ep1 = 2/(StoPeriod2+1); if date != date[1] or var1 < var1[1] then { DINDEX = DINDEX + 1; PreStoD = StoD[1]; } if DINDEX <= 1 then StoD = StoK ; else StoD = StoK * EP1 + PreStoD * (1-EP1); SK = StochasticsK(StoPeriod,StoPeriod1); SD = StochasticsD(StoPeriod,StoPeriod1,StoPeriod2); if crossup(SK,SD) and stok > stod Then buy(); if MarketPosition == 1 and CrossDown(sk,sd) Then exitlong(); if CrossDown(SK,SD) and stok < stod Then sell(); if MarketPosition == -1 and CrossUp(sk,sd) Then ExitShort(); SetStopProfittarget(1,PointStop); 2. input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6); var : cnt(0),count(0),highVal(0), lowVal(0),Stok(0),StoD(0); var : sum1(0),sum2(0); var : stof10(0),stok10(0),stod10(0); Array : HH[50](0),LL[50](0),FK[50](0),SK[50](0); var1 = TimeToMinutes(stime)%Atime; if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; FK[cnt] = FK[cnt-1][1]; SK[cnt] = SK[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[StoPeriod] > 0 Then{ highVal = HH[0]; lowVal = LL[0]; for count = 0 to StoPeriod-1 { if HH[count] > highVal then highVal = HH[count]; if LL[count] < lowVal then lowVal = LL[count]; } FK[0] = (C-lowVal)/(highVal-lowVal)*100; } if FK[StoPeriod1] > 0 Then{ sum1 = 0; for cnt = 0 to StoPeriod1-1 { sum1 = sum1+FK[cnt]; } SK[0] = sum1/StoPeriod1; Stok = Sk[0]; } if StoK[StoPeriod2] > 0 Then{ sum2 = 0; for cnt = 0 to StoPeriod2-1 { sum2 = sum2+SK[cnt]; } StoD = sum2/StoPeriod1; } stof10 = FastK(StoPeriod); StoK10 = ma(stof10,StoPeriod1); StoD10 = ma(stok10,StoPeriod2); if crossup(StoK10,StoD10) and stok > stod Then buy(); if MarketPosition == 1 and CrossDown(StoK10,StoD10) Then exitlong(); if CrossDown(StoK10,StoD10) and stok < stod Then sell(); if MarketPosition == -1 and CrossUp(StoK10,StoD10) Then ExitShort(); SetStopProfittarget(1,PointStop); 즐거운 하루되세요 > 비류천 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래 시스템을 단순스토캐스틱과 지수스토캐스틱 2가지 경우로 부탁드립니다. 스토캐스틱10분봉 K가 D를 상향 돌파시 매수 (단, 스토캐스틱 30분봉 K > D 상태일때) *매수청산 1)10분봉 스토캐스틱 K 가 D를 하향 돌파시 청산 2)1포인트 수익시 청산 스토캐스틱10분봉 K가 D를 하향 돌파시 매수 (단, 스토캐스틱 30분봉 K < D 상태일때) *매도청산 1)10분봉 스토캐스틱 K 가 D를 상향 돌파시 매도 청산 2)포인트 수익시 청산