예스스탁
예스스탁 답변
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 : 종목검색도 같이 부탁 드립니다.