커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1465
글번호 230811
답변완료
시스템식 부탁드립니다.
항상 도움주셔서 감사합니다.
종목 : 해외선물
차트 : 60분봉
요청식)
아래 시스템에서
가격이 상승시 물타기와 같은 배수 같은 간격으로 불타기를 하고 싶습니다.
물타기 진입과 청산은 기존과 동일하고
불타기의 청산은 가격이 불타기 평균가격+20$를 아래로 하락할때 청산하고 싶습니다.
포지션 진입이후 가격이 20$ 이상 상승하지 않고
진입가격 아래로 하락하면 물타기 진행합니다.
- 불타기, 물타기 첫번째 진입간격은 20$ 입니다.
그리고 포지션 평균가격 및 청산가격(예상가격)을 라인으로 표시하고 싶습니다.
#------------------------------------
input : Pst(1);
input : gap(20), gapmulti(0.7), multi(0.7), pt(20), sl(200);
var : vol(0),v1(0),t(0);
var : line1(0), line2(0);
value1 = gap/PointValue;
value2 = pt/PointValue;
value3 = sl/PointValue;
line1 = ma(c,10) ;
line2 = ma(c,20) ;
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
v1 = CurrentContracts-CurrentContracts[1];
if MaxEntries == 1 Then
t = value1 ;
Else
t = t+Round(t*gapmulti,0);
}
vol = Round(v1+v1*multi,0);
Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol);
ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
if pst == -1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Sell("s",OnClose,Def,vol);
}
if MarketPosition == -1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
v1 = CurrentContracts-CurrentContracts[1];
if MaxEntries == 1 Then
t = value1 ;
Else
t = t+Round(t*gapmulti,0);
}
vol = Round(v1+v1*multi,0);
Sell("ss",AtLimit,EntryPrice(0)+PriceScale*(value1*MaxEntries),vol);
ExitShort("sp",AtLimit,AvgEntryPrice-PriceScale*Value2);
}
}
감사합니다.
2024-01-22
852
글번호 175930
답변완료
부탁 드립니다
도움에 감사 드립니다...
아래와 같은 방법으로
그림과 같은 위치에 표시 되도록 부탁 드립니다.
var : tx(0);
Text_Delete(tx);
tx = text_new(NextBarSdate,NextBarStime,c,NumToStr((DayHigh-DayLow)/PriceScale,0)+"틱");
Text_SetStyle(tx,0,1);
2024-01-20
888
글번호 175929
답변완료
문의 드립니다
안녕하세요
1. 시가+(전일고가-저일저점)*0.5
라인을 만들고자합니다.
감사합니다
2024-01-20
803
글번호 175928
답변완료
지표 질문입니다
9개 캔들 조합이 음+양양양양양양양+음 일 때 이후 추가 21양봉 고가를 표시한다
9개 캔들 조합이 양+음음음음음음음+양 일 때 이후 추가 21음봉 저가를 표시한다
6개 캔들 조합이 음+양양양양+음 일 때 이후 추가 7양봉 고가를 표시한다
6개 캔들 조합이 양+음음음음+양 일 때 이후 추가 7음봉 저가를 표시한다
5개 캔들 조합이 음+양양양+음 일 때 이후 연속 4양봉 출현하면 4번째 양봉 저가를 표시
5개 캔들 조합이 양+음음음+양 일 때 이후 연속 4음봉 출현하면 4번째 음봉 고가를 표시
4개 캔들 조합이 음+양양+음 일 때 이후 연속 3양봉 출현하면 3번째 양봉 저가를 표시
4개 캔들 조합이 양+음음+양 일 때 이후 연속 3음봉 출현하면 3번째 음봉 고가를 표시
감사합니다
2024-01-20
665
글번호 175927
답변완료
부탁드립니다
1. 20분마다 전전전시간대 최고가와 최저가, 전전시간대 최고가와 최저가 및 전시간대 최고가, 최저가, 종가, 그리고 현시간대 시가를 우측 연장 추세선으로 구현해 주세요
2. 20분마다 현시간대 종가가 중간값 위로 오르면 빨강색 봉으로, 아래로 내리면 파란색 봉으로 구현해 주세요
3. 20분마다 현시간대 중간값 추세선이 전시간대 중간값 추세선보다 높으면 빨강 추세선으로, 낮으면 파란 추세선으로 구현해 주세요
고맙습니다.
2024-01-21
647
글번호 175926
답변완료
문의 드립니다.
study("Overbought Oversold Indicator")
n = input(5, title="Length")
Barcolor=input(true,title="Barcolor")
ys1 = (high + low + close * 2) / 4
rk3 = ema(ys1, n)
rk4 = stdev(ys1, n)
rk5 = (ys1 - rk3) * 100 / rk4
rk6 = ema(rk5, n)
up = ema(rk6, n)
down = ema(up, n)
Oo = iff(up < down, up, down)
Hh = Oo
Ll = iff(up < down, down, up)
Cc = Ll
b_color = iff(Oo[1] < Oo and Cc < Cc[1], #FFFF00, iff(up > down, #008000, #FF0000))
barcolor(Barcolor ? b_color : na)
hline(0)
plot(Oo, style=plot.style_histogram, color=b_color)
plot(Ll, style=plot.style_histogram, color=b_color)
plot(up, color=b_color,title="Up")
plot(down, color=b_color,title="Down")
Buy = crossover(up, down)
Sell = crossunder(up, down)
plotshape(Buy, title="Buy", color=#008000, style=shape.triangleup, location=location.bottom, text="Buy",size=size.tiny)
plotshape(Sell, title="Sell", color=#FF0000, style=shape.triangledown, location=location.top, text="Sell",size=size.tiny)
alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")
트레이딩뷰 지표인데 바이/셀 신호는 제외하고 지표 수식만 예스로 좀 바꿔주세요.
2024-01-19
763
글번호 175925
답변완료
거래량과 거래대금
안녕하세요..
1)20봉 이내에서 전일대비 거래량이 500% 이상이고 1)동시에 거래대금이 20억원 이상인
두 조건을 동시에 만족하는 식을 사용하고 싶습니다.
따로 따로는 알겠는데..
20봉 이내에 저 조건을 동시에 만족하는 일봉은 어떻게 찾는지 궁금합니다.
감사드려요~
2024-01-22
944
글번호 175924
답변완료
수식 부탁드립니다.
20ma와 60ma가 crossup 했을때 X개 봉이 완성된 후에도 계속 crossup상태이면 buy진입 ;
반대의 경우에는 sell;
-cross했을 때 차트에 ★표시나게 가능하면 부탁드립니다.
수식 부탁드립니다.
2024-01-19
726
글번호 175923
답변완료
재문의드립니다
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), TL(0),upv1(0), dnv1(0);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR, atr(Periods), atr2);
upv = src-(Multiplier*atrv);
upv = iff(close[1] > upv[1],max(upv,upv[1]), upv);
upv1 = (DayOpen() - upv) + DayOpen();
dnv = src+(Multiplier*atrv);
dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv);
dnv1 = (DayOpen() - dnv) + DayOpen();
trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend));
if trend == 1 Then
plot1(upv,"Trend",REd);
Else
plot1(dnv,"Trend",BLACk);
-----------------------------------
위수식 일봉용을 분봉에 적용해서 보고싶습니다
일봉수식 데이타가 분봉에 표시되게..
----------------------------------------
아래수식은 답변주신 수식인데요 분봉차트에 적용하니까
upv-->dnv 또는 dnv--> upv로 스위치가 안일어납니다
안녕하세요
예스스탁입니다.
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0);
var : sumTR(0),TH(0),TL(0),cnt(0);
var : preupv(0),prednv(0),trend1(0);
src = (DayHigh+DayLow)/2;
sumTR = 0;
for cnt = 0 to Periods-1
{
If DayClose(cnt+1) > DayHigh(cnt) then
TH = DayClose(cnt+1);
else
TH = DayHigh(cnt);
If DayClose(cnt+1) < daylow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
sumTR = sumTR + (TH-TL);
}
ATR2 = sumTR/Periods;
atrv = iff(changeATR, atr2, atr2);
if Bdate != Bdate[1] Then
{
preupv = upv[1];
prednv = dnv[1];
trend1 = trend[1];
}
upv = src-(Multiplier*atrv);
upv = iff(DayClose(1) > preupv,max(upv,preupv), upv);
upv1 = (DayOpen() - upv) + DayOpen();
dnv = src+(Multiplier*atrv);
dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv);
dnv1 = (DayOpen() - dnv) + DayOpen();
trend = iff(trend1 == -1 and close > dnv1 , 1 ,IFf(trend1 == 1 and close < upv1 , -1 , trend1));
if trend == 1 Then
plot1(upv,"Trend",REd);
Else
plot1(dnv,"Trend",BLACk);
---------------------------------
주가가 dnv 를 상향돌파하면 dnv---> upv로 .. 주가가 upv를 하향돌파하면 upv-->dnv로
바뀌어야 하는데 안바뀝니다
다시 한번 검토해주시면 감사하겠습니다
2024-01-19
726
글번호 175922