커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1705
글번호 230811
답변완료
청산수식 청산횟수 / 음봉비율 수정
질문1)
input : exst(120000),exlock(140000),xdive(2.0);
if stime>=exst and stime<exlock and c<Highd(0)-xdive Then
ExitLong();
하루 1회만 거래하는 수식에서 청산수식으로 사용한 내용입니다.
하루에 여러번 거래하는 수식에 사용하기 위해선 청산횟수를 제어하는 수식이 필요합니다.
input : 청산횟수(1),exst(120000),exlock(140000),xdive(2.0);
이런식으로 제어할 수 있게 수정바랍니다.
질문2)
답변 수식 시뮬레이션 해보니 시간을 경과하지 않고 첫봉에 진입하는 경우가 많이 발생하고 있습니다.(첨부파일)
변수선언 var:t(0); 은 추가했습니다.
살펴주세요.
************************************************************************************
안녕하세요
예스스탁입니다.
input:시간1(093000);
input:시간2(100000);
if (sdate != sdate[1] and stime >= 시간1) or
(sdate == sdate[1] and stime >= 시간1 and stime[1] < 시간1) Then
{
t = 1;
var1 = 0;
Var2 = 0;
}
if (sdate != sdate[1] and stime >= 시간2) or
(sdate == sdate[1] and stime >= 시간2 and stime[1] < 시간2) Then
{
t = 2;
}
if t == 1 Then
{
var1 = var1+1;
if c < o Then
Var2 = Var2+1;
}
if t >= 2 Then
{
if Var2/var1*100 > 50 then
sell();
}
풍성한 한가위 되시길 바랍니다.
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 입력시간부터 발생한 봉들로만 계산
input:시간1(093000);
input:시간2(100000);
음봉비율은 시간1에서 시간2까지 발생한 전체봉에서 음봉비율(음봉/전체봉*100)
진입은 시간2 지나고부터 시작합니다.
if 음봉비율>50 then
sell();
수식 부탁드립니다.
항상 고맙습니다.
2024-11-06
658
글번호 183469
답변완료
수식 문의 드립니다
(1) 식,
Input : Period(20) ;
var : DMIv(0),DP(0),DM(0);
DMIv = DMI(Period);
DP = DIPlus(Period);
DM = DIMinus(Period);
data2 를 이용하여 data2(DMIv 가 상승중 DP 가 DM을 상향시) 매수
data2 를 이용하여 data2(DP 가 DM을 하향시) 매도
(2) 식
rsi(9), STOCHASTIC(12,5,5)를 이용한 data2 식 부탁 드립니다.
DATA2(STOCHASTIC(12,5,5)) 가 상승 중이고, data2(RSI(9)) 가 50 상향시 매수
data2(rsi(9)) 가 70 상향시 매도
(3)식
trix(10,7) , macd(12,26,9) 이용한 data2 식
data2( trix) 와 data2(madc) 가 상승 중 일 때 매수
data2(macd)가 dead cross에서 매도
2024-09-15
749
글번호 183468
답변완료
문의드립니다
특정일의 고가, 저가, 종가를 분봉에 표시하고 싶습니다
특정일이후의 고/저/종가가 아니라...
특정일 히루의 dayhigh, daylow, dayclose 를 분봉에 가로선으로 나오게 표시..
감사합니다
2024-09-18
720
글번호 183467
회원 님에 의해서 삭제되었습니다.
2024-09-15
47
글번호 183466
답변완료
문의 드립니다
안녕하세요
다음 트레이딩뷰 의 코딩을 예스로 전환 부탁드립니다
study("TDI - Traders Dynamic Index [Goldminds]", shorttitle="TDIGM")
rsiPeriod = input(21, minval = 1, title = "RSI Period")
bandLength = input(34, minval = 1, title = "Band Length")
lengthrsipl = input(7, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input(2, minval = 1, title = "Slow MA on RSI")
src = close // Source of Calculations (Close of Bar)
r = rsi(src, rsiPeriod) // RSI of Close
ma = sma(r, bandLength) // Moving Average of RSI [current]
offs = (1.6185 * stdev(r, bandLength)) // Offset
up = ma + offs // Upper Bands
dn = ma - offs // Lower Bands
mid = (up + dn) / 2 // Average of Upper and Lower Bands
fastMA = sma(r, lengthrsipl) // Moving Average of RSI 2 bars back
slowMA = sma(r, lengthtradesl) // Moving Average of RSI 7 bars back
hline(20) // ExtremelyOversold
hline(30) // Oversold
hline(50) // Midline
hline(70) // Overbought
hline(80) // ExtremelyOverbought
upl = plot(up, "Upper Band", color = #3286c3, linewidth = 2) // Upper Band
dnl = plot(dn, "Lower Band", color = #3286c3, linewidth = 2) // Lower Band
midl = plot(mid, "Middle of Bands", color = yellow, linewidth = 2) // Middle of Bands
plot(slowMA, "Slow MA", color=green, linewidth=2) // Plot Slow MA
plot(fastMA, "Fast MA", color=red, linewidth=1) // Plot Fast MA
2024-09-15
787
글번호 183465
답변완료
종목검색식 부탁드립니다.
조건검색식 부탁드립니다. 감사합니다...^^
피봇2차저항 = (predayhigh()+predaylow()+predayclose())/3+predayhigh()-predaylow();
봉신호 = V>=수량 && C>O*비율 && C>predayhigh() && Rsi(기간)>=70 &&
CrossUp(C, 피봇2차저항);
카운트 = Countsince(date!=date(1), 봉신호);
카운트 == 1 && 카운트(1) == 0
(지표변수) 수량: 50000 / 비율: 1.01 / 기간: 14
2024-09-15
873
글번호 183464
답변완료
문의 드립니다
안녕하세요
adx 지표에서 adx선이 기울기가 0 이상이면 빨강, 0 이하면 파랑으로 표시
해주세요. 그리고 기준선 30,50,70을 표시해주세요
2024-09-14
731
글번호 183462
답변완료
부틱드립니다
수고하십니다
트레이딩 뷰 수식입니다.
예스로적용가능하도록 부탁 드립니다.
//Created by ChrisMoody on 10-05-2014
//Known as SlingShot Method that keeps Traders on Trending Side of Market.
study("CM_SlingShotSystem", overlay=true)
sae = input(true, title="Show Aggressive Entry?, Or Use as Alert To Potential Conservative Entry?")
sce = input(true, title="Show Conservative Entry?")
st = input(true, title="Show Trend Arrows at Top and Bottom of Screen?")
def = input(false, title="Only Choose 1 - Either Conservative Entry Arrows or 'B'-'S' Letters")
pa = input(true, title="Show Conservative Entry Arrows?")
sl = input(false, title="Show 'B'-'S' Letters?")
//EMA Definitions
emaSlow = ema(close, 62)
emaFast = ema(close, 38)
//Aggressive Entry or Alert To Potential Trade
pullbackUpT() => emaFast > emaSlow and close < emaFast
pullbackDnT() => emaFast < emaSlow and close > emaFast
//Conservative Entry Code For Highlight Bars
entryUpT() => emaFast > emaSlow and close[1] < emaFast and close > emaFast
entryDnT() => emaFast < emaSlow and close[1] > emaFast and close < emaFast
//Conservative Entry True/False Condition
entryUpTrend = emaFast > emaSlow and close[1] < emaFast and close > emaFast ? 1 : 0
entryDnTrend = emaFast < emaSlow and close[1] > emaFast and close < emaFast ? 1 : 0
//Define Up and Down Trend for Trend Arrows at Top and Bottom of Screen
upTrend = emaFast >= emaSlow
downTrend = emaFast < emaSlow
//Definition for Conseervative Entry Up and Down PlotArrows
codiff = entryUpTrend == 1 ? entryUpTrend : 0
codiff2 = entryDnTrend == 1 ? entryDnTrend : 0
//Color definition for Moving Averages
col = emaFast > emaSlow ? lime : emaFast < emaSlow ? red : yellow
//Moving Average Plots and Fill
p1 = plot(emaSlow, title="Slow MA", style=linebr, linewidth=4, color=col)
p2 = plot(emaFast, title="Slow MA", style=linebr, linewidth=2, color=col)
fill(p1, p2, color=silver, transp=50)
//Aggressive Entry, Conservative Entry Highlight Bars
barcolor(sae and pullbackUpT() ? yellow : sae and pullbackDnT() ? yellow : na)
barcolor(sce and entryUpT() ? aqua : sce and entryDnT() ? aqua : na)
//Trend Triangles at Top and Bottom of Screen
plotshape(st and upTrend ? upTrend : na, title="Conservative Buy Entry Triangle",style=shape.triangleup, location=location.bottom, color=lime, transp=0, offset=0)
plotshape(st and downTrend ? downTrend : na, title="Conservative Short Entry Triangle",style=shape.triangledown, location=location.top, color=red, transp=0, offset=0)
//Plot Arrows OR Letters B and S for Buy Sell Signals
plotarrow(pa and codiff ? codiff : na, title="Up Entry Arrow", colorup=lime, maxheight=30, minheight=30, transp=0)
plotarrow(pa and codiff2*-1 ? codiff2*-1 : na, title="Down Entry Arrow", colordown=red, maxheight=30, minheight=30, transp=0)
plotchar(sl and codiff ? low - tr : na, title="Buy Entry", offset=0, char='B', location=location.absolute, color=lime, transp=0)
plotchar(sl and codiff2 ? high + tr : na, title="Short Entry", offset=0, char='S', location=location.absolute, color=red, transp=0)
2024-09-16
862
글번호 183461
타요 님에 의해서 삭제되었습니다.
2024-09-13
96
글번호 183460