커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6347
글번호 230811
답변완료
문의 드립니다.
input : periodK(500),smoothK(200),length(2),percent(0.5),showsupport(false);
var : src1(0),avalpha1(0),avud11(0),avdd11(0),avUD1(0),avDD1(0),avCMO1(0);
var : fk(0),kvalpha1(0),kvud11(0),kvdd11(0),kvUD1(0),kvDD1(0),kvCMO1(0),k(0),src(0);
src1 = close;
avalpha1 = 2/(length+1);
avud11 = iff(src1>src1[1] , src1-src1[1] , 0);
avdd11 = iff(src1<src1[1] , src1[1]-src1 , 0);
avUD1 = AccumN(avud11,9);
avDD1 = AccumN(avdd11,9);
avCMO1 = iff(IsNan((avUD1-avDD1)/(avUD1+avDD1))==true,0,(avUD1-avDD1)/(avUD1+avDD1));
VAR1 = iff(IsNan(avalpha1*abs(avCMO1)*src1) ==true,0,avalpha1*abs(avCMO1)*src1)+(1-avalpha1*abs(avCMO1))*iff(IsNan(VAR1[1])==true,0,var1[1]);
fk = FastK(PeriodK);
kvalpha1 = 2/(length+1);
kvud11 = iff(fk>fk[1] , fk-fk[1] , 0);
kvdd11 = iff(fk<fk[1] , fk[1]-fk , 0);
kvUD1 = AccumN(kvud11,9);
kvDD1 = AccumN(kvdd11,9);
kvCMO1 = iff(IsNan((kvUD1-kvDD1)/(kvUD1+kvDD1))==true,0,(kvUD1-kvDD1)/(kvUD1+kvDD1));
k = iff(IsNan(kvalpha1*abs(kvCMO1)*fk) ==true,0,kvalpha1*abs(kvCMO1)*fk)+(1-kvalpha1*abs(kvCMO1))*iff(IsNan(k[1])==true,0,k[1]);
src=k+1000;
var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),MAvg(0);
var : fark(0),longStop(0),longStopPrev(0),shortStop(0),shortStopPrev(0),dir(0),MT(0);
var : OTT(0);
valpha = 2/(length+1);
vud1 = iff(src>src[1] , src-src[1] , 0);
vdd1 = iff(src<src[1] , src[1]-src , 0);
vUD = AccumN(vud1,9);
vDD = AccumN(vdd1,9);
vCMO = iff(IsNan((vUD-vDD)/(vUD+vDD))== true,0,(vUD-vDD)/(vUD+vDD));
MAvg = iff(IsNan(valpha*abs(vCMO)*src),0,valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*iff(IsNaN(MAvg[1]),0,MAvg[1]);
fark=MAvg*percent*0.01;
longStop = MAvg - fark;
longStopPrev = iff(IsNan(longStop[1])== true, longStop,longStop[1]);
longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop);
shortStop = MAvg + fark;
shortStopPrev = iff(IsNan(shortStop[1])== true, shortStop,shortStop[1]);
shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop);
dir = 1;
dir = iff(isnan(dir[1]) ==true,dir,dir[1]);
dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir));
MT = iff(dir==1 , longStop , shortStop);
OTT = iff(MAvg>MT , MT*(200+percent)/200 , MT*(200-percent)/200);
plot1(src,"%K");
if showsupport Then
plot2(MAvg,"Support Line");
plot3(IFf(IsNan(OTT[2])==true,0,OTT[2]),"OTT");
PlotBaseLine1(1080, "Upper Band");
PlotBaseLine2(1020, "Lower Band");
위 수식에서 k선이 ott선을 교차하면 신호가 나오도록 해주세요.
2024-06-13
1436
글번호 180580
답변완료
이동평균선의 표시
15분 챠트에서 240분봉의 50일 이동평균선을 보고 싶습니다
해외선물이 24시간 매매되는 것이아니라 1시간 휴식시간이 있어서...문제가 있을 것 같은데요
240분봉의 50일 이동평균선을 15분 차트에서 볼려면 몇일 이동평균선을 사용해야 할까요?
2024-06-13
1024
글번호 180579
답변완료
문의드립니다.
안녕하세요
하기수식의 선을 최근 발생한 2개선만 우측으로 확장하여 보고싶습니다.
수고에 항상 감사드립니다.
input:봉수(1);
if (o<c)[1]then
(value1 = highest(h,봉수));
if value1 > 0 Then
plot1 (value1);
2024-06-12
963
글번호 180577
파워 님에 의해서 삭제되었습니다.
2024-06-12
881
글번호 180576
답변완료
수식 수정 의뢰 드립니다.
안녕하세요!
아래는 자동 행사가가 표시되는 수식입니다.
2.5 간격의 3가격 행사가처럼 행사가격 사이마다 자동으로 1.25의 중간값 선들이 같은 조건으로 추가되어 자동 표시되게 끔 수식 수정을 요청 드립니다.
감사합니다.
var : pv(0),r1(0),s1(0);
var1 = Floor(c/2.5);
var2 = var1*2.5;
var3 = c-var2;
if var3 >= 1.25 Then
pv = var2+2.5;
Else
pv = var2;
r1 = pv+2.5;
s1 = pv-2.5;
plot1(pv);
plot2(r1);
plot3(s1);
-----------------------------------------------
아래는 삼각가중이평 수식인데 수식에 오류가 있는 것 같습니다.
확인 부탁 드립니다.
input:Period(20),interval(2);
var : P1(0),P2(0),P3(0),P4(0),P5(0),P6(0),P7(0),P8(0),P9(0);
P1 = Period;
P2 = period+(interval*1);
P3 = period+(interval*2);
P4 = period+(interval*3);
P5 = period+(interval*4);
P6 = period+(interval*5);
P7 = period+(interval*6);
P8 = period+(interval*7);
P9 = period+(interval*8);
var1 =iff(FracPortion(p1*0.5)==0,ma(ma(c,p1*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p1*0.5)),Ceiling(p1*0.5)));
var2 =iff(FracPortion(p2*0.5)==0,ma(ma(c,p2*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p2*0.5)),Ceiling(p2*0.5)));
var3 =iff(FracPortion(p3*0.5)==0,ma(ma(c,p3*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p3*0.5)),Ceiling(p3*0.5)));
var4 =iff(FracPortion(p4*0.5)==0,ma(ma(c,p4*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p4*0.5)),Ceiling(p4*0.5)));
var5 =iff(FracPortion(p5*0.5)==0,ma(ma(c,p5*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p5*0.5)),Ceiling(p5*0.5)));
var6 =iff(FracPortion(p6*0.5)==0,ma(ma(c,p6*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p6*0.5)),Ceiling(p6*0.5)));
var7 =iff(FracPortion(p7*0.5)==0,ma(ma(c,p7*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p7*0.5)),Ceiling(p7*0.5)));
var8 =iff(FracPortion(p8*0.5)==0,ma(ma(c,p8*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p8*0.5)),Ceiling(p8*0.5)));
var9 =iff(FracPortion(p9*0.5)==0,ma(ma(c,p9*0.5),(p1*0.5)+1),ma(ma(c,Ceiling(p9*0.5)),Ceiling(p9*0.5)));
plot1(var1);
plot2(var2);
plot3(var3);
plot4(var4);
plot5(var5);
plot6(var6);
plot7(var7);
plot8(var8);
plot9(var9);
2024-06-12
1060
글번호 180575
답변완료
문의드립니다
수고하십니다.
시스템식부탁드립니다.
1. data1 rsi bull 매수식
2. data2 rsi bull 매수신호시
data1 매도식
더운날씨 건강유의하세요.
2024-06-12
1091
글번호 180574
답변완료
문의 드립니다.
안녕하세요.
다음은 VPVR(Visible Range Volume Profile)지표중 POC(Point of Control) 라인만 구현하고 싶어서 만들었는데
계속 오류가 납니다. 수정 부탁드립니다.
input: rangeStart(1), rangeEnd(100), priceStep(1), priceRange(100);
var: priceVolumeSum(0), maxVolume(0), POC(0);
var: i(0), j(0), tempPrice(0), tempVol(0), tempIdx(0);
array: volumeProfile ; // 배열 크기를 101로 설정하고 초기값을 0으로 설정
// 볼륨 프로파일을 초기화
for i = 0 to 100 begin
volumeProfile[i] = 0;
end;
// 범위 내 각 봉에 대해 볼륨 프로파일을 계산
for i = rangeStart to rangeEnd begin
tempPrice = Close[i];
tempVol = Volume[i];
tempIdx = int((tempPrice - Low[rangeEnd]) / priceStep);
if tempIdx >= 0 and tempIdx <= 100 then
volumeProfile[tempIdx] = volumeProfile[tempIdx] + tempVol;
end;
end;
// 최대 거래량이 발생한 가격(POC)을 찾음
for j = 0 to 100 begin
if volumeProfile[j] > maxVolume then begin
maxVolume = volumeProfile[j];
POC = Low[rangeEnd] + j * priceStep;
end;
end;
// POC를 차트에 라인으로 표시
if POC != 0 then
Plot("POC Line", POC, Gray, 2);
end;
2024-06-12
1236
글번호 180573
답변완료
검색식 부탁드립니다.
안녕하세요.
항상 노고가 많으십니다.
검색수식 하나 좀 부탁드립니다.
1. 월봉에서 2022년 3월봉(변수)을 기준으로 했을 경우 (input : 연도(2022),Month(3); 이런식으로 해주세요.)
5개전 봉부터 25개전봉까지의 고가로 최고가를 AA라 하고 종가로 최고가를 BB 라 하고
(이때 반드시 AA와 BB 조건의 경우 상장된지 얼마 안되어서 아직 25봉미만으로 봉이 형성 되더라도 DD조건을 만족하는 6봉이상만 되면(6봉이상 19봉 이하가 되더라도)
형성된 봉까지의 고가로 최고가를 AA라 하고 종가로 최고가를 BB 로 계산해서 수식을 작성해주세요.
예를 들어 상장된지 11개월밖에 안된 종목의 경우 5개전봉부터 10개봉전까지의 고가로 최고가가 AA가 되고 종가로 최고가는 BB가 되는 것입니다.)
현재봉부터 6개봉전까지의 종가로 최저가를 DD라 하고
2개전봉부터 4개전봉까지의 고가로 최고가를 EE라 한다면
현재봉의 고가가 AA 보다 크거나 같고
현재봉의 종가가 BB보다 크가나 같고
현재봉의 고가가 DD*10 보다 작고
1개전봉의 종가는 AA보다 작고
AA는 EE보다 크거나 같고
현재봉이 양봉이고 20이평선위이고
거래대금이 500억 이상이고 현재종가가 30000원이상인 종목을
검색하는 수식 부탁드립니다.
2024-06-12
1243
글번호 180572
답변완료
관심종목 문의
안녕하세요
관심종목에서 항목을 지우는 방법을 알려주세요 200개이상 쌓여서 지우려고 합니다
2024-06-12
961
글번호 180571