커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1696
글번호 230811
답변완료
수식문의
볼린저밴드 200.1 상한선과
볼린저밴드 200.2 중심선 사이에
캔들이 30봉 이상 있는 수식 부탁드립니다.
(종가기준으로 이탈하지 않으면 상관없습니다)
---------------------------------------- 200.1
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
---------------------------------------- 200.2
이런식으로 있으면 됩니다.
2024-09-30
947
글번호 183852
답변완료
틱차트에서 데이터로 있는 분봉 관련하여 문의드립니다.
안녕하세요 항상 도움 감사드립니다.
아래 코드를 사용하고 있는데요. 주차트(data1)를 틱 300으로 설정하고 밑에 데이터(data2~20)들을 분봉(30초)로 설정하였는데 프린트문으로 데이터를 뽑아보면 첨부된 파일
왼쪽처럼 틱차트가 30초전에 여러개 완성되는 경우가 있어 data2~20들이 빈경우가 있고
오른쪽처럼 틱차트가 1분단위이상이여서 data2~20들이 여러개에 봉이 발생하는데 하나만 찍히는 경우가 발생합니다. 이럴경우에 처리하는 방법이 있는지 문의드립니다.
아래코드는 IF문부분이 반복되어 생략하였습니다. 꼭 확인 부탁드립니다. 감사합니다.
var : var11(0),var12(0),var13(0),var14(0),var15(0),var1(0),var2(0);
var : var21(0),var22(0),var23(0),var24(0),var25(0);
var : var31(0),var32(0),var33(0),var34(0),var35(0),var36(0);
var : var41(0),var42(0),var43(0),var44(0),var45(0),var46(0);
var : var59(0),var52(0),var56(0),var57(0),var51(0);
var : var69(0),var62(0),var66(0),var67(0),var61(0),var63(0),var64(0),var65(0);
input : StartDate(20240102),EndDate(20240823);
input : StartTime(090000),EndTime(150000);
var : Tcond(false);
var : lastPrintTime(0);
if sDate >= StartDate and sDate <= EndDate Then
{
var11 = Data2(c);
var21 = Data6(c);
var34 = var33[1] - var33;
if (abs(Var21[1]-Var21)) > 100000 THEN
var15 =0;
ELSE IF var21[1] < 0 AND var21 > 0 THEN
var15 = var21 - var21[1];
ELSE IF var21[1] < 0 AND var21 < 0 THEN
var15 = var21 - var21[1];
ELSE IF var21[1] > 0 AND var21 < 0 THEN
var15 = var21[1] - var21;
ELSE IF var21[1] > 0 AND var21 > 0 THEN
var15 = var21[1] - var21;
ELSE
var15 = var21[1] - var21;
IF var59[1] < 0 AND var59 > 0 THEN
var69 = var59 - var59[1];
ELSE IF var59[1] < 0 AND var59 < 0 THEN
var69 = var59 - var59[1];
ELSE IF var59[1] > 0 AND var59 < 0 THEN
var69 = var59[1] - var59;
ELSE IF var59[1] > 0 AND var59 > 0 THEN
var69 = var59[1] - var59;
ELSE
var69 = var59[1] - var59;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if sDate >= StartDate and sDate <= EndDate and Tcond == true Then
{
# 현재봉이 마무리되고 다음 봉이 시작되는 시점에 print 실행
if (NextBarOpen > 0 and stime != lastPrintTime) Then
{
print("c:\win\data1.csv",",거래량,%.f,폭,%.2f,5이격,%.2f,10이격,%.2f,20이격,%.2f,미결제,%.f,비차익,%.f,매수수량,%.f,매수건수,%.f,매도수량,%.f,매도건수,%.f,매도총건수,%.f,매수총건수,%.f,매도총수량,%.f,매수총건수,%.f,상승체결,%.f,하락체결,%.f,상승건수,%.f,하락건수,%.f,체결건수,%.f,상승제외,%.f,하락제외,%.f,외선현,%.f,기현외현,%.f,기옵콜,%.f,기옵풋,%.f,차익,%.f,코10,%.2f,",V,var61,var63,var64,var65,var34,var15,var11,var12,var13,var14,var22,var23,var24,var25,var31,var32,Upticks,Downticks,Ticks,Var1,Var2,Var41,Var42,Var43,Var44,Var45,Var46);
lastPrintTime = stime;
}
Plot1(var34, "미결제약정");
Plot2(var11,"매수5호가수량");
Plot3(var12,"매수5호가건수");
Plot4(var13,"매도호5호가수량");
Plot5(var14,"매도5호가건수");
Plot6(var15,"비차익");
Plot7(var22,"매도총건수");
Plot8(var23,"매수총건수");
Plot9(var24,"매도총수량");
Plot10(var25,"매수총건수");
Plot11(var31,"상승체결");
Plot12(var32,"하락체결");
#Plot13(var15, "비차익2");
}
2024-09-30
961
글번호 183851
답변완료
수고하십니다
항상 좋은 일만 있으시기 바랍니다
pivot과 demark지표를 한시간 단위로
나오게 요청 합니다
2024-09-30
848
글번호 183843
답변완료
옵션 매매 수식부탁드립니다.
옵션 매매 수식부탁드립니다.
매도는 절대없습니다.
매수진입횟수 : 당일 1번
매수시간 08시45분 - 13시30분
익절,손절청산 08시45분 - 15시19분
당일청산 15시19분
옵션가격대별 매수수량
1) 가격이 0.01~0.1 일때 10개
2) 가격이 0.11~0.5 일때 6개
3) 가격이 0.51~1.0 일때 4개
4) 가격이 1.01 이상 일때 1개
매수조건
일봉에서 당일저가 대비 현재가가 20% 이상일때 즉시 매수.
한번만 매수진입합니다.
(현재가가 계속 20% 이상에서도 처음힌번만 매수한다.)
익절조건
매수후 120% 수익시 절반익절
200% 수익시 나머지 모두청산
매수수량이 1개일때는 200% 에서 청산
손절조건
매수후 50%손실시 모두청산
(손매매로 미리 청산 했으면 보유수량이 없을때는 매도되지 않게 가능한가요?)
(가능하다면 수식에 넣어주세요.)
각줄의 수식에 주석을 부탁드립니다
감사합니다
2024-09-30
732
글번호 183838
답변완료
지표 질문입니다
현재 캔들이 3캔들 최고가 일 때 3캔들 저가 가운데 2번째 저가를 표시한다
현재 캔들이 3캔들 최저가 일 때 3캔들 고가 가운데 2번째 고가를 표시한다
감사합니다
2024-09-30
788
글번호 183836
답변완료
지표
이동평균선 5일 20일 60일 120일중에
5일선만 상승하때 빨강색
하락하때 파랑색 잘 부탁드립니다
2024-09-30
758
글번호 183835
답변완료
강세약세패턴 강조식
매번 수고가 많으십니다.
다름이 아니라 영웅문의 프로그램 강조식 중에
강세약세 패턴 강조식(일명; 불기둥)이라는 아래의 수식이 있는데,
a = avg(v,20);
a(1) * 10 <=v
and
거래대금>=100000
and
c > o * m
m=1.12
이 수식을 예스트레이더에서 사용할수 있게 강조식으로 작성 부탁 드립니다.
2024-09-30
965
글번호 183834
답변완료
시스템식 변환 부탁드립니다
1. 300봉 이내에서 1분봉 기준으로
eavg(MACD(12,26),9)>MACD(12,26)
or
Simrido(10) <= 20
or
Disparity(25) <= 98
or
MFI(14) <= 20
일때 현재가 Buy하여 1.2% 등락률로 올랐을때 매도하는 시스템식
2. 1000봉 이내에서 3분봉 기준으로
eavg(MACD(12,26),9)>MACD(12,26)
and
Simrido(10) <= 20
and
Disparity(25) <= 98
and
MFI(14) <= 20
일때 현재가 Buy하여 1.2% 등락률로 올랐을때 매도하는 시스템식
3. 500봉 이내에서 5분봉 기준으로
eavg(MACD(12,26),9)>MACD(12,26)
&&
Simrido(10) <= 20
&&
Disparity(25) <= 98
&&
MFI(14) <= 20
일때 현재가+1호가 Buy하여 -2% 등락률로 떨어졌을때 1번 더 추가매수하고 1.2% 등락률로 올랐을때 매도하는 시스템식
2024-09-30
849
글번호 183833
답변완료
SuperTrend 시작위치 질문입니다.
주식 종목에 아래 SuperTrend 수식을 적용해보면,
시작 위치가 4번째 봉부터 표시 됩니다.
AtrPeriod로 지정된 위치부터 표시되도록 수정 부탁 드립니다.
input : AtrPeriod(13),factor(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0);
var : Color(0);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / AtrPeriod ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
{
direction = 1;
Color = Red;
}
if C < LowerBand Then
{
direction = -1;
Color = Blue;
}
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
Plot1(supertrend, "SuperTrend", Color, DEF, 1);
}
2024-09-30
780
글번호 183832