커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1414
글번호 230811
답변완료
진입횟수 제어 방법 질의
단순 진입횟수를 제어할때는
if sdate<>entrydate(진입횟수) then
을 이용하여 제어할수 있는것으로 알고 있습니다.
제가 매수 1번 진입, 매도 1번 진입으로 진입횟수를 제한하고 싶다면
어떤방법으로 제한 할수있는지 질의드립니다.
감사합니다.
2024-05-13
956
글번호 179402
답변완료
수식변환 부탁드립니다.
매집간격 : 5
D1 : 0.01
Period1 : 60
Percent1 : 30
이평방법 : 지수
기간=매집간격*20;
A1=지수평균((highest(종가,(기간-기간/2))+highest(종가,기간))/2,기간);
A2=D1*stdev((저가+고가+종가)/3,기간);
K=if(종가>시가,1-(abs(종가-시가)/abs(highest((종가-시가),기간))),1);
a=A1+K*A2;
(CrossUp(c(0),a))
and
Disparity(c,Period1,이평방법) <= Percent1
예스트레이더 종목 검색으로 변환 부탁드립니다.
즐거운 하루되십시오.
2024-05-12
693
글번호 179401
답변완료
기준 조건을 유지 후 돌파하는 종목 검색식이 궁금합니다.
안녕하세요 예스트레이딩이 처음이라 많이 어색합니다.
기준 조건을 유지하다가 돌파한 종목을 찾는 검색식 부탁드리겠습니다.
1. 단순 200이평을 돌파 이후 한번도 하향 이탈하지 않고
2. 상향 돌파 후 최소 10봉 이상 지난 뒤에
3. 200이평 돌파 이후 최고의 고점을 다시 상향 돌파 한 종목을 찾고 싶습니다.
참고로 키움에서 사용중인 신호는 아래와 같습니다.
M200 = ma(c, 200);
HH = Highestsince(1, crossup(C, M200), H);
Bs = Barssince(crossup(C, M200))+1;
Cs = Countsince(crossup(C, M200), C > M200);
condition =
Bs == Cs &&
crossup(C, HH(1)) &&
Bs > 10;
signal_1st = Countsince(crossup(C, M200), condition);
signal_1st == 1 && signal_1st(1) == 0
찾아보니 예스트레이더에서는 Barssince와 Countsince가 지표에서는 사용이 불가능 하다고 들었는데 가장 비슷하게라도 부탁드리겠습니다. 미리 감사드립니다.
2024-05-12
726
글번호 179400
답변완료
청산후 진입금지 문의
안녕하세요
일봉차트에 참조차트로 주봉차트 이용하고 있습니다
(주봉신호로 일봉에서 거래)
청산한 주에는 주중 거래 마지막일만 진입하고자 하는데 수식 문의드립니다
예를 들어, 수요일 청산했다면 그주의 금요일에 진입 가능.
아래 처럼하니 청산일 다음날 진입이 됩니다
if MarketPosition == 0 and TotalTrades ==0 or (TotalTrades>=1 and data2(barssinceExit(1)>=1)) Then
2024-05-12
628
글번호 179399
답변완료
종목검색 요청 합니다
input : Periods(10);
input : Multiplier(3.0);
input : changeATR(true);
input : showsignals(true);
input : highlighting(true);
var : src(0),alpha(0),atr1(0),atr2(0),atrv(0);
var : up(0),up1(0),dn(0),dn1(0);
var : trend(0),tx(0);
src = (h+l)/2;
alpha = 1/Periods;
atr1 = iff(IsNan(atr1[1]) == true,ma(TrueRange, Periods), alpha * TrueRange + (1 - alpha) * iff(IsNan(atr1[1])==true,0,atr1[1]));
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR ==true,atr1, atr2);
up = src-(Multiplier*atrv);
up1 = iff(isnan(up[1])==true,up,up[1]);
up = iff(close[1] > up1 , max(up,up1), up);
dn = src+(Multiplier*atrv);
dn1 = iff(isnan(dn[1])==true,dn,dn[1]);
dn = iff(close[1] < dn1 , min(dn, dn1) , dn);
trend = 1;
trend = iff(isnan(trend[1])==true,trend,trend[1]);
trend = iff(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend));
if trend == 1 Then
{
plot1(up,"Up Trend",green);
NoPlot(2);
}
Else
{
NoPlot(1);
plot2(dn,"Down Trend",Red);
}
if trend == 1 and trend[1] == -1 Then
{
tx = Text_New(sDate,sTime,up,"●");
Text_SetColor(tx,Green);
Text_SetStyle(tx,2,2);
}
if trend == -1 and trend[1] == 1 Then
{
tx = Text_New(sDate,sTime,dn,"●");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,2);
}
이거 지표 쓰고 있는데
여기서 업트랜드로 하방 돌파 했을때 종목검색과 검색표시 부탁드립니다
2024-05-12
781
글번호 179398
답변완료
수식 변환 부탁 드립니다.
안녕하세요!
다음 파인스크립트 수식을 예스로 변환 부탁드립니다.
감사합니다.
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=resolution, defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")
res = useCurrentRes ? period : resCustom
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal
outMacD = security(tickerid, res, macd)
outSignal = security(tickerid, res, signal)
outHist = security(tickerid, res, hist)
histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0
//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal
plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? lime : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime
circleYPosition = outSignal
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4)
plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2)
plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4)
plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line', linestyle=solid, linewidth=2, color=white)
2024-05-12
815
글번호 179397
답변완료
수식 질문합니다.
안녕하세요.
조건1:
O[3]>C[3] and O[2]>C[2] and O[1]>C[1] and O<C and
V[2]*1.1<V[1] and V[1]<V
조건1을 만족한 후
조건2:
If
H[11]==Max(H[1],H[2],H[3],H[4],H[5],H[6],H[7],H[8],H[9],H[10],H[11])
Then Var1=H[11];
Else
{
if C[1]<Var1 and CrossUp(C,var1) Then
Find(1);
}
조건2를 처음 만족하는 종목.(조건1보다 조건2의 값이 더 큼)
감사합니다.
2024-05-12
759
글번호 179396
답변완료
수식 문의 드립니다.
안녕하세요.
예스스팟 코드 중에
Array1, Array2 등 배열을 사용하고 있습니다.
예를 들어, Array1[0] 부터 Array1[n]까지를 저장하고 싶은데
SetUserValue로 어떻게 저장할 수 있을까요?
Array2 도 마찬가지로 저장이 필요합니다.
저장한 후헤 GetUserValue로 값을 가져오는 방법도 알려주시면 고맙겠습니다.
감사합니다.
2024-05-12
758
글번호 179395
답변완료
수식 질문합니다.
안녕하세요.
var: OO(0);
OO=Min(O,C);
If Min(OO[3],OO[2],OO[1],OO) >= Max(L[3],L[2],L[1],L) Then
find(1);
위 수식 조건을 만족한 이후 Min(OO[3],OO[2],OO[1],OO)선과 Max(L[3],L[2],L[1],L)선을 동시에 첫번째 종가이탈한 뒤 다시 동시에 종가돌파한 종목.
감사합니다.
2024-05-12
768
글번호 179394