커뮤니티

글번호 45570번 재질문

프로필 이미지
통큰베팅
2015-12-18 14:35:25
100
글번호 93595
답변완료
답변감사드립니다. 그런데 요청드리는 것은 5번째가 아닌 5개봉(첫번째, 두번째, 세번째, 네번째, 다섯번째)입니다. 다섯개 봉으로 다시 요청드립니다. 당일 5개봉값으로 계산해서 1번 10일간 당일 5개봉 값으로 평균한 값을 계산하여 2번식으로 다시 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-18 16:19:12

안녕하세요 예스스탁입니다. 해당수식 수식내용에 보시면 idx로 당일봉을 카운트하고 당일 5번째봉에서 처리하게 되어 있습니다. 당일 5번째 봉에서 (if idx == 5 then) 당일 최고가와 최저가 시초가를 저장하므로 5개봉의 최고가와 최저가, 시가를 저장한 것과 같습니다. highest,lowest로 변경해 드리면 아래와 같습니다. 1. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0),idx(0),O2(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); var : O1(0),H1(0),L1(0); if bdate != bdate[1] Then{ entry1 = 0; idx = 0; } idx = idx+1; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; if idx == 5 then{ O1 = O[4]; H1 = highest(h,5); L1 = Lowest(L,5); ho1 = H1-O1; OL1 = O1-L1; HL1 = H1-L1; maho1 = ho1; maOL1 = Ol1; maHL1 = HL1; } if idx == 6 Then{ O2 = O; } if idx >= 6 and H1 > 0 then{ V1 = O2+maho1; V2 = O2-maOL1; V3 = O2+maHL1; V4 = O2-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); ExitShort("sl1",AtStop,V6); } } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[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]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); } 2. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0),idx(0),O2(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); Array : O1[20](0),H1[20](0),L1[20](0); if bdate != bdate[1] Then{ entry1 = 0; idx = 0; } idx = idx+1; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; if idx == 5 then{ O1[0] = O[5]; H1[0] = highest(H,5); L1[0] = Lowest(L,5); for cnt1 = 1 to 19{ O1[cnt1] = O1[cnt1-1][1]; H1[cnt1] = H1[cnt1-1][1]; L1[cnt1] = L1[cnt1-1][1]; } ho1 = H1[0]-O1[0]; OL1 = O1[0]-L1[0]; HL1 = H1[0]-L1[0]; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (H1[cnt1]-O1[cnt1]); sumOL1 = sumOL1 + (O1[cnt1]-L1[cnt1]); sumHL1 = sumHL1 + (H1[cnt1]-L1[cnt1]); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; } if idx == 6 Then{ O2 = O; } if idx >= 6 and H1[10] > 0 then{ V1 =O2+maho1; V2 = O2-maOL1; V3 = O2+maHL1; V4 = O2-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); ExitShort("sl1",AtStop,V6); } } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[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]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); } 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 글번호 45570번 재질문 > 답변감사드립니다. 그런데 요청드리는 것은 5번째가 아닌 5개봉(첫번째, 두번째, 세번째, 네번째, 다섯번째)입니다. 다섯개 봉으로 다시 요청드립니다. 당일 5개봉값으로 계산해서 1번 10일간 당일 5개봉 값으로 평균한 값을 계산하여 2번식으로 다시 부탁드립니다. 감사합니다.