커뮤니티

지표식 수정

프로필 이미지
정구지
2024-11-13 06:17:33
635
글번호 185218
답변완료
바로 아래는 키움식인데 이것을 예스식으로 바꾸려고합니다. s=sum(1); A=valuewhen(1, s%봉수==1, O); As=valuewhen(1, s%봉수==1, S); B=valuewhen(1, s%봉수==0, C); Bs=valuewhen(1, s%봉수==0, S); AA=VALUEWHEN(1,AS<BS,A),-봉수+1; BB=VALUEWHEN(1,AS<BS,B),-봉수+1; LL=VALUEWHEN(1, S%봉수==0, lowest(l,봉수)); 흰선1=min(aa,bb); 음고1=valuewhen(1,As<Bs, A),-봉수+1; 양고1=valuewhen(1,As<Bs, B),-봉수+1; 평고1=if(음고1>=양고1,-(음고1-흰선1), +(양고1-흰선1)); qq1=sum(평고1, n2)/1000; qq2=crossup(qq1, 0) or crossdown(qq1, 0); qq3=if(qq2, 50, 0); valuewhen(1, qq3, h) 에서 위 고가 선과 위 식 유사부분은 생략.... valuewhen(1, qq3, l) 저 저가 선 사이에 봉(차트상의 봉사이에 그 바음 고저선이 나타나지 전까지 사이에 색상은 유지) 고저에 선이 그어지고 그 사이 색을 입히고 싶습니다. ( 봉수, n1, n2 는 변수로 설정하여 각각 100, 30, 70으로 임의로 우선 설정한다) 아래는 만들어 본 것인데... 에러가 너무 많아요 수정보다는 전체적으로 다시 작성을 부탁합니다. input : 봉수(75), n1(30), n2(200); // 변수 설정 var : s(0), A(0), As(0), B(0), Bs(0), AA(0), BB(0), LL(0), 흰선1(0), 음고1(0), 양고1(0), 평고1(0), qq1(0), qq2(false), qq3(0), qq33(0), qq22(false); // 카운터 변수 업데이트 s = s + 1; // 봉수와 관련된 가격 계산 A = iff(s % 봉수 == 1, Open, A); // 봉수마다 매수 가격 (시가) As = iff(s % 봉수 == 1, s, As); // 봉수마다 매수 시점 B = iff(s % 봉수 == 0, Close, B); // 봉수마다 종가 Bs = iff(s % 봉수 == 0, s, Bs); // 봉수마다 매도 시점 // 조건에 맞는 A, B값 계산 AA = iff(As < Bs, A, AA); BB = iff(As < Bs, B, BB); LL = iff(s % 봉수 == 0, lowest(Low, 봉수), LL); // 봉수만큼의 최저가 계산 // 흰선1 설정: AA와 BB 중 작은 값 흰선1 = min(AA, BB); // 음고1과 양고1 조건 설정 음고1 = iff(As < Bs, A, 음고1); 양고1 = iff(As < Bs, B, 양고1); // 평고1 계산 평고1 = iff(음고1 >= 양고1, -(음고1 - 흰선1), 양고1 - 흰선1); // qq1 계산: n2 기간 동안 평고1 합산 값 계산 qq1 = sumN(평고1, n2) / 1000; // 교차 여부 체크 qq2 = CrossUp(qq1, 0); // qq1 값이 0을 상향 교차하는지 확인 qq22 = CrossDown(qq1, 0); // qq1 값이 0을 하향 교차하는지 확인 // 교차 신호 발생 시 50, 그렇지 않으면 0 qq3 = iff(qq2, 50, 0); qq33 = iff(qq22, 50, 0); // 최종 출력 plot1 = iff(qq3 == 50, High, 0); // 상향 교차 고가 값 plot2 = iff(qq33 == 50, Low, 0); // 하향 교차 저가 값 Plot(plot1, "상향 교차 고가 값", colorRed); Plot(plot2, "하향 교차 저가 값", colorBlue);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-11-13 11:46:06

