커뮤니티

문의드립니다.

프로필 이미지
카르마다
2022-12-25 16:57:04
1338
글번호 164842
답변완료
앞전에 문의했었는데 실제 적용해보니 첫 거래 이후 그다음은 거래가 되지 않습니다. 현재봉 포함을 빠뜨려서 그런듯도 합니다. 다시 한번 부탁드릴 내용을 정리하자면 "현재봉 포함하여" 직전 20봉 동안에 "가장 거래량이 많이 터진 봉"의 고가와 저가 중간값을 기준으로 그 아래에 있을때는 매수조건이 만족해도 매수신호가 안나오게 하고 싶습니다. 매도는 그 반대입니다. input : N(20); var : Hv(0),cnt(0),HVM(0); Input : Period1(5), Period2(20); var1 = ma(C,Period1); var2 = ma(C,Period2); HV = 0; HVM = 0; For cnt = 1 to N { if HV == 0 or (HV > 0 and V[cnt] > HV) Then { HV = V[cnt]; HVM = (H[cnt]-L[cnt])/2; } } if HV > 0 and C >= HVM and var1 > Var2 Then buy(); if HV > 0 and C <= HVM and var1 < Var2 Then Sell(); 수식 확인 부탁드립니다. ※ 시간이 되신다면 위의 매매신호가 안나오게하는 것외에 매수진입후 위의 진입제한 기준값인 고저 중간값 아래로 가면 즉시 청산되게 하는 청산식도 부탁드립니다. 노고에 늘 감사드립니다!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-12-26 15:43:02

안녕하세요 예스스탁입니다. HVM의 계산값이 잘못되어 있었습니다. 아래는 수정한 식입니다. 청산식도 추가해 드립니다. input : N(20); Input : Period1(5), Period2(20); var : Hv(0),cnt(0),HVM(0); var1 = ma(C,Period1); var2 = ma(C,Period2); HV = 0; HVM = 0; For cnt = 1 to N { if HV == 0 or (HV > 0 and V[cnt] > HV) Then { HV = V[cnt]; HVM = (H[cnt]+L[cnt])/2; } } if HV > 0 and C >= HVM and var1 > Var2 Then buy(); if HV > 0 and C <= HVM and var1 < Var2 Then Sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,HVM); if MarketPosition == -1 Then ExitShort("sx",AtStop,HVM); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 앞전에 문의했었는데 실제 적용해보니 첫 거래 이후 그다음은 거래가 되지 않습니다. 현재봉 포함을 빠뜨려서 그런듯도 합니다. 다시 한번 부탁드릴 내용을 정리하자면 "현재봉 포함하여" 직전 20봉 동안에 "가장 거래량이 많이 터진 봉"의 고가와 저가 중간값을 기준으로 그 아래에 있을때는 매수조건이 만족해도 매수신호가 안나오게 하고 싶습니다. 매도는 그 반대입니다. input : N(20); var : Hv(0),cnt(0),HVM(0); Input : Period1(5), Period2(20); var1 = ma(C,Period1); var2 = ma(C,Period2); HV = 0; HVM = 0; For cnt = 1 to N { if HV == 0 or (HV > 0 and V[cnt] > HV) Then { HV = V[cnt]; HVM = (H[cnt]-L[cnt])/2; } } if HV > 0 and C >= HVM and var1 > Var2 Then buy(); if HV > 0 and C <= HVM and var1 < Var2 Then Sell(); 수식 확인 부탁드립니다. ※ 시간이 되신다면 위의 매매신호가 안나오게하는 것외에 매수진입후 위의 진입제한 기준값인 고저 중간값 아래로 가면 즉시 청산되게 하는 청산식도 부탁드립니다. 노고에 늘 감사드립니다!