커뮤니티

함수 검수 요청

프로필 이미지
통큰베팅
2015-05-29 07:40:15
141
글번호 86525
답변완료

첨부 이미지

안녕하세요? 한투예스로 모의투자와 실전투자를 동시에 진행하고 있습니다. 장마감 전(오전 6시 15분)까지 청산을 하고자 수식을 넣었는데, 첨부와같이 장마감이 되었습니다. 1. 금일 아침에 개장해서보니, 모의투자 및 실전투자 모두에서 #3010 전략실행차트에서는 전일 마지막 거래내역 및 신호가 사라졌습니다. 2. 그런데 예스가 아닌 한투HTS에는 모의투자와 실계좌 무두 거래내역 및 포지션이 살아 있습니다. 물론 청산은 안되어 미결제약정으로 남아있구요 아래의 함수에서 당일청산이 안된이유가 무엇이며, 신호는 왜 사라졌으며, 다음에 어떤 신호(매수, 또는 매수청산)에 따라 기존 매수 포지션은 어떻게 처리 되나요? 적용한 함수는 다음과 같습니다. 상품은 CLN15입니다. 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
프로필 이미지

통큰베팅

2015-05-29 13:09:39

참고로 매도신호(s1)과 청산(sp1)은 다른 시스템에서 이루어진 신호입니다. > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수 검수 요청 > 안녕하세요? 한투예스로 모의투자와 실전투자를 동시에 진행하고 있습니다. 장마감 전(오전 6시 15분)까지 청산을 하고자 수식을 넣었는데, 첨부와같이 장마감이 되었습니다. 1. 금일 아침에 개장해서보니, 모의투자 및 실전투자 모두에서 #3010 전략실행차트에서는 전일 마지막 거래내역 및 신호가 사라졌습니다. 2. 그런데 예스가 아닌 한투HTS에는 모의투자와 실계좌 무두 거래내역 및 포지션이 살아 있습니다. 물론 청산은 안되어 미결제약정으로 남아있구요 아래의 함수에서 당일청산이 안된이유가 무엇이며, 신호는 왜 사라졌으며, 다음에 어떤 신호(매수, 또는 매수청산)에 따라 기존 매수 포지션은 어떻게 처리 되나요? 적용한 함수는 다음과 같습니다. 상품은 CLN15입니다. 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(); }
프로필 이미지

예스스탁 예스스탁 답변

2015-05-29 13:42:35

> 통큰베팅 님이 쓴 글입니다. > 제목 : Re : 함수 검수 요청 > 참고로 매도신호(s1)과 청산(sp1)은 다른 시스템에서 이루어진 신호입니다. > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수 검수 요청 > 안녕하세요? 한투예스로 모의투자와 실전투자를 동시에 진행하고 있습니다. 장마감 전(오전 6시 15분)까지 청산을 하고자 수식을 넣었는데, 첨부와같이 장마감이 되었습니다. 1. 금일 아침에 개장해서보니, 모의투자 및 실전투자 모두에서 #3010 전략실행차트에서는 전일 마지막 거래내역 및 신호가 사라졌습니다. 2. 그런데 예스가 아닌 한투HTS에는 모의투자와 실계좌 무두 거래내역 및 포지션이 살아 있습니다. 물론 청산은 안되어 미결제약정으로 남아있구요 아래의 함수에서 당일청산이 안된이유가 무엇이며, 신호는 왜 사라졌으며, 다음에 어떤 신호(매수, 또는 매수청산)에 따라 기존 매수 포지션은 어떻게 처리 되나요? 적용한 함수는 다음과 같습니다. 상품은 CLN15입니다. 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(); }