안녕하세요 예스스탁입니다. n1이 기존식에 없어 n1은 고가선, n2는 저가선에 사용되게 작성해 드립니다. input : 봉수(100),n1(30),n2(70); var : s(0),A(0),As(0),B(0),Bs(0),LL(0),AA(0),BB(0),음고1(0),양고1(0); var : 흰선1(0),평고1(0); var : qq1(0),qq2(False),qq3(0); var : ww1(0),ww2(False),ww3(0); s=s+1; if s%봉수 == 1 Then { A = O; As= S; } if s%봉수 == 0 Then { B= C; Bs = S; LL = lowest(L,봉수); } if AS < BS Then { AA = A; 음고1= A; } if AS < BS Then { BB = B; 양고1 = B; } 흰선1=min(aa,bb); 평고1=iff(음고1>=양고1,-(음고1-흰선1), (양고1-흰선1)); qq1=AccumN(평고1, n1)/1000; qq2=crossup(qq1, 0) or crossdown(qq1, 0); qq3=iff(qq2, 50, 0); if qq3 == 50 Then { var1 = H; } ww1=AccumN(평고1, n2)/1000; ww2=crossup(ww1, 0) or crossdown(ww1, 0); ww3=iff(ww2, 50, 0); if ww3 == 50 Then { var2 = L; } if var1 > 0 Then { Plot1(var1); } if var2 > 0 Then { plot2(var2); } 즐거운 하루되세요 > 정구지 님이 쓴 글입니다. > 제목 : 지표식 수정 > 바로 아래는 키움식인데 이것을 예스식으로 바꾸려고합니다. s=sum(1); A=valuewhen(1, s%봉수==1, O); As=valuewhen(1, s%봉수==1, S); B=valuewhen(1, s%봉수==0, C); Bs=valuewhen(1, s%봉수==0, S); AA=VALUEWHEN(1,AS<BS,A),-봉수+1; BB=VALUEWHEN(1,AS<BS,B),-봉수+1; LL=VALUEWHEN(1, S%봉수==0, lowest(l,봉수)); 흰선1=min(aa,bb); 음고1=valuewhen(1,As<Bs, A),-봉수+1; 양고1=valuewhen(1,As<Bs, B),-봉수+1; 평고1=if(음고1>=양고1,-(음고1-흰선1), +(양고1-흰선1)); qq1=sum(평고1, n2)/1000; qq2=crossup(qq1, 0) or crossdown(qq1, 0); qq3=if(qq2, 50, 0); valuewhen(1, qq3, h) 에서 위 고가 선과 위 식 유사부분은 생략.... valuewhen(1, qq3, l) 저 저가 선 사이에 봉(차트상의 봉사이에 그 바음 고저선이 나타나지 전까지 사이에 색상은 유지) 고저에 선이 그어지고 그 사이 색을 입히고 싶습니다. ( 봉수, n1, n2 는 변수로 설정하여 각각 100, 30, 70으로 임의로 우선 설정한다) 아래는 만들어 본 것인데... 에러가 너무 많아요 수정보다는 전체적으로 다시 작성을 부탁합니다. input : 봉수(75), n1(30), n2(200); // 변수 설정 var : s(0), A(0), As(0), B(0), Bs(0), AA(0), BB(0), LL(0), 흰선1(0), 음고1(0), 양고1(0), 평고1(0), qq1(0), qq2(false), qq3(0), qq33(0), qq22(false); // 카운터 변수 업데이트 s = s + 1; // 봉수와 관련된 가격 계산 A = iff(s % 봉수 == 1, Open, A); // 봉수마다 매수 가격 (시가) As = iff(s % 봉수 == 1, s, As); // 봉수마다 매수 시점 B = iff(s % 봉수 == 0, Close, B); // 봉수마다 종가 Bs = iff(s % 봉수 == 0, s, Bs); // 봉수마다 매도 시점 // 조건에 맞는 A, B값 계산 AA = iff(As < Bs, A, AA); BB = iff(As < Bs, B, BB); LL = iff(s % 봉수 == 0, lowest(Low, 봉수), LL); // 봉수만큼의 최저가 계산 // 흰선1 설정: AA와 BB 중 작은 값 흰선1 = min(AA, BB); // 음고1과 양고1 조건 설정 음고1 = iff(As < Bs, A, 음고1); 양고1 = iff(As < Bs, B, 양고1); // 평고1 계산 평고1 = iff(음고1 >= 양고1, -(음고1 - 흰선1), 양고1 - 흰선1); // qq1 계산: n2 기간 동안 평고1 합산 값 계산 qq1 = sumN(평고1, n2) / 1000; // 교차 여부 체크 qq2 = CrossUp(qq1, 0); // qq1 값이 0을 상향 교차하는지 확인 qq22 = CrossDown(qq1, 0); // qq1 값이 0을 하향 교차하는지 확인 // 교차 신호 발생 시 50, 그렇지 않으면 0 qq3 = iff(qq2, 50, 0); qq33 = iff(qq22, 50, 0); // 최종 출력 plot1 = iff(qq3 == 50, High, 0); // 상향 교차 고가 값 plot2 = iff(qq33 == 50, Low, 0); // 하향 교차 저가 값 Plot(plot1, "상향 교차 고가 값", colorRed); Plot(plot2, "하향 교차 저가 값", colorBlue);