커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7509
글번호 230811
답변완료
부탁합니다
다음 사항 부탁 드립니다
RSI (14,9) Golden Cross 발생일 종가 기준으로
당시 종가 대비 현재 주가 5~10% 상승한 종목검색 수식
2014-04-30
191
글번호 74784
답변완료
수식 문의드립니다
1. 외국인 코스피 누적 순매수금액
2. 외국인 만기일 이후 선물 누적순매수 금액
수식 부탁드립니다. 감사합니다.
2014-04-30
184
글번호 74778
답변완료
문의드립니다
귀사의 일익번창하심을 기원합니다.
과거 3일이나 5일 등의 지정한 기간의 고점과 저점을 선으로 그리고 싶습니다
그기간동안에서 고점과 저점을 찾는게 아니고 지정한 기간동안 그값을 유지 시켜야 합니다
이동 평균값 입력하는 것처럼 4를 입력한다면 4일 단위로 4일동안의 고점과 저점 값을 4일동안 유지 시킬수 있도록 할려고 합니다
주봉 월봉도 같이 적용할수 있게 부탁드립니다
2014-04-30
174
글번호 74776
답변완료
한봉내에서 진입과 청산발생
1. 청산식 작성중 그림과 같이 한봉내에서 진입과 청산이 발생했습니다
이럴때 실전에서는 어떻게 진행되는지요?
진입후 다음봉에서 청산되나요?
2.틱차트에서 일봉5이평을 구현하는 수식을
갭을 제거한것과 제거하지 않은것으로 부탁드립니다
2014-04-30
222
글번호 74775
답변완료
문의드림니다
아침부터 현재까지의 (각봉의 최고점-각봉의 최저점)을 모두 더한값을 식으로
작성 부탁드림니다
2014-04-30
177
글번호 74768
답변완료
문의 드립니다
가격이 5이평선과 같을때만 적용하고 싶습니다
즉 캔들이 5 이평선에 걸쳐 있을때
(5 이평선 가격 = 캔들의 종가)
5이평선보다 크면 매수 작으면 매도
보통 크로스업다운으로 하는것 같습니다..
문제는
가격이 5일선을 업하여 매수했으나 재차 가격이 다운되면 매도를 해야 합니다..
그러나 매수포지션이 그대로 되어 있어 손실을 보고 있습니다
방법이 없을까요?
검색 해보니 accumn 함수를 사용하면 언듯 될듯 한데....
방법이 있다면 시스템식 부탁드립니다....
input : P(5)
var1 = ma(c,P);
if Crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
2014-04-30
197
글번호 74766
답변완료
문의 드립니다.
제가 보조지표를 활용할때 주로 일봉에서 보조지표를
적용하고 실제 매매는 분봉에서 거래를 합니다.
그래서 일봉의 보조지표 수식을 분봉에 적용할수 있게 매번 바꿔야 하는데요.
이게 매우 복잡하고 고생스럽습니다.
좀더 간단한 방법은 없을까요?
예를 들어서 타종목 참조 기능을 활용해서 일봉 데이터를 가져와
거기에 적용한 보조지표를 그대로 가져와서 사용할수는 없는 건가요?
만약 이게 불가능하다면 일일히 수식으로 변환시켜야 하는데요.
아니면 최초에 예스언어에서 보조지표의 값을 불러올때 일봉,분봉,틱봉을
입력하는 기능이 있었으면 좋겠네요.
향후 이런 기능이 업데이트 될수 있을까요?
2014-04-29
199
글번호 74765
답변완료
문의 드립니다.
분봉에서 일봉의 전일 Chaikin's Oscillator 종가값을 구할려고 합니다.
당일 일봉값을 가져오니까 계속 신호가 바뀌더라구요...
그래서 일봉의 전일 종가값을 가져오고 싶습니다.
아래는 Chaikin's Oscillator 의 공식인데요.
Input : SP(3), LP(10);
Var : value(0), value_Accum(0), Ch(0);
value = ((C - L) - (H - C)) / (H - L) * V;
value_Accum = Accum(value);
Ch = ema(value_Accum, SP) - ema(value_Accum, LP);
여기서 중요한건 시스템을 적용하는건
분봉에다 할껀데요, 일봉의 전일 Chaikin's Oscillator 종가값을
구하는 수식좀 부탁드립니다^^
2014-04-29
191
글번호 74764
답변완료
수식변경 부탁드립니다
수식변경을 요청드립니다
아래의 식에서 보시면..매수조건식을 보면 스톡케스틱 %k가 20선을 하향이탈한 이후에
골든크로스가 발생하면 매수하는 식인데.. 조건을 추가하고 싶습니다.
골근코로스가 발생되는 분봉은 2분봉으로 사용할려고 하지만, 조건을 추가하고 싶은
것은 60분봉입니다. 즉 매수시에 60분봉 스톡케스틱을 참조해서 60분봉의 %k값이 60이상일 때만 매수하 되도록 부탁드립니다.
단 2차매수는 상관없습니다. 첫번째 매수가 되고 다음조건(첫 진입가에서 4%이상 하락시 매수)이 만족되면 60분봉의 %k의 위치 값하고 상관없이 매수하면 됩니다
이렇게 다른 분봉의 조건을 추가할려면 챠트설정도 2개의 분봉이 같이 보여져야 할 것
같은데요.. 어떻게 해야 하는지 부탁을 드립니다
=================================================================
Input : Period(25), Period1(6), Period2(6), MAP(5),투입금액1(5100000),투입금액2(10100000);
var : StoK(0),StoD(0),vol1(0),vol2(0),mav(0),SH(0),cross(0),Dncnt(0);
Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false);
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액1/C)/10)*10;
vol2 = int(int(투입금액2/C)/10)*10;
}
Else{
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
}
#kosdoq
if CodeCategory == 2 Then{
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
#option
if CodeCategory == 6 or CodeCategory == 8 Then{
vol1 = int((투입금액1)/(C*BigPointValue));
vol2 = int((투입금액2)/(C*BigPointValue));
}
Lvalue = Lowest(L, Period);
Hvalue = Highest(H, Period);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
StoK = ma(FK,Period1);
StoD = ma(StoK,Period2);
mav = ma(C,MAP);
#%k가 20을 하향돌파하면 BuySetup은 true
if BuySetup == false and CrossDown(stok,20) Then{
BuySetup = true;
}
#%k가 60이상 상승하면 BuySetup은 false
if Stok >= 60 Then
BuySetup = false;
#BuySetup이 true일때
if BuySetup == true Then{
if crossup(stok,stod) and MarketPosition == 0 Then
buy("매수",OnClose,def,vol1);
#첫진입가에서 4% 하락하면 추가매수
if MaxEntries == 1 Then
buy("2차매수",atlimit,EntryPrice*0.96,vol2);
#추가매수후 첫진입가에서 8% 하락하면 전량청산
if CurrentEntries == 2 Then
ExitLong("손절",AtStop,EntryPrice*0.92);
}
#매도포지션 진입
if MarketPosition == 1 Then{
#매수포지션에 진입하면 BuySetup은 false
BuySetup = false;
#%k가 80을 하향이탈시 청산
if Crossup(stok,80) Then
ExitSetup1 = true;
if ExitSetup1 == true Then{
if CrossDown(stok,80) Then ExitLong("매도");
}
#목표수익
#진입1회
if MaxEntries == 1 Then
ExitLong("목표수익1",Atlimit,EntryPrice*1.05);
#진입2회
if MaxEntries == 2 Then
ExitLong("목표수익2",Atlimit,avgEntryPrice*1.03);
}
Else{
ExitSetup1 = false;
ExitSetup2 = false;
}
2014-04-29
211
글번호 74763