커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8124
글번호 230811
답변완료
지표 부탁드립니다.
수고하십니다...
막대거래량 봉 색깔을 5분봉(변수), 전봉100개(변수) 평균 거래량의
0 -1배 이하 일 경우 노란색
2 -4배일 경우 주황색
4배 이상이 경우 빨강색 으로 표현하고싶습나다...
그리고
전봉100개(변수)중 최고 거래량 발생때, 차트 봉의 색깔을 검정색으로 표현
가능 할까요??
늘 수고에 감사드립니다...
2023-05-08
1248
글번호 168764
답변완료
문의드립니다
첨부파일에 수식에서 buy , sell 다음에 문자형 내부변수("b", "s")가 하는 역할이 무엇인가요?
시스템 수식자체는 buy ,sell 만으로도 작동하지않나요?
문자형 내부변수가 수식들 내에서 어떨때 사용되는지 정확히 알고 싶습니다
2023-05-08
1289
글번호 168756
답변완료
해외선물 지표수식 부탁드립니다.
안녕하세요.
선행스팬1,선행스팬2의 종가 돌파상승라인과 종가돌파하강라인을 구현하고
종가돌파된 현위치에 ▲,▼을 표시하고자 합니다.도움부탁드립니다.
키움수식을 참조바랍니다.
수식1: 선행스팬1=
(highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4;
valuewhen(1,crossup(c,선행스팬1),close)
수식2:선행스팬2=(highest(high,longPeriod)+lowest(low,longPeriod))/2;
valuewhen(1,crossdown(c,선행스팬2),close);
2023-05-07
1521
글번호 168755
답변완료
문의드립니다
if A ==12 and o <= aver Then {
Buy("A",AtLimit,aver,3);
A = 122;
}
다음과 같은 문장에서
A ==12 조건과 o <= aver라는 조건이 충족되면 BUY 하고 a=112를 넣어라 인데
조건이 충족되었는데, BUY하지 않고 a=112를 넣는 현상이 발생하더라구요.
Buy,sell,exitlong,exitshot의 체결 여부를 확인할 수 있는 리턴할 수 있는 방법이 있나요?
혹시
IF A ==12 then
Buy("A",AtLimit,aver,3);
그리고나서 BUY가 체결되면 A = 122를 넣어라 라는 식으로 어떻게 바꿀 수 있을까요?
조건이 충족하여 BUY하면~ Sell 하면~ ~~해라 이런식을 만들 수 있을까요?
그리고 시스템에서 내 계좌에 체결된 종목의 평균단가를 실시간으로 불러올 수 있나요?
계속 수식에 평균을 내서 계산하려니까 에러가 생기네요 ㅠ
2023-05-07
1481
글번호 168754
답변완료
질문 드립니다.
키움 수식을 예스로 변환하면 차트에 적용이 안되는 이유가 뭘까요?
위의 1번파일은 영웅문에 표시되는데 2번파일은 예스차트입니다.
아무리 생각해도 이유를 모르겠기에 답변을 기대하며 항상 건강 하세요.
★키움수식:highest(v,n) == v 을 ※ 예스수식:if highest(v,n) == v Then
Buy(); 으로 변환함
★이수식만 적용 안되는게 아니고 몇개의 수식도 안되는 경우가 있습니다.
2023-05-07
1686
글번호 168753
sline166 님에 의해서 삭제되었습니다.
2023-05-07
2
글번호 168752
sline166 님에 의해서 삭제되었습니다.
2023-05-07
6
글번호 168751
답변완료
RSI교차식
안녕하세요!!! 도움 청합니다
RSI크로스 할때마다 3전캔들의 가격을 저장하여 표시하고자 합니다.
아래의 식으로는 다른곳을 표시 합니다. 수고 부탁드리 겠습니다.
Input : Period(9), maPeriod(14);
var : RSI_V(0), MARSI(0);
RSI_V = RSI(Period);
MARSI = Ma(RSI_V,maPeriod); //RSI_V > MARSI and RSI_V[1] < MARSI[1]
if RSI_V > MARSI and RSI_V[1] < MARSI[1] then {
Var1 = L[3];
}
if RSI_V < MARSI and RSI_V[1] > MARSI[1] then {
Var2 = H[3];
}
PlotBaseLine1(Var1, "Lrsi");
PlotBaseLine2(Var2, "HRsi");
2023-05-07
1531
글번호 168750
답변완료
수식작성 부탁드립니다.
안녕하세요. 운영자님
아래와 같은 트레이딩뷰 수식을 예스트레이더 수식으로 변환 꼭 좀 부탁드립니다.
감사합니다.
안녕하세요. 운영자님
아래와 같은 트레이딩뷰 수식을 예스트레이더 수식으로 변환 부탁드립니다.
감사합니다.
// === INPUTS ===
// rsi
rsiSource = input(defval = open, title = "RSI Source")
rsiLength = input(defval = 8, title = "RSI Length", minval = 1)
// sma
maLength = input(defval = 34, title = "MA Period", minval = 1)
// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop = input(defval = false, title = "Use Initial Stop Loss?")
slPoints = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS = input(defval = true, title = "Use Trailing Stop?")
tslPoints = input(defval = 120, title = "Trail Points", minval = 1)
useTSO = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset = input(defval = 20, title = "Trail Offset Points", minval = 1)
// === /INPUTS ===
// === BASE FUNCTIONS ===
// delay for direction change actions
switchDelay(exp, len) =>
average = len >= 2 ? sum(exp, len) / len : exp[1]
up = exp > average
down = exp < average
state = up ? true : down ? false : up[1]
// === /BASE FUNCTIONS ===
// === SERIES and VAR ===
// rsi
shunt = rsiSource == open ? 0 : 1
rsiUp = rma(max(change(rsiSource[shunt]), 0), rsiLength)
rsiDown = rma(-min(change(rsiSource[shunt]), 0), rsiLength)
rsi = (rsiDown == 0 ? 100 : rsiUp == 0 ? 0 : 100 - (100 / (1 + rsiUp / rsiDown))) - 50 // shifted 50 points to make 0 median
// sma of rsi
rsiMa = sma(rsi, maLength)
// self explanatory..
tradeDirection = tradeInvert ? 0 <= rsiMa ? true : false : 0 >= rsiMa ? true : false
// === /SERIES ===
// === PLOTTING ===
barcolor(color = tradeDirection ? green : red, title = "Bar Colours")
// hlines
medianLine = hline(0, title = 'Median', color = #996600, linestyle = dotted, linewidth = 1)
limitUp = hline(25, title = 'Limit Up', color = silver, linestyle = dotted, linewidth = 1)
limitDown = hline(-25, title = 'Limit Down', color = silver, linestyle = dotted, linewidth = 1)
// rsi and ma
rsiLine = plot(rsi, title = 'RSI', color = purple, linewidth = 2, style = line, transp = 50)
areaLine = plot(rsiMa, title = 'Area MA', color = silver, linewidth = 1, style = area, transp = 70)
// === /PLOTTING ===
goLong() => not tradeDirection[1] and tradeDirection
killLong() => tradeDirection[1] and not tradeDirection
strategy.entry(id = "Buy", long = true, when = goLong())
strategy.close(id = "Buy", when = killLong())
goShort() => tradeDirection[1] and not tradeDirection
killShort() => not tradeDirection[1] and tradeDirection
strategy.entry(id = "Sell", long = false, when = goShort())
strategy.close(id = "Sell", when = killShort())
if (useStop)
strategy.exit("XSL", from_entry = "Buy", loss = slPoints)
strategy.exit("XSS", from_entry = "Sell", loss = slPoints)
// if we're using the trailing stop
if (useTS and useTSO) // with offset
strategy.exit("XSL", from_entry = "Buy", trail_points = tslPoints, trail_offset = tslOffset)
strategy.exit("XSS", from_entry = "Sell", trail_points = tslPoints, trail_offset = tslOffset)
if (useTS and not useTSO) // without offset
strategy.exit("XSL", from_entry = "Buy", trail_points = tslPoints)
strategy.exit("XSS", from_entry = "Sell", trail_points = tslPoints)
2023-05-07
1752
글번호 168749