커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1384
글번호 230811
답변완료
문의드립니다.
늘 고맙습니다.
질문드렸던 내용에 대해 주신 답변입니다.
안녕하세요
예스스탁입니다.
DayHigh[BarsSinceEntry]
DayLow[BarsSinceEntry]
진입시점에서 당일고점이나 당일저점은 위 내용이 맞습니다.
[EntryTime]은 맞지 않는 내용입니다.
즐거운 하루되세요
#1. 답변주신대로 해보니 원하는 값이 나오지 않습니다.
barsinceentry에 대한 예제를 보면 다음과 같이 나옵니다.
if BarsSinceEntry >= 10 then → 진입 이후 10개봉 경과
highest(H, BarsSinceEntry) → 진입 이후 최고가
제가 원하는 것은 "진입이후"가 아니라 "진입시점"입니다.
진입시점의 고점은 불변인 것이고 진입이후의 고점은 높아질 수 있겠죠.
진입하는 캔들 딱 그자리에서의 당일 최고가, 최저가 등을 찾는건데요.
제가 뭔가 잘못하고 있는걸까요?
#2. 아래 'ms매도'는 조건1 성립후 조건2 성립까지 기간중 최고점 자리를 찾고자 합니다.
또하나는 'ms매도2'는 조건1 성립시점에서의 고점을 찾고자 합니다.
뭔가 잘못 작성하고 있는 거 같습니다.
둘다 수정 부탁드립니다.
if 조건1 Then
{
ms=1;
msi1=Index;
}
if ms==1 and Index-msi1<=7 and 조건2 Then
{
ms=2;
msi2=Index;
ms매도=Highest(H,Index-msi1); #조건1과 2사이의 최고점 찾기
ms매도2=H[msi1]; #조건1 성립시 그자리에서의 최고점 찾기
}
if ms==2 and Index-msi2<=52 Then
{
ms=3;
Sell("ms매도",AtLimit,ms매도);
2024-07-31
898
글번호 182058
답변완료
행복; 시스템식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 관련입니다
주기; 일봉
종목; 삼성전자
<조건>
- 삼성전자가 2% 이상 상승할 때
1. 익일 시가에 1주 매수하고 익일 종가에 1주 매도
2. 당일 종가에 1주 매수하고 익일 종가에 1주 매도
에 대한 시스템식을 아래와 같이 작성하였습니다
=============<아래 시작>=============================
1
if MarketPosition == 0 and NextBarSdate != sDate and C >= DayClose(1)*1.02 Then
Buy("b",AtMarket,Def,1);
if MarketPosition == 1 and NextBarSdate != sDate Then
ExitLong("bx");
2
if MarketPosition == 0 and NextBarSdate != sDate and C >= DayClose(1)*1.02 Then
{
Buy("b",OnClose,Def,1);
}
if MarketPosition == 1 and NextBarSdate != sDate Then
ExitLong("bx");
=============<아래 끝>=============================
근데 3월 22일과 7월 8일에 매매 신호가 나오지 않습니다
어떻게 해야 하는지요?
수고하십시요^^
2024-07-31
816
글번호 182057
답변완료
키움신호를 종목검색식으로
A=(Highest(H,9)+Lowest(L,9)+Highest(H,26)+Lowest(L,26))/4;
C > (Highest(H,26)+Lowest(L,26))/2 and
MACD(12,26) > 0 and
C > Avg(C, 60) and
C > A(25)
2024-07-31
1035
글번호 182056
답변완료
문의드립니다~
호가창이 있는 해외선물 예스트레이더가 한국투자증권 예스트레이더라고 해서
찾아봤는데 호가창의 글자크기조절기능이 있네요.
그런데 국내선물거래가 가능한 nh증권과 하이투자증권예스트레이더에는 호가창의 글자크기조절기능은 없는거 같아서요. 호가창의 글자크기를 조절해서 볼 수 있는 방법이 있을까요?
2024-07-31
812
글번호 182055
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 부탁드립니다.
국내선물 3분봉으로 일중 거래를 하고자 합니다.
1. 전일 종가보다 당일 시가가 크면
2. 볼린저밴드 하단선의 기울기가 음에서 양으로 전환시
3. 익봉시가에 매도진입
4. 볼린저밴드 상한선의 기울기가 양에서 음으로 전환시
5. 익봉시가에 매도청산
a. 전일 종가보다 당일 시가가 작으면
b. 볼린저밴드 상한선의 기울기가 양에서 음으로 전환시
c. 익봉시가에 매수진입
d. 볼린저밴드 하한선의 기울기가 음에서 양으로 전환시
e. 익봉시가에 매수청산
당일시가가 갭상승 출발시 1~5번 전략으로 매수진입 최대 1번과 청산
당일시가가 갭하락 출발시 a~e번 전략으로 매도진입 최대 1번과 청산
12시에 강제청산
2024-07-31
881
글번호 182054
답변완료
안녕하세요
무더운 날씨에 노고가 많으십니다
혹시 예스랭귀지로 변환이 가능할지하여
문의드립니다.
항상 도움주셔서 감사드립니다
좋은 하루되세요!
study("SHK")
sensitivity = input(150, title="Sensitivity")
fastLength=input(20, title="FastEMA Length")
slowLength=input(40, title="SlowEMA Length")
channelLength=input(20, title="BB Channel Length")
mult=input(2.0, title="BB Stdev Multiplier")
DEAD_ZONE = nz(rma(tr(true),100)) * 3.7
calc_macd(source, fastLength, slowLength) =>
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
fastMA - slowMA
calc_BBUpper(source, length, mult) =>
basis = sma(source, length)
dev = mult * stdev(source, length)
basis + dev
calc_BBLower(source, length, mult) =>
basis = sma(source, length)
dev = mult * stdev(source, length)
basis - dev
t1 = (calc_macd(close, fastLength, slowLength) - calc_macd(close[1], fastLength, slowLength))*sensitivity
e1 = (calc_BBUpper(close, channelLength, mult) - calc_BBLower(close, channelLength, mult))
trendUp = (t1 >= 0) ? t1 : 0
trendDown = (t1 < 0) ? (-1*t1) : 0
plot(trendUp, style=columns, linewidth=1, color=(trendUp<trendUp[1])?lime:green, transp=45, title="UpTrend")
plot(trendDown, style=columns, linewidth=1, color=(trendDown<trendDown[1])?orange:red, transp=45, title="DownTrend")
plot(e1, style=line, linewidth=2, color=#A0522D, title="ExplosionLine")
plot(DEAD_ZONE, color=blue, linewidth=1, style=cross, title="DeadZoneLine")
2024-07-30
1230
글번호 182053
답변완료
청산 수식 부탁합니다.
청산 조건을 사용할때 진입봉 다음부터 카운팅 하게하여 청산하게 하려면 어떻게 해야할까요?
예를들어서 MACD 기준선 돌파 기본식을 사용한다고 가정했을때
매수 진입후에 시가대비 종가 0.2%상승한 양봉이 발생할 경우에 즉시 강제청산 전략을 짜고 싶습니다.
그런데 진입봉이 0.2%이상 나온 경우에 매수와 청산이 동시에 발생합니다.
이런 경우 해결방법이 있을까요?
2024-07-30
877
글번호 182052
답변완료
수식부탁드립니다.
앞 질문에 RSI 50이상 검색식을 부탁드렸는데
기간을 애기하지 못해서 다시한번 문의드리겠습니다.
RSI 14
50 이상으로 검색식 부탁드리겠습니다.
input : P(14);
var : R(0);
R = RSI(14);
if R >= 50 Then
Find(1);
이렇게 하면 맞는건가요 ?
항상 감사드립니다.
2024-07-30
857
글번호 182051
답변완료
혹시 대댓글은
대댓글로 올린 질문은 확인을 안하시나요?? 대댓으로 질문을 했는데 글을 새로 올려야하나 해서 여ㅉ ㅓ봅니다
2024-07-30
907
글번호 182050