커뮤니티

지표가 틀리게 나와서 문의 드립니다.

프로필 이미지
박두희
2025-05-20 18:41:09
300
글번호 190899
답변완료
키움수식 : 1. A=shift(c,-12+1); B=shift(c,-26+1); BB=BBandsUp(20,2); M=Macd(12,26); 조건1=CrossUp(A,BB(P1)) && !(M>0); Valuewhen(1,조건1&&!조건1(1),위치) 2.A=shift(c,-12+1); B=shift(c,-26+1); BB=BBandsUp(20,2); M=Macd(12,26); 조건2=CrossUp(B,BB(P2)) && !(M>0); Valuewhen(1,조건2&&!조건2(1),위치) P1 :0 P2 :25 위치: L 예스트레이더 input : 기간(20),midPeriod1(12),midPeriod2(26),BBandsUp(0); var: AA(0),BB(0),CC(0),DD(0),조건1(False),조건2(False),p1(0); AA=(c-midPeriod1+1); BB=(c-midPeriod2+1); CC=BollBandUp(20,2); DD=Macd(12,26); 조건1=CrossUp(AA,CC[0]) && !(DD>0); 조건2=CrossUp(BB,CC[25]) && !(DD>0); if 조건1 == true and 조건1[1] == False Then var1 = L; if 조건2 == true and 조건2[1] == False Then var2 = L; if var1 > 0 and Var2 > 0 Then Plot1(VAR1); Plot2(VAR2); 기준선 입니다. 추가 RQ : 종목검색도 같이 부탁 드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-19 10:56:20

안녕하세요 예스스탁입니다. 키움에서 shift로 값을 과거봉으로 이동시키면 이동된값을 과거봉의 다른값과 비교해 조건체크해서 선을 그려주게 됩니다. 이것은 과거봉에서 미래값을 이용을 하는 분인데 저희 프로그램에서는 봉기준 오론쪽값(미래값)은 사용하지 못하게 되어 있습니다. 즉 종가를 11봉전으로 이동해 11봉전의 볼밴상단을 돌파하는 내용이면 키움에는 과거 11봉전에 조건이 만족한 것으로 보고 표시가 될 수 있지만 저희 프로그램에서는 현재봉종가가 과거 11봉전 볼밴상단을 돌파하는 것으로 체크하고 현재봉에 표시가 됩니다. 올리신 수식에서 AA와 BB는 잘못된 내용입니다. 지표식 수정해 드립니다. 1 input : 기간(20),midPeriod1(12),midPeriod2(26),BBandsUp(0); var: AA(0),BB(0),CC(0),DD(0),조건1(False),조건2(False),p1(0); AA= c; BB= c; CC=BollBandUp(20,2); DD=Macd(12,26); //현재봉 종가가 11봉전 볼밴상단을 돌파하고 MACD가 0보다 크지 않으면 true 아니면 false 조건1=CrossUp(AA,CC[midPeriod1-1]) && !(DD>0); //현재봉 종가가 25봉전 볼밴상단을 돌파하고 MACD가 0보다 크지 않으면 true 아니면 false 조건2=CrossUp(BB,CC[midPeriod1-1]) && !(DD>0); #조건1이 전봉에 만족하지 않다고 현재봉에 만족하면 var1에 저가저장 if 조건1 == true and 조건1[1] == False Then var1 = L; #조건2가 전봉에 만족하지 않다고 현재봉에 만족하면 var2에 저가저장 if 조건2 == true and 조건2[1] == False Then var2 = L; if var1 > 0 and Var2 > 0 Then { Plot1(VAR1); Plot2(VAR2); } 2 종목검색은 조건내용이 모호합니다. 2개의 값중 하다를 돌파하면 검색되게 작성해 드립니다. input : 기간(20),midPeriod1(12),midPeriod2(26),BBandsUp(0); var: AA(0),BB(0),CC(0),DD(0),조건1(False),조건2(False),p1(0); AA= c; BB= c; CC=BollBandUp(20,2); DD=Macd(12,26); 조건1=CrossUp(AA,CC[midPeriod1-1]) && !(DD>0); 조건2=CrossUp(BB,CC[midPeriod1-1]) && !(DD>0); if 조건1 == true and 조건1[1] == False Then var1 = L; if 조건2 == true and 조건2[1] == False Then var2 = L; if CrossUp(C,var1) or CrossUp(C,var2) Then Find(1); 즐거운 하루되세요 > 박두희 님이 쓴 글입니다. > 제목 : 지표가 틀리게 나와서 문의 드립니다. > 키움수식 : 1. A=shift(c,-12+1); B=shift(c,-26+1); BB=BBandsUp(20,2); M=Macd(12,26); 조건1=CrossUp(A,BB(P1)) && !(M>0); Valuewhen(1,조건1&&!조건1(1),위치) 2.A=shift(c,-12+1); B=shift(c,-26+1); BB=BBandsUp(20,2); M=Macd(12,26); 조건2=CrossUp(B,BB(P2)) && !(M>0); Valuewhen(1,조건2&&!조건2(1),위치) P1 :0 P2 :25 위치: L 예스트레이더 input : 기간(20),midPeriod1(12),midPeriod2(26),BBandsUp(0); var: AA(0),BB(0),CC(0),DD(0),조건1(False),조건2(False),p1(0); AA=(c-midPeriod1+1); BB=(c-midPeriod2+1); CC=BollBandUp(20,2); DD=Macd(12,26); 조건1=CrossUp(AA,CC[0]) && !(DD>0); 조건2=CrossUp(BB,CC[25]) && !(DD>0); if 조건1 == true and 조건1[1] == False Then var1 = L; if 조건2 == true and 조건2[1] == False Then var2 = L; if var1 > 0 and Var2 > 0 Then Plot1(VAR1); Plot2(VAR2); 기준선 입니다. 추가 RQ : 종목검색도 같이 부탁 드립니다.