커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3385
글번호 230811
답변완료
부탁드립니다
#,아래식에서도움부탁드립니다,
1번식은 전일 저점대비 피봇등분선입니다, 이 식을 전일 종가대비로 수정하고 싶은데
자꾸 에라가 나네요 도움부탁드립니다.
2번식에서 Plot1값을 Text 출력하고 싶습니다.
1,
var : 고점(0),저점(0),hh(0),ll(0),hh1(0),ll1(0),s1(0),s2(0),s3(0),s4(0),s5(0);
Array : Tx[38](0);
S1 = DayOpen(0);
S2 = dayhigh(0);
S3 = daylow(0);
S4 = (dayhigh(0)+daylow(0))/2;
S5 = (DayOpen(0)+dayhigh(0)+daylow(0))/3;
if Bdate != Bdate[1] Then
{
hh = h;
ll = l;
hh1 = hh[1];
ll1 = ll[1];
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
if hh1 > 0 and ll1 > 0 then
{
고점 = hh1;
저점 = ll1;
var1 = 고점-저점;
plot1(저점+var1*3.000);
plot2(저점+var1*2.764);
plot3(저점+var1*2.618);
plot4(저점+var1*2.500);
plot5(저점+var1*2.382);
plot6(저점+var1*2.236);
plot7(저점+var1*2.000);
plot8(저점+var1*1.764);
plot9(저점+var1*1.618);
plot10(저점+var1*1.500);
plot11(저점+var1*1.382);
plot12(저점+var1*1.236);
plot13(저점+var1*1.000);
plot14(저점+var1*0.764);
plot15(저점+var1*0.618);
plot16(저점+var1*0.500);
plot17(저점+var1*0.382);
plot18(저점+var1*0.236);
plot19(저점+var1*0);
plot20(저점-var1*0.236);
plot21(저점-var1*0.382);
plot22(저점-var1*0.500);
plot23(저점-var1*0.618);
plot24(저점-var1*0.764);
plot25(저점-var1*1.000);
plot26(저점-var1*1.236);
plot27(저점-var1*1.382);
plot28(저점-var1*1.500);
plot29(저점-var1*1.618);
plot30(저점-var1*1.764);
plot31(저점-var1*2.000);
plot32(저점-var1*2.236);
plot33(저점-var1*2.382);
plot34(저점-var1*2.500);
plot35(저점-var1*2.618);
plot36(저점-var1*2.764);
plot37(저점-var1*3.000);
plot38(s1);
plot39(s2);
plot40(s3);
plot41(s4,"중심",iff(s4<s1[1],LGREEN,LGREEN));
plot42(s5);
text_Delete(Tx[1]);
tx[1] = Text_New(sdate,stime,저점+var1*3.000," 3.0%:"+NumToStr(저점+var1*3.000,0));
text_Delete(Tx[2]);
tx[2] = Text_New(sdate,stime,저점+var1*2.764," 2,7%: "+NumToStr(저점+var1*2.764,0));
text_Delete(Tx[3]);
tx[3] = Text_New(sdate,stime,저점+var1*2.618," 2,6%: "+NumToStr(저점+var1*2.618,0));
text_Delete(Tx[4]);
tx[4] = Text_New(sdate,stime,저점+var1*2.500," 2,5%: "+NumToStr(저점+var1*2.500,0));
text_Delete(Tx[5]);
tx[5] = Text_New(sdate,stime,저점+var1*2.382," 2,3%: "+NumToStr(저점+var1*2.382,0));
text_Delete(Tx[6]);
tx[6] = Text_New(sdate,stime,저점+var1*2.236," 2,2%: "+NumToStr(저점+var1*2.236,0));
text_Delete(Tx[7]);
tx[7] = Text_New(sdate,stime,저점+var1*2.000," 2,0%:"+NumToStr(저점+var1*2.000,0));
text_Delete(Tx[8]);
tx[8] = Text_New(sdate,stime,저점+var1*1.764," 1,7%: "+NumToStr(저점+var1*1.764,0));
text_Delete(Tx[9]);
tx[9] = Text_New(sdate,stime,저점+var1*1.618," 1,6%: "+NumToStr(저점+var1*1.618,0));
text_Delete(Tx[10]);
tx[10] = Text_New(sdate,stime,저점+var1*1.500," 1,5%: "+NumToStr(저점+var1*1.500,0));
text_Delete(Tx[11]);
tx[11] = Text_New(sdate,stime,저점+var1*1.382," 1,3%: "+NumToStr(저점+var1*1.382,0));
text_Delete(Tx[12]);
tx[12] = Text_New(sdate,stime,저점+var1*1.236," 1,2%: "+NumToStr(저점+var1*1.236,0));
text_Delete(Tx[13]);
tx[13] = Text_New(sdate,stime,저점+var1*1.00," 1,0%:"+NumToStr(저점+var1*1.000,0));
text_Delete(Tx[14]);
tx[14] = Text_New(sdate,stime,저점+var1*0.764," 7%: "+NumToStr(저점+var1*0.764,0));
text_Delete(Tx[15]);
tx[15] = Text_New(sdate,stime,저점+var1*0.618," 6%: "+NumToStr(저점+var1*0.618,0));
text_Delete(Tx[16]);
tx[16] = Text_New(sdate,stime,저점+var1*0.500," 5%: "+NumToStr(저점+var1*0.500,0));
text_Delete(Tx[17]);
tx[17] = Text_New(sdate,stime,저점+var1*0.382," 3%: "+NumToStr(저점+var1*0.382,0));
text_Delete(Tx[18]);
tx[18] = Text_New(sdate,stime,저점+var1*0.236," 2%: "+NumToStr(저점+var1*0.236,0));
text_Delete(Tx[19]);
tx[19] = Text_New(sdate,stime,저점+var1*0.000," 0%:"+NumToStr(저점+var1*0.000,0));
text_Delete(Tx[20]);
tx[20] = Text_New(sdate,stime,저점-var1*0.236," -2%: "+NumToStr(저점-var1*0.236,0));
text_Delete(Tx[21]);
tx[21] = Text_New(sdate,stime,저점-var1*0.382," -3%: "+NumToStr(저점-var1*0.382,0));
text_Delete(Tx[22]);
tx[22] = Text_New(sdate,stime,저점-var1*0.500," -5%: "+NumToStr(저점-var1*0.500,0));
text_Delete(Tx[23]);
tx[23] = Text_New(sdate,stime,저점-var1*0.618," -6%: "+NumToStr(저점-var1*0.618,0));
text_Delete(Tx[24]);
tx[24] = Text_New(sdate,stime,저점-var1*0.764," -7%: "+NumToStr(저점-var1*0.764,0));
text_Delete(Tx[25]);
tx[25] = Text_New(sdate,stime,저점-var1*1.000," -1,0%:"+NumToStr(저점-var1*1.000,0));
text_Delete(Tx[26]);
tx[26] = Text_New(sdate,stime,저점-var1*1.236," -1,2%: "+NumToStr(저점-var1*1.236,0));
text_Delete(Tx[27]);
tx[27] = Text_New(sdate,stime,저점-var1*1.382," -1,3%: "+NumToStr(저점-var1*1.382,0));
text_Delete(Tx[28]);
tx[28] = Text_New(sdate,stime,저점-var1*1.500," -1,5%: "+NumToStr(저점-var1*1.500,0));
text_Delete(Tx[29]);
tx[29] = Text_New(sdate,stime,저점-var1*1.618," -1,6%: "+NumToStr(저점-var1*1.618,0));
text_Delete(Tx[30]);
tx[30] = Text_New(sdate,stime,저점-var1*1.764," -1,7%: "+NumToStr(저점-var1*1.764,0));
text_Delete(Tx[31]);
tx[31] = Text_New(sdate,stime,저점-var1*2.000," -2,0%:"+NumToStr(저점-var1*2.000,0));
text_Delete(Tx[32]);
tx[32] = Text_New(sdate,stime,저점-var1*2.236," -2,2%: "+NumToStr(저점-var1*2.236,0));
text_Delete(Tx[33]);
tx[33] = Text_New(sdate,stime,저점-var1*2.382," -2,3%: "+NumToStr(저점-var1*2.382,0));
text_Delete(Tx[34]);
tx[34] = Text_New(sdate,stime,저점-var1*2.500," -2,5%: "+NumToStr(저점-var1*2.500,0));
text_Delete(Tx[35]);
tx[35] = Text_New(sdate,stime,저점-var1*2.618," -2,6%: "+NumToStr(저점-var1*2.618,0));
text_Delete(Tx[36]);
tx[36] = Text_New(sdate,stime,저점-var1*2.764," -2,7%: "+NumToStr(저점-var1*2.764,0));
text_Delete(Tx[37]);
tx[37] = Text_New(sdate,stime,저점-var1*3.000," -3,0%:"+NumToStr(저점-var1*3.000,0));
text_Delete(Tx[38]);
tx[38] = Text_New(sdate,stime,dayopen," Open :"+NumToStr(dayopen,0));
}
Text_SetStyle(tx[1],5,2);
Text_SetStyle(tx[2],5,2);
Text_SetStyle(tx[3],5,2);
Text_SetStyle(tx[4],5,2);
Text_SetStyle(tx[5],5,2);
Text_SetStyle(tx[6],5,2);
Text_SetStyle(tx[7],5,2);
Text_SetStyle(tx[8],5,2);
Text_SetStyle(tx[9],5,2);
Text_SetStyle(tx[10],5,2);
Text_SetStyle(tx[11],5,2);
Text_SetStyle(tx[12],5,2);
Text_SetStyle(tx[13],5,2);
Text_SetStyle(tx[14],5,2);
Text_SetStyle(tx[15],5,2);
Text_SetStyle(tx[16],5,2);
Text_SetStyle(tx[17],5,2);
Text_SetStyle(tx[18],5,2);
Text_SetStyle(tx[19],5,2);
Text_SetStyle(tx[20],5,2);
Text_SetStyle(tx[21],5,2);
Text_SetStyle(tx[22],5,2);
Text_SetStyle(tx[23],5,2);
Text_SetStyle(tx[24],5,2);
Text_SetStyle(tx[25],5,2);
Text_SetStyle(tx[26],5,2);
Text_SetStyle(tx[27],5,2);
Text_SetStyle(tx[28],5,2);
Text_SetStyle(tx[29],5,2);
Text_SetStyle(tx[30],5,2);
Text_SetStyle(tx[31],5,2);
Text_SetStyle(tx[32],5,2);
Text_SetStyle(tx[33],5,2);
Text_SetStyle(tx[34],5,2);
Text_SetStyle(tx[35],5,2);
Text_SetStyle(tx[36],5,2);
Text_SetStyle(tx[37],5,2);
Text_SetStyle(tx[38],5,2);
Text_SetStyle(tx[39],5,2);
Text_SetStyle(tx[40],5,2);
Text_SetStyle(tx[41],5,2);
Text_SetStyle(tx[42],5,2);
Text_SetColor(tx[1],LGREEN);
Text_SetColor(tx[7],LGREEN);
Text_SetColor(tx[13],LGREEN);
Text_SetColor(tx[19],LGREEN);
Text_SetColor(tx[25],LGREEN);
Text_SetColor(tx[31],LGREEN);
Text_SetColor(tx[37],LGREEN);
Text_SetColor(tx[38],LMAGENTA);
Text_SetColor(tx[39],RED);
Text_SetColor(tx[40],BLUE);
Text_SetColor(tx[41],LGREEN);
Text_SetColor(tx[42],LGREEN);
Text_SetColor(tx[2],RED);
Text_SetColor(tx[3],MAGENTA);
Text_SetColor(tx[4],MAGENTA);
Text_SetColor(tx[5],RED);
Text_SetColor(tx[6],RED);
Text_SetColor(tx[8],RED);
Text_SetColor(tx[9],MAGENTA);
Text_SetColor(tx[10],MAGENTA);
Text_SetColor(tx[11],RED);
Text_SetColor(tx[12],RED);
Text_SetColor(tx[14],RED);
Text_SetColor(tx[15],MAGENTA);
Text_SetColor(tx[16],MAGENTA);
Text_SetColor(tx[17],RED);
Text_SetColor(tx[18],RED);
Text_SetSize(tx[19],0);
Text_SetColor(tx[20],LBLUE);
Text_SetColor(tx[21],LBLUE);
Text_SetColor(tx[22],BLUE);
Text_SetColor(tx[23],BLUE);
Text_SetColor(tx[24],LBLUE);
Text_SetColor(tx[26],LBLUE);
Text_SetColor(tx[27],LBLUE);
Text_SetColor(tx[28],BLUE);
Text_SetColor(tx[29],BLUE);
Text_SetColor(tx[30],LBLUE);
Text_SetColor(tx[32],LBLUE);
Text_SetColor(tx[33],LBLUE);
Text_SetColor(tx[34],BLUE);
Text_SetColor(tx[35],BLUE);
Text_SetColor(tx[36],LBLUE);
2.
if Bdate != Bdate[1] Then{
var1 = V;
var2 = C;
var11 = var1[1];
var22 = var2[1];
Condition1 = false;
}
if V > var1 Then{
var1 = V;
var2 = C;
}
if Condition1 == false and V > var11 Then{
var3 = C;
Condition1 = true;
}
plot1(var3);
$,고맙습니다.
2020-05-14
1401
글번호 138881
새벽에 님에 의해서 삭제되었습니다.
2020-05-14
2
글번호 138878
답변완료
수식 의뢰 부탁드립니다.
개발자님의 노고에 항상 감사드립니다
진입조건은 최고점 돌파 시 최고점 매수, 최저점 돌파시 최저점 매도 입니다
반면에 청산은 최고점/최저점이 아닌 종가에 청사하려고 합니다
아래 수식을 사용하니 잘 안 되서 문의드립니다
Input: length(1),trailingstop(1);
var1 = highest(H,trailingstop);
var2 = Lowest(L,trailingstop);
Buy("long",AtStop,Highest(High,length));
Sell("short",AtStop,Lowest(Low,length));
if CrossDown(c,var2) Then
ExitLong("EL",AtStop,Close);
if CrossUp(c,var1) Then
ExitShort("ES",AtStop,Close);
감사합니다
2020-05-14
1367
글번호 138876
답변완료
예스 스팟 종목 검색 문의2
안녕하세요.
yestrader가 처음이라서 모르는게 많아서 기초 적인 수식 및 질문 드립니다.
제가 원하는것은 "틱단위로 종목 검색 후 자동 매매"를 하고 싶습니다.
매수 조건 (주식)
1. 30틱 기준, 거래량이 1봉전(30틱) 보다 현 30틱에서 거래량 300%이상 발생.
2. 30틱 기준, 주가등락률이 1봉전(30틱) 보다 현 30틱에서 주가가 1.5%이상 상승.
3. 30틱 기준 거래대금은 아래 조건 참조.
시가총액 800억 이하 종목은 30틱 거래대금 4억 이상
시가총액 801억~1500억 종목은 30틱 거래대금 5억 이상
시가총액 1501억 이상 종목은 30틱 거래대금 6억 이상
2020-05-14
1385
글번호 138871
답변완료
예스스팟 종목 검색 문의
안녕하세요.
yestrader가 처음이라서 모르는게 많아서 기초 적인 수식 및 질문 드립니다.
제가 원하는것은 종목 검색 후 자동 매매를 하고 싶습니다.
질문,
1. 주식 종목 검색 후 자동 매매가 가능한지요?
2. 종목 검색된 이후 자동 매매를 할 수 있게 설명서 또는 참조할 만한 가이드(문서)가 있는지요?
3. 종목 검색으로 찾은 종목이 시간이 지나서 조건식을 만족하면 재 검색이 되나요?
이때, 보유중인 종목 이라면 추가 매수 가능 한가요?
또는 보유중이여서 추가 매수 할지 아님 그냥 skip 할 지 선택이 가능한가요?
4. 매수된 종목이 특정 수익을 보고 있을 때, 분할 매도가 가능한지 ?
즉, 수익 2% 이상일 때, 보유주식 70% 매도
나머지 보유주식 30%는 수익이 4%이상부터 -2% 하락하면 전량 매도.
수식 문의.
조건1 CCI(9) 지표가 1분주기 1분전 대비 200이상 변화가 있을 때,
조건2 거래량이 1분주기 1분전 대비 300%이상 일 때,
조건3 주가변동폭이 1분주기 1분전 (시가+종가)/2 대비 0봉전 종가가 1.7% 이상 발생시.
조건4 주가변동폭이 1분주기 0봉전 시가 대비 0봉전 고가등락률이 4.5% 이상 발생시 종목 검색 제외.
조건5 체결강도 변동률이 1분주기 1분전 대비 +30%이상 발생시.
조건6 체결강도 값이 현재 110%이상 일 때,
조건7 1분전 체결강도 값이 140% 이상은 종목 검색 제외.
조건8 현재시간 기준으로 변동성완화장치 Vi 발생 종목은 검색 제외.
조건9 1분봉기준 bollinger band(30, 1.8) 상한선이 envelope(20, 2) 저항선(상한선) 의 99% 보다 클 때(돌파할
때)
예를들어, envelope 저항선(상한선) 값이 1100원이면, bollinger band 상한선값이 1,089(=1100*0.99) 보다 클 때,
조건10, 1분봉 거래 대금이 시가총액별로 아래 조건을 만족할 때,
- 시가총액 800억 이하 종목은 1분 거래대금 6억 이상
- 시가총액 801억 ~1500억 종목은 1분 거래대금 7억 이상
- 시가총액 1501억 ~2500억 종목은 1분 거래대금 8억 이상
- 시가총액 2501억 이상 종목은 1분 거래대금 9억 이상
조건11 1분봉 거래량이 10만주 이상 일때,
즉, 위 조건10(거래대금)과 or 로 만족 할 때,
*조건12* 위 조건10과 같이 시가총액별 1분봉 거래대금 구분이 불가하면,
1분봉 거래량 10만주 or 거래대금 7억 이상 일때,
제가
Yes trader를 처음 접해봐서 수식과 사용 방법을 메뉴얼을 따라하고 있는데 어렵네요.
위 질문및 수식 문의 / 그리고 종목검색 후 자동매매 사용 방법등에 대한 검토 요청 드립니다.
감사합니다.
2020-05-14
1412
글번호 138870
답변완료
문의드립니다.
Length = input(15, minval=1)
xChange = mom(close, 1)
xPlusChange = iff(xChange > 0, xChange, 0)
xMinusChange = iff(xChange < 0, (xChange * -1), 0)
xPlusCF = iff(xPlusChange == 0, 0, xPlusChange + nz(xPlusCF[1], 1))
xMinusCF = iff(xMinusChange == 0, 0, xMinusChange + nz(xMinusCF[1], 1))
xPlus = xPlusChange - xMinusCF
xMinus = xMinusChange - xPlusCF
xPlusTCF = sum(xPlus, Length)
nMinusTCF = sum(xMinus, Length)
plot(xPlusTCF, color=blue, title="Plus TCF")
plot(nMinusTCF, color=red, title="Minus TCF")
close 버전과 ohlc4 버전으로 2가지 변환 문의드려도 될까요
항상 감사드립니다.
2020-05-14
1303
글번호 138863
2wnwn 님에 의해서 삭제되었습니다.
2020-05-14
222
글번호 138862
답변완료
수식 요청
수고 하십니다,
Input : maperiod(20), RocPeriod(12), stoPeriod1(5), stoPeriod2(3);
var : BinaryWave(0);
BinaryWave = BW(maperiod, RocPeriod, stoPeriod1, stoPeriod2);
PlotBaseLine1(0, "기준선0");
if BinaryWave>=BinaryWave[1] Then
Plot1(BinaryWave,"bw",red);
if BinaryWave<=BinaryWave[1] Then
Plot1(BinaryWave,"bw",blue);
위 BW식에서 올라가거나 평행일때 빨간색이고, 직전보다 하락하거나 평행면 파랑색으로 표현 하려고 합니다만, 상향이면서 평행일때 파랑색선으로 나오는데, BW선이 상승하면서 떨어지지 않으면 지속적으로 빨강색 선으로 나올수 있도록 지표식 부탁드립니다. -첨부 그림파일
항상 감사 드리오며...
2020-05-14
1200
글번호 138861
산인 님에 의해서 삭제되었습니다.
2020-05-14
0
글번호 138860