커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5443
글번호 230811
답변완료
시스템식 문의
1. 시스템 신호 필터링 조건으로
지나치게 원웨이로 진행했을때 해당방향으로 진입하지 않게 하려고 합니다.
진입전 n봉 동안 최대하락폭이 m틱 이하이면서 k틱 이상 올랐을경우 매수진입신호 무효화
진입전 n봉 동안 최대상승폭이 m틱 이하이면서 k틱 이하 내렸을경우 매도진입신호 무효화
라는 조건을 추가하기 위해서는 시스템식에 어떤식으로 수식을 추가해야 할까요?
2. 시스템식 오류 수정요청.
Data1을 상위차트(60분봉)
Data2을 하위차트(3분봉) 으로 설정하고
input : 상위ma위연속n개봉(10), ma봉수(200), rsi봉수(10), 손절틱(100), 익절틱(100);
Var1 = ma(C,ma봉수);
Var2 = rsi(rsi봉수);
if
Data1(countif(L>Var1,상위ma위연속n개봉) == 상위ma위연속n개봉) and //상위차트에서 ma위에 연속으로 n개봉 존재
Data2(Var2[0] < 50) and //하위차트에서 rsi 30이하
MarketPosition == 0
Then
buy("롱진입",AtStop,Data1(C[0]));
SetStopLoss(PriceScale*손절틱,PointStop);
SetStopProfittarget(PriceScale*익절틱,PointStop);
위와같이 시스템식을 구성했을때, 오류검증에는 이상없으나
if다음의 첫번째 수식인
Data1(countif(L>Var1,상위ma위연속n개봉) == 상위ma위연속n개봉) and
//상위차트에서 ma위에 연속으로 n개봉 존재
부분이 의도한대로 나오지 않습니다. 제가 의도한 조건은 이동평균선 위에 연속한 n개의 봉이 있을 경우 인데, 실제로 시뮬레이션을 돌려보면 수식의 결과가 그렇게 나오지 않습니다. 어떤식으로 해야 오류가 수정될까요?
2020-01-11
233
글번호 135073
답변완료
문의 드립니다.
매번 도움을 주시는데 다시 도움요청드립니다.
키움수식이 두가지인데... 변환좀 부탁드립니다...
1번지표
wavg(C,Period1) + wavg(C,Period1*2) +wavg(C,Period1*3)
지표조건 Period1 14
2번지표
if( (avg(if(c<c(n),(c(n)-c),0),m))<=0,100,
(100-
(100/(1+
(
(avg(if(c>c(n),(c-c(n)),0),m))/
(avg(if(c<c(n),(c(n)-c),0),m))
)
)
)
)
)
지표조건 n 5
m 14
이두가지 지표를 변환좀 부탁드립니다.
변환할때 선이 상승시에는 빨강색 하락시에는 파란색으로 나오게도 부탁드립니다
추운날시에 감기조심하시고 새해복 많이 받으세요~^^
2020-01-10
296
글번호 135072
회원 님에 의해서 삭제되었습니다.
2020-01-10
2
글번호 135070
답변완료
종목검색식을 부탁드립니다.
NH트레이더를 이용하고 있습니다.
분봉차트에서
"날짜가 바뀐 후 첫봉에서
condition1을 만족하는 종목"을 첫봉완성 직후에 검색하고자 합니다.
(condition1=v>ma(v[1],N1)*N2;)
1. 이러한 종목검색이 실시각으로 가능한지요.
가능하다면 그 종목검색식을 부탁드립니다.
2. 지표식에서
날짜가 바뀐 후 첫봉에서 condition1이 충족되었을 때,
그 첫봉의 고가선과 저가선, 종가선,시가선을 장마감까지 유지하는 4개의 수평선을
분봉차트 위에 구현하고자 합니다. 거기에 맞는 조건식을 부탁드립니다.
2020-01-10
235
글번호 135069
답변완료
함수요청
안녕하세요?
아래 전략에 대하여 스크립트 작성 요청드립니다.
항셍지수 선물 3분봉으로 T장(10:15 ~ 17:30)에서만 거래를 하고 합니다.
Bands Width 가 최근 N개봉으로 최저점을 기록하고
현재가봉 종가가 N번째봉 종가보다 작으면 익봉시가에 매수진입
Bands Width 가 최근 N개봉으로 최저점을 기록하고
현재가봉 종가가 N번째봉 종가보다 크면 익봉시가에 매도진입
포지션 진입이후 Bands Width 가 최근 N개봉으로 최고점을 기록하면 익봉시가에 청산
17시에 시간청산
2020-01-10
223
글번호 135064
답변완료
함수요청
안녕하세요?
아래 전략에 대하여 스크립트 작성 요청드립니다.
항셍지수 선물 3분봉으로 T장(10:15 ~ 17:30)에서만 거래를 하고자 합니다.
BBUP- 5MA > 5MA - BBDN이면 매도
BBUP- 5MA < 5MA - BBDN이면 매수
17시에 시간청산하며 진입기준으로 하루 최대 5번만 거래하고 싶습니다.(6번이상 신호나오지 않게)
2020-01-10
190
글번호 135063
회원 님에 의해서 삭제되었습니다.
2020-01-10
25
글번호 135060
답변완료
수식 수정 부탁드립니다.
ADX선이 20을 아래서 위로 돌파해서 위로 가고 있을 때는 붉은색으로,
ADX선이 40을 위에서 아래로 돌파해서 내려가고 있을 때는 검은색으로 칠하고 싶습니다.
================================================================================
input : Period(14);
var : ADXv(0,Data2), T(0,Data2);
ADXv = Data2(ADX(Period));
If Crossup(ADXv, 20) Then
T = 1;
Else
T = 0;
Plot1(ADXv,"ADXv", GRAY);
If T == True and and ADXv > 20 Then
Plot1(ADXv,"ADXv",RED);
If T == False and ADXv[0] < 40 Then
Plot1(ADXv,"ADXv",BLACK);
PlotBaseLine1(20,"20");
PlotBaseLine2(40,"40");
2020-01-10
188
글번호 135053
답변완료
손절청산시 거래일 다음에 진입하는 수식 체크 부탁드리겠습니다
저번에 답변주신대로 적용해서 시뮬 돌려보내 아래 챠트와 같이 1/8일 22:01 손절청산
한후 1/9일 3시 20분에 매수진입이 되었습니다
만약에 1/8일 22:01 손절 청산시 (이익 청산시는 아님) 1/9일 07:00 이후에 조건만족시 진입될수 있도록 한번 체크부탁드림니다.
Input : RSIPeriod(14),RSI매수값(50),SimPeriod(14),심리도값(22);
Input : N1(1),초기화(7);
Input : CCI기간(2000),CCI값(400);
Input : 하락틱수(3000);
Input : 즉시익절1(110),즉시손절1(80);
Input : 분할매수횟수(2),분할매수틱수(45);
input : N(12);
var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0),entry(0);
CCIv = CCI(CCI기간);
RSIV = RSI(RSIPeriod);
Simri = Simrido(SimPeriod);
if bdate != bdate[1] Then
{
Entry = 0;
Condition2 = true;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if TotalTrades > TotalTrades[1] and IsExitName("즉시손절1",1) == true then
Condition1 = false;
Condition1 = RSIv < RSI매수값 and Simri < 심리도값;
if bdate != bdate[1] Then
{
DD = DD+1;
if var2 > 0 and DD == var2+초기화 Then
BuySetup = false;
}
if BuySetup == false and Condition1 == true and Condition1[1] == false Then
{
var1 = C;
var2 = DD;
BuySetup = true;
}
if Condition2 == true and MarketPosition == 0 and BuySetup == true Then
buy("매수",AtLimit,var1-PriceScale*하락틱수);
#추가진입
if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then
buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1);
if MarketPosition == 1 then
{
BuySetup = false;
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1");
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
}
2020-01-10
213
글번호 135052