커뮤니티

문의드립니다

프로필 이미지
cjfdk
2025-11-24 17:03:33
50
글번호 228369
답변완료


input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26); var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0); var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0); var : senkouA(0); var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0); var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0); ATR1 = ATR(tenkan_len)*tenkan_mult; up1 = (h+L)/2 + ATR1; dn1 = (h+L)/2 - ATR1; upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1); lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1); os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1])); spt1 = iff(os1 == 1 , lower1 , upper1); max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1)); min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1)); tenkan = avg(max1,min1); ATR2 = ATR(kijun_len)*kijun_mult; up2 = (h+L)/2 + ATR2; dn2 = (h+L)/2 - ATR2; upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2); lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2); os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1])); spt2 = iff(os2 == 1 , lower2 , upper2); max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2)); min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2)); kijun = avg(max2,min2); senkouA = avg(kijun,tenkan); ATR3 = ATR(spanB_len)*spanB_mult; up3 = (h+L)/2 + ATR3; dn3 = (h+L)/2 - ATR3; upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3); lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3); os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1])); spt3 = iff(os3 == 1 , lower3 , upper3); max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3)); min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3)); senkouB = avg(max3,min3); tenkan_css = Red; kijun_css = Blue; cloud_a = teal; cloud_b = red; chikou_css = Green; plot1(tenkan,"Tenkan-Sen",tenkan_css); plot2(kijun,"Kijun-Sen",kijun_css); if CrossUp(tenkan,kijun) Then {       tx = Text_New(sDate,sTime,kijun,"b");       Text_SetStyle(tx,2,1); } if CrossDown(tenkan,kijun) Then {       tx =  Text_New(sDate,sTime,kijun,"s");       Text_SetStyle(tx,2,0); } 수고 많으십니다  위 지표를 이용한 시스템식을 부탁드립니다  Kijun-Sen 선의 값이 Tenkan-Sen 선의 값 보다 위에 있고 캔들 가격이 Kijun-Sen 선과 Tenkan-Sen 선의 중심보다 아래이면  매도진입 매수청산 Kijun-Sen 선의 값이 Tenkan-Sen 선의 값 보다 아래에 있고 캔들 가격이 Kijun-Sen 선과 Tenkan-Sen 선의 중심보다 위 면  매수진입 매도청산 익절 100틱  손절 100틱 익절이던 손절이던 청산 이후 같은 방향으로 연속 진입은 최대 3번까지 제한해 주십시요 그리고 진입이던 청산이던 봉 완성이 아닌 조건 만족시 진입 청산으로 부탁드립니다 항상 감사드립니다

시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-11-25 12:39:10

안녕하세요 예스스탁입니다.
올리신 내용에서 진입은 봉완성시로만 가능합니다.
input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26); input : 익절틱수(100),손절틱수(100),동일방향최대연속진입(3); var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0); var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0); var : senkouA(0); var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0); var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0),i(0),pstcnt(0); ATR1 = ATR(tenkan_len)*tenkan_mult; up1 = (h+L)/2 + ATR1; dn1 = (h+L)/2 - ATR1; upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1); lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1); os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1])); spt1 = iff(os1 == 1 , lower1 , upper1); max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1)); min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1)); tenkan = avg(max1,min1); ATR2 = ATR(kijun_len)*kijun_mult; up2 = (h+L)/2 + ATR2; dn2 = (h+L)/2 - ATR2; upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2); lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2); os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1])); spt2 = iff(os2 == 1 , lower2 , upper2); max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2)); min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2)); kijun = avg(max2,min2); senkouA = avg(kijun,tenkan); ATR3 = ATR(spanB_len)*spanB_mult; up3 = (h+L)/2 + ATR3; dn3 = (h+L)/2 - ATR3; upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3); lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3); os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1])); spt3 = iff(os3 == 1 , lower3 , upper3); max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3)); min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3)); senkouB = avg(max3,min3); pstcnt = 0; if MarketPosition == 0 Then { For i = 1 to 동일방향최대연속진입 { if MarketPosition(i) == 1 Then pstcnt = pstcnt+1; if MarketPosition(i) == -1 Then pstcnt = pstcnt-1; } } if ((MarketPosition == 0 and pstcnt != -동일방향최대연속진입) or (MarketPosition == 1)) and kijun > tenkan and C < (kijun+tenkan)/2 Then Sell(); if ((MarketPosition == 0 and pstcnt != 동일방향최대연속진입) or (MarketPosition == -1)) and kijun < tenkan and C > (kijun+tenkan)/2 Then Buy(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요