커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5492
글번호 230811
답변완료
문의드립니다.
예스수식으로 부탁드립니다.
rsiSource = input(title="RSI Source", type=input.source, defval=close)
rsiLength = input(title="RSI Length", type=input.integer, defval=12)
rsiOverbought = input(title="RSI Overbought", type=input.integer, defval=70, minval=50, maxval=100)
rsiOvesold = input(title="RSI Oversold", type=input.integer, defval=30, minval=1, maxval=50)
// RSI value based on inbuilt RSI
rsiValue = rsi(rsiSource, rsiLength)
// Get the current state
isOverbought = rsiValue >= rsiOverbought
isOversold = rsiValue <= rsiOvesold
// State of the last extreme 0 for initialization, 1 = overbought, 2 = oversold
var laststate = 0
// Highest and Lowest prices since the last state change
var hh = low
var ll = high
// Labels
var label labelll = na
var label labelhh = na
// Swing lines
var line line_up = na
var line line_down = na
// We go from overbought straight to oversold NEW DRAWINGS CREATED HERE
if(laststate == 1 and isOversold)
ll := low
labelll := label.new(bar_index, low, style=label.style_label_up, color=color.green, size=size.tiny)
labelhh_low = label.get_x(labelhh)
labelhh_pos = label.get_y(labelhh)
line_down := line.new(bar_index, high, labelhh_low, labelhh_pos, width=2)
// We go from oversold straight to overbought NEW DRAWINGS CREATED HERE
if(laststate == 2 and isOverbought)
hh := high
labelhh := label.new(bar_index, high, style=label.style_label_down, color=color.red, size=size.tiny)
labelll_low = label.get_x(labelll)
labelll_pos = label.get_y(labelll)
line_up := line.new(bar_index, high, labelll_low, labelll_pos, width=2)
// If we are overbought
if(isOverbought)
if(high >= hh)
hh := high
label.set_x(labelhh, bar_index)
label.set_y(labelhh, high)
line.set_x1(line_up, bar_index)
line.set_y1(line_up, high)
laststate := 1
// If we are oversold
if(isOversold)
if(low <= ll)
ll := low
label.set_x(labelll, bar_index)
label.set_y(labelll, low)
line.set_x1(line_down, bar_index)
line.set_y1(line_down, low)
laststate := 2
// If last state was overbought and we are overbought
if(laststate == 1 and isOverbought)
if(hh <= high)
hh := high
label.set_x(labelhh, bar_index)
label.set_y(labelhh, high)
line.set_x1(line_up, bar_index)
line.set_y1(line_up, high)
//If we are oversold and the last state was oversold, move the drawings to the lowest price
if(laststate == 2 and isOversold)
if(low <= ll)
ll := low
label.set_x(labelll, bar_index)
label.set_y(labelll, low)
line.set_x1(line_down, bar_index)
line.set_y1(line_down, low)
// If last state was overbought
if(laststate == 1)
if(hh <= high)
hh := high
label.set_x(labelhh, bar_index)
label.set_y(labelhh, high)
line.set_x1(line_up, bar_index)
line.set_y1(line_up, high)
// If last stare was oversold
if(laststate == 2)
if(ll >= low)
ll := low
label.set_x(labelll, bar_index)
label.set_y(labelll, low)
line.set_x1(line_down, bar_index)
line.set_y1(line_down, low)
2020-06-06
2139
글번호 139590
답변완료
부탁 드립니다.
도움주심에 항상 감사 드립니다.
1) 아래 수식1,2)를 타주기 일봉용으로 작성해주신 수식3)입니다.
이것을
질문1) 타주기(주봉용),
질문2) 타주기(월봉용),으로
스스로 작성된것이 정상작동이 되지 않는것으로 보입니다.
검토 부탁 드립니다.
특히 변수 P값을 변경하여도 변화가 없습니다.
미리 감사 드립니다.
수식1)
Input : P(20),sig(5);
var1=(highest(c,p)-L)/(highest(c,p))*100;
var2=ma(var1,sig);
수식2)
Input : P(20),sig(5);
var1=(lowest(c,p)-H)/(lowest(c,p))*100;
var2=ma(var1,sig);
수식3) 타주기(일봉용)_정상 작동됨
input : P(20),sig(5);
var : sum1(0),sum2(0),hc(0),lc(0),i1(0),i2(0);
if DayHigh(P+sig-1) > 0 and DayLow(P+sig-1) > 0 then
{
sum1 = 0;
sum2 = 0;
for i1 = 0 to sig-1
{
hc = 0;
lc = 0;
for i2 = i1+0 to i1+P-1
{
if hc == 0 or (hc > 0 and DayClose(i2) > hc) Then
hc = DayClose(i2);
if lc == 0 or (lc > 0 and DayClose(i2) < lc) Then
lc = DayClose(i2);
}
sum1 = sum1 + (hc-DayLow(i1))/hc*100;
sum2 = sum2 + (lc-dayhigh(i1))/lc*100;
if i1 == 0 Then
{
var1 = (hc-daylow(i1))/hc*100;
value1 = (lc-DayHigh(i1))/lc*100;
}
}
var2 = sum1/sig;
value2 = sum2/sig;
plot1(var1);
plot2(var2);
plot3(value1);
plot4(value2);
}
질문1) 타주기(주봉용)_검토 필요
input : P(20),sig(5);
var : sum1(0),sum2(0),hc(0),lc(0),i1(0),i2(0);
if weekHigh(P+sig-1) > 0 and weekLow(P+sig-1) > 0 then
{
sum1 = 0;
sum2 = 0;
for i1 = 0 to sig-1
{
hc = 0;
lc = 0;
for i2 = i1+0 to i1+P-1
{
if hc == 0 or (hc > 0 and weekClose(i2) > hc) Then
hc = weekClose(i2);
if lc == 0 or (lc > 0 and weekClose(i2) < lc) Then
lc = weekClose(i2);
}
sum1 = sum1 + (hc-weekLow(i1))/hc*100;
sum2 = sum2 + (lc-weekhigh(i1))/lc*100;
if i1 == 0 Then
{
var1 = (hc-weeklow(i1))/hc*100;
value1 = (lc-weekHigh(i1))/lc*100;
}
}
var2 = sum1/sig;
value2 = sum2/sig;
plot1(var1);
plot2(var2);
plot3(value1);
plot4(value2);
}
질문2) 타주기(월봉용)_검토 필요
input : P(20),sig(5);
var : sum1(0),sum2(0),hc(0),lc(0),i1(0),i2(0);
if MONTHHigh(P+sig-1) > 0 and MONTHLow(P+sig-1) > 0 then
{
sum1 = 0;
sum2 = 0;
for i1 = 0 to sig-1
{
hc = 0;
lc = 0;
for i2 = i1+0 to i1+P-1
{
if hc == 0 or (hc > 0 and MONTHClose(i2) > hc) Then
hc = MONTHClose(i2);
if lc == 0 or (lc > 0 and MONTHClose(i2) < lc) Then
lc = MONTHClose(i2);
}
sum1 = sum1 + (hc-MONTHLow(i1))/hc*100;
sum2 = sum2 + (lc-MONTHhigh(i1))/lc*100;
if i1 == 0 Then
{
var1 = (hc-MONTHlow(i1))/hc*100;
value1 = (lc-MONTHHigh(i1))/lc*100;
}
}
var2 = sum1/sig;
value2 = sum2/sig;
plot1(var1);
plot2(var2);
plot3(value1);
plot4(value2);
}
2020-06-08
2151
글번호 139589
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2020-06-05
6
글번호 139588
답변완료
수식 수정 부탁드립니다.
안녕하세요.
아래 수식 수정좀 부탁드립니다.
아래 수식에서 12봉동안 양봉(양도지포함)이 8개 이상 부분을
12봉 동안 양봉(양도지포함)과 종가가 전봉보다 상승한 음봉도 포함해서로 수정부탁드립니다.
var1 = ma(C,5);
var2 = AccumN(m,12);
if countif(C>O,12) >= 8 and
countif(C>var1,12) == 12 and
var2 >= 500000000 Then
find(1);
2020-06-05
1911
글번호 139587
답변완료
부탁좀드립니다~~
아무리 검색하고 알아봐도 알아내지 못해서 글 남깁니다.
답변 부탁드릴게요
1. 예를 들어 1봉전 대량거래량이 발생하여 "얼마만에" 최고거래량을 달성했다고 했을경우
1봉전 거래량이 :얼마만에" 최고거래량인지 아는 수식좀요
2. 거래량이 아닌 가격도요 즉 얼마만에 최고가인지...
3. 1봉전 봉이 몇시 몇분이 완성된 봉인지 시간을 나타내주는 수식도 부탁합니다
무더위 조심하시고 답변 꼭좀 달아주세요 ㅍ.ㅍ
2020-06-07
1854
글번호 139579
문의드립니다.
안녕하세요.
브이아이금융투자 해외선물 거래입니다.
동일봉(현재 틱으로 검토 중입니다.)에서 청산과 진입이 동시신호가 발생할때
청산은 되지만 신규진입은 되지 않는 경우가 확인되어 수정 및 문의드립니다.
1. 청산과 신규진입이 순서대로 진행되도록 수정 부탁드립니다.
2. 하기 수식에서 신규진입이 안되었을 경우 SetStopProfittarget은 반대로 신규 진입이 되는지요?
(이후 진입, 청산이 반대로 되는거지요?)
수식은 아래와 같습니다.
If MarketPosition == 0 and 매수조건 Then
Buy("매수");
If MarketPosition == 0 and 매도조건 Then
Sell("매도");
SetStopProfittarget(PriceScale*Stop수익틱,PointStop);
2020-06-05
1184
글번호 139578
답변완료
재문의드립니다
1)67807번재문의드립니다
예스트레이드에는 30초봉이 없기때문에 30초 봉으로계산되어 나오도록하고십습니다~~
2)var1 = (HighD(0)+LowD(0))/2;
var2 = (HighD(1)+LowD(1))/2;
plot1(var1,"당일중심값");
plot2(var2,"전일중심값");
위수식으로 당일중심갑상승 돌파시 레드색 당일중심갑 하락돌파시블루색 강조식부탁드립니다~~미리감사드립니다
2020-06-08
1890
글번호 139577
답변완료
시스템식 부탁드립니다.
항상 도움 주셔서 감사합니다.
아래 조건에 맞은 시스템식 부탁드립니다.
종목 : 해선
타임 : 30분
투자금 : 100만원
매매조건 : 한종목당 최대 진입 횟수 10번
최초 진입 1계약, 두번째 진입부터는 2개약씩 진입
잔고 모두 청산이 되기전까지 매수, 매도 한방향 진입만 가능
매수 :
첫번째 진입
1. 포지션이 없고
2. MACD가 50선 상향 돌파시
3. 1계약 시장가 매수진입
4. 10틱 수익 발생시 지정가(+10틱 가격) 청산
두번째 진입
1. 첫번째 1계약 매수진입 후 가격이 10틱 아래로 내려간 경우
2. 10틱 아래 가격에서 지정가 2계약 진입
3. 평균 진입가 대비 10틱 수익 발생시 지정가(+10틱 가격) 청산
세번째 진입
1. 두번째 2계약 매수진입 후 가격이 10틱 아래로 내려간 경우
2. 10틱 아래 가격에서 지정가 2계약 진입
3. 평균 진입가 대비 10틱 수익 발생시 지정가(+10틱 가격) 청산
이런식으로 10번까지 진입하는 매수식 부탁드립니다.
매도 : 매도는 매수와 진입 방법이 다릅니다.
첫번째 진입
1. 포지션이 없고
2. MACD가 50선 하향 돌파시
3. 1계약 시장가 매도진입
4. 10틱 수익 발생시 지정가(+10틱 가격) 청산
두번째 진입
1. 첫번째 1계약 매도 진입 후 잔고평가 손실이 2%이상 발생하거나
10만원이상 손실이 발생한 경우
2. 1번 조건이 만족하면 시장가(2계약) 매도진입
3. 평균 진입가 대비 10틱 수익 발생시 시장가 청산
세번째 진입
1. 두번째 2계약 매도 진입 후 잔공평가 손실이 4%이상 발생하거나
20만원이상 손실이 발생한 경우
2. 1번 조건이 만족하면 시장가(2계약) 매도진입
3. 평균 진입가 대비 10틱 수익 발생시 시장가 청산
이런식으로 10번까지 진입하는 매도식 부탁드립니다.
청산은 아래와 같습니다.
익절 : 현재 진입 잔고평가 수익이 +10% 발생
또는 현재 진입 평균가격 대비 10틱 수익 발생시 익절청산
손절 : 전체 투자자금 대비 계좌평가 손실이 30% 발생
또는 현재 진입 잔고평가 손실이 -10% 발생
또는 최초 진입 평균가격 대비 100틱이 반대로 이동시 손절청산
2020-06-06
2078
글번호 139563
답변완료
질문 드립니다.
안녕하세요.
현재봉 포함 4개봉 최고가와 최저가 에 4각형 박스를그려 주세요.
이전 4개봉 종가 보다 현재가가 높으면 적색,
같으면 녹색
3개봉 종가 보다 작으면 파란색으로 표시 부탁 합니다.
현재봉 기준 으로 박스 크기와 색깔은 변할수 있습니다.
2020-06-05
2040
글번호 139561