커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
3748
글번호 230811
지표
답변완료

수식전환 부탁드립니다.

수식전환 부탁드립니다. length = input(title="Length", type=integer, defval=45) powersLength = input(title="Elder Powers Length", type=integer, defval=10) adjustableLevel = input(title="Adjustable Entry Level", type=integer, defval=75) applyFilling = input(title="Apply Powers Filling ?", type=bool, defval=false) elderBullPower = high - ema(close, powersLength) elderBearPower = low - ema(close, powersLength) adjust(value) => 100 * value / length bullCount = sum(elderBullPower > 0 ? 1 : 0, length) bearCount = sum(elderBearPower < 0 ? 1 : 0, length) total = adjust(abs(bullCount - bearCount)) bull = adjust(bullCount) bear = adjust(bearCount) bullPlot = plot(bull, title="Bull", linewidth=2, color=#0ebb23, transp=0) bearPlot = plot(bear, title="Bear", linewidth=2, color=red, transp=0) plot(total, title="Total", linewidth=2, color=#3c78d8, transp=0) fillColor = applyFilling ? (bull > bear ? #0ebb23 : red) : color(white, 100) fill(bullPlot, bearPlot, color=fillColor, transp=80) hline(adjustableLevel, title="Adjustable Entry Level", linestyle=dotted) hline(50, title="Middle Level", linestyle=dotted, color=#f49517)
프로필 이미지
장안퀙쿠르드
2020-04-09
1007
글번호 137758
지표
답변완료

문의드립니다.

input : length(20),siglength(9),colorBars(false); var : mao(0),mac(0),mc(0),mo(0),signal(0); mao =ma(open, length); mac =ma(close, length); mc=mac-mao; mo=mao-mac; signal=ma(mc, siglength); plot1(0,"ZeroLine",gray); plot2(mc,"BullHisto",green); plot3(mo,"BearHisto",red); plot4(mo,"BearLine",red); plot5(mc,"BullLine",green); plot6(signal,"Signal",blue); ------------------------------------------------------------- 변환된 이 수식에서 plot6만을 남기고 캔들에 적용시키고 싶어서 input : length(20),siglength(9); var : mao(0),mac(0),mc(0),mo(0),signal(0); mao =ma(open, length); mac =ma(close, length); mc=mac-mao; mo=mao-mac; signal=ma(mc, siglength); plot1(signal,"Signal",blue); 으로 수정 후 컴파일 해보았습니다. 소수점 자리는 6으로 세팅한 후 적용해본 결과 화면에 적용하였을 때, 정상적으로 구현이 되나 가격에 적용을 하였을 때는 캔들위로 overlay가 되지 않고 캔들을 위로 밀리고 0으로 구현이 됩니다. 수정 문의드려도 될까요 감사합니다.
프로필 이미지
물고기
2020-04-09
1132
글번호 137757
지표
답변완료

종목검색식 부탁드립니다.

안녕하세요 잘좀 부탁드립니다. 모든 수치는 제가 넣을수 있게 부탁드리며 기본수치로 해주시면 됩니다. ======================================================== 지수이평 220일 기준 주가가 220일 위에 있는 종목중에 엔벨로프(중심선)이 볼린져밴드 중신선을 골든크로스 하는 종목을 찾고싶습니다.
프로필 이미지
이카나
2020-04-09
1109
글번호 137755
종목검색
답변완료

66922 추가 질문 부탁 드립니다.(내용 무)

.
프로필 이미지
yes
2020-04-09
1010
글번호 137753
지표
답변완료

부탁드립니다.

감사드립니다. 마지막 청산된 (StopLoss, StopTrailing) 봉 위에 표시되게 요청드립니다. 모든 청산된 (StopLoss, StopTrailing) 봉 위에 표시되게 하는 방법도 설명 부탁드립니다. 차트 마지막봉 위에 표시되게 작성해 드립니다. input : 손절(20),익절(15),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tt(0),tx(0),X(false),tx1(0),cnt(0),sum(0); var: Tcond(false),ht(0),lcnt(0),trcnt(0),R(-1); Array : XX[200](-1); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; tt = 0; X = false; } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = false; if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } } if Tcond == true then { if marketposition == 0 and crossup(var1,var2) Then { buy("B1"); } if marketposition == 0 and crossdown(var1,var2) Then { sell("S1"); } if marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { buy("B2"); } if marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { sell("S2"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } } ## 카운트 (수정요청) if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { lcnt = lcnt+1; XX[0] = 0; for cnt = 1 to 199 { XX[cnt] = XX[cnt-1][1]; } if Floor((trcnt+lcnt)*0.2) > 1 then { sum = 0; for cnt = 0 to Floor((trcnt+lcnt)*0.2)-1 { if XX[cnt] == 1 Then sum = sum+1; } R = sum/Floor((trcnt+lcnt)*0.2)*100; } tt = tt +1 ; if tt > ht Then { ht = tt; } tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(ht,0)+"◆"); Text_SetSize(tx,20); Text_Setstyle(tx,2,1); Text_SetColor(tx,GREEN); } if IsExitName("StopTrailing",1) == true then { trcnt = trcnt+1; XX[0] = 1; for cnt = 1 to 199 { XX[cnt] = XX[cnt-1][1]; } if Floor((trcnt+lcnt)*0.2) > 1 then { sum = 0; for cnt = 0 to Floor((trcnt+lcnt)*0.2)-1 { if XX[cnt] == 1 Then sum = sum+1; } R = sum/Floor((trcnt+lcnt)*0.2)*100; } tt = tt + 1; ht = tt; tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(ht,0)+"◆"); Text_SetSize(tx,20); Text_Setstyle(tx,2,1); Text_SetColor(tx,GREEN); } } Text_Delete(tx1); tx1 = Text_New(NextBarSdate,NextBarStime,H,NumToStr(trcnt/(trcnt+lcnt)*100,1)+NewLine+NumToStr(R,1)); Text_SetStyle(tx1,0,1);
프로필 이미지
라떼처럼
2020-04-09
917
글번호 137751
시스템
답변완료

안녕 하세요

안녕하세요. 시스템식 다시 부탁해요 4개의 시스템식을 하나의 식으로 부탁 함니다 (A or B) and (C or D) 로 원했는데 답변결과는(A or B) or (C or D) 인것 같아요 다시 잘 검토해서 (A or B) and (C or D) 해주시기 바람니다. 감사함니다 예스스탁 답변식입니다 Input : shortPeriod1(5), longPeriod1(20); Input : shortPeriod2(10), longPeriod2(30); Input : shortPeriod3(20), longPeriod3(30); input : shortPeriod4(20), longPeriod4(30); value1 = ma(C, shortPeriod1); value2 = ma(C, longPeriod1); value3 = ma(C, shortPeriod2); value4 = ma(C, longPeriod2); value5 = ema(C, shortPeriod3); value6 = ema(C, longPeriod3); value7 = ema(C, shortPeriod4); value8 = ema(C, longPeriod4); if (crossup(value1,value2) or crossup(value3,value4)) or (crossup(value5,value6) or crossup(value7,value8)) Then buy(); if (CrossDown(value1,value2) or CrossDown(value3,value4)) or (CrossDown(value5,value6) or CrossDown(value7,value8)) Then sell(); A식 Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } B식 Input : shortPeriod(10), longPeriod(30); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } C식 Input : shortPeriod(20), longPeriod(30); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } D식 Input : shortPeriod(20), longPeriod(30); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); }
프로필 이미지
zxc
2020-04-09
882
글번호 137742
시스템
답변완료

종목검색식 부탁드립니다.

1. n1시까지의 누적 거래대금 = m1 n2시까지의 누적 거래대금 = m2 (m2 - m1)/m1 > 0.05 인 종목을 검색한다. 2. 이때 n1, n2 가 정규시간을 넘어도 되는건지 궁금합니다. (예: n1 = 155000, n2 = 175000) 감사합니다.
프로필 이미지
cs아빠
2020-04-09
914
글번호 137737
종목검색

CSI300 님에 의해서 삭제되었습니다.

프로필 이미지
CSI300
2020-04-08
0
글번호 137735
시스템
답변완료

수식 부탁 드립니다

키움 수식입니다 예스로 전환 부탁 드립니다 수식1 a=ma(sum(((c*4) - ((h+l) + (((h(1)+l(1))))))*v),2,지수이평); b=ma(a,20,단순이평); f = ma(종가,20,지수이평)-ma(종가,50,지수이평); s= ma(f,9,지수이평); if(a>b, if(s<f, 100,65), if(s>f, 0,35)); 색상은 위와 같이 보이게 했으면 합니다
프로필 이미지
아이아띠
2020-04-08
1088
글번호 137734
지표