커뮤니티

수식부탁드리빈다.

프로필 이미지
한짱
2016-11-15 19:57:01
157
글번호 104027
답변완료

첨부 이미지

주신 식대로 적용을 해 보았는데 매매 신호가 변곡점이 생기는 곳에서 발생이 되지 않고 다른 봉에서 발생이 되는데 확인부탁드립니다.. 정말 수식을 만들어 주셔서 다시한번 정말 감사드립니다. 번거로우시겠지만 다시한번 확인부탁드리겠습니다. 그리고 혹시 매매신호 부분이 어디서부터 어디까인지 구분이 가능할까요? 그리고 추가로 변폭 추세선과 매매신호를 var1 = StochasticsK(10,5); if crossup(var1,20) Then buy(); if CrossDown(var1,80) Then sell(); 스톡캐스틱 서식과 같이 적용하려면 어떻게 수정봐야하는지도 부탁드리겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-11-16 11:04:55

안녕하세요 예스스탁입니다. 해당 추세선의 변곡점에는 신호를 표시할수 없습니다, 현재 신호가 발생되는 위치가 직전고점과 저점을 확인하는 시점입니다. 변곡은 사후적으로 알게 되고 추세선은 과거봉의 특정시점사이에 연결선을 그린것 뿐입니다. 확인시점보다 이전봉에 신호를 발생할수는 없습니다. 신호 제외하고 추세선만 나오는 지표식 올려드립니다. Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL1,red); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; TL2 = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL2,BLUE); } } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,blue); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; TL3 = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL3,RED); } } } TL_SetSize(TL1,3); TL_SetSize(TL2,2); TL_SetSize(TL3,2); 즐거운 하루되세요 > 한짱 님이 쓴 글입니다. > 제목 : 수식부탁드리빈다. > 주신 식대로 적용을 해 보았는데 매매 신호가 변곡점이 생기는 곳에서 발생이 되지 않고 다른 봉에서 발생이 되는데 확인부탁드립니다.. 정말 수식을 만들어 주셔서 다시한번 정말 감사드립니다. 번거로우시겠지만 다시한번 확인부탁드리겠습니다. 그리고 혹시 매매신호 부분이 어디서부터 어디까인지 구분이 가능할까요? 그리고 추가로 변폭 추세선과 매매신호를 var1 = StochasticsK(10,5); if crossup(var1,20) Then buy(); if CrossDown(var1,80) Then sell(); 스톡캐스틱 서식과 같이 적용하려면 어떻게 수정봐야하는지도 부탁드리겠습니다.