커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6388
글번호 230811
답변완료
키움 수식 예스랭귀지 구현 문의합니다.
안녕하세요.
아래 키움 수식을 예스랭귀지로 구현하고 싶습니다.
Period 10
span 10
종목 검색과
검색된 봉의 고가를 돌파하는 양봉을 검색하고 싶습니다.
감사합니다.
AA=crossup(C,
max((highest(high(25),9)+
lowest(low(25),9)+
highest(high(25),26)+
lowest(low(25),26))/4 ,
(highest(high(25),52)+
lowest(low(25),52))/2));
VV=V>highest(V(1), Period);
a60 = avg(c,60);
b60 = (a60(0)/c) - (a60(1)/c);
BB=crossup(b60,0);
CC=barssince(crossdown(b60,0));
AA and BB and VV and (CC>span)
2023-08-30
1287
글번호 172002
회원 님에 의해서 삭제되었습니다.
2023-08-30
36
글번호 172001
답변완료
83515 답변 주신 것에 추가 문의. 진입, 청산 조건 질문입니다.
도움을 주신것에 항상 감사드립니다.
첨부된 이미지에서
각각의 빨강, 검정, 파랑 구간에서 매매 진입하는 코드를
지난번에 알려주셨는데요.
코드는 아래와 같습니다.
=======================================================
input : ntime(100000), xtime(230000);
var : Tcond(False), oo(0), k(0), j(0);
array : flag[3](0);
array : up[2](0), middle[2](0), down[2](0);
array : up_TL[2](0), middle_TL[2](0), down_TL[2](0);
array : up_cnt[2](0), middle_cnt[2](0), down_cnt[2](0);
array : up_text[2](0), middle_text[2](0), down_text[2](0);
// 중간 수식 생략...
var : t(0);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
T = 0;
}
if Tcond == true Then
{
if T == 0 Then
{
if up_cnt[1] >= 6 or up_cnt[2] >= 6 Then
T = 1;
if middle_cnt[1] >= 6 or middle_cnt[2] >= 6 Then
T = 2;
if down_cnt[1] >= 6 or down_cnt[2] >= 6 Then
T = 3;
}
if T == 1 Then
{
if MarketPosition <= 0 and CrossUp(C,up[2]) Then
Buy("b1");
if MarketPosition >= 0 and CrossDown(C,up[1]) Then
Sell("s1");
if MarketPosition == 1 Then
ExitLong("Bp1",AtLimit,up[2]+(up[2]-up[1])*3);
if MarketPosition == -1 Then
ExitShort("sp1",AtLimit,up[1]-(up[2]-up[1])*3);
}
if T == 2 Then
{
if MarketPosition <= 0 and CrossUp(C,middle[2]) Then
Buy("b2");
if MarketPosition >= 0 and CrossDown(C,middle[1]) Then
Sell("s2");
if MarketPosition == 1 Then
ExitLong("Bp2",AtLimit,middle[2]+(middle[2]-middle[1])*3);
if MarketPosition == -1 Then
ExitShort("sp2",AtLimit,middle[1]-(middle[2]-middle[1])*3);
}
if T == 3 Then
{
if MarketPosition <= 0 and CrossUp(C,down[2]) Then
Buy("b3");
if MarketPosition >= 0 and CrossDown(C,down[1]) Then
Sell("s3");
if MarketPosition == 1 Then
ExitLong("Bp3",AtLimit,down[2]+(down[2]-down[1])*3);
if MarketPosition == -1 Then
ExitShort("sp3",AtLimit,down[1]-(down[2]-down[1])*3);
}
}
=========================================================================
T = 1,2,3 중에서 먼저 6번 이상 터치한 곳에서
진입을 시작하는데요.
진입한 이후에 손절될 경우
다시 가격을 터치하면 재진입을 하는데,
그때마다 손실 금액에 따라 진입 수량을 변형하는 수식을 짜고 싶습니다.
예를 들면)
현재는
빨강 박스에서 먼저 6번 이상 터치되면
빨간선 상단 터치시 매수
빨간선 하단 터치시 매수 청산 후 매도.
다시
빨간선 상단 터치시 매도 청산 후 매수....
이런식으로 반복하다가
빨간선 상단과 하단 폭의 3배 구간에서 익절로
거래가 마무리 되는 수식인데요.
이것을
빨간선 상단 , 하단 폭이 10틱이면(익절은 30틱이됨)
빨간선 상단 터치시 매수 진입 1계약 (이후에 만약 익절되면 거래종료)
빨간선 하단 터치시 매수 청산 후 매도 1계약.(누적손실 : -10틱)(이후에 만약 익절되면 거래종료)
빨간선 상단 터치시 매도 청산 후 매수 1계약.(누적손실 : -20틱)(이후에 만약 익절되면 거래종료)
빨간선 하단 터치시 매수 청산 후 매도는 2계약.(누적손실 : -30틱)(이후에 만약 익절되면 거래종료)
빨간선 상단 터치시 매도 청산 후 매수 2계약.(누적손실 : -50틱)(이후에 만약 익절되면 거래종료)
.........
위와 같이 빨간 박스 구간 안에서 생긴 누적된 손실을 익절 한번으로 수익
청산하고 거래 종료하는 수식을 작성하고 싶습니다.
거래시마다 수수료 포함하여 누적되는 손실을 체크해
단 한번의 익절로 수익으로 거래가 마감되도록 수량을 조절하는 수식입니다.
제 머리로는 어떻게 해야할지 감이 안오네요ㅠ
부탁드립니다.
2023-08-30
985
글번호 172000
회원 님에 의해서 삭제되었습니다.
2023-08-30
29
글번호 171999
회원 님에 의해서 삭제되었습니다.
2023-08-30
28
글번호 171998
답변완료
문의드립니다.
수고많으십니다.
시가매매를 할려고 하는데
당일 시가보다 40틱이상 올라간 적이 있고
고점찍고 하락하다 시가에서 10틱 위에 왔을때부터 그 이하로 내려간 후 시가기준 시가에서 20틱 위로 다시 올라가면 매수, 만일 계속 내려가 시가 아래로 15틱 이상 밑으로 가면 매도 신호가 나오는 식을 만들고 싶습니다.
즉 시가위 11틱까지 내려오고 올라가도 매수신호가 작동하지 않습니다. 오직 시가위 10틱이하를 찍고 시가기준 20틱 위로갈 때만 매수신호입니다.
선물이라 꺼꾸로된 식도 부탁 드리겠습니다.
미리 감사드립니다.
2023-08-30
1150
글번호 171997
답변완료
수식 부탁드립니다
키움증권 수식인데
검색식으로 표현이 안되어서요
이걸 어떻게 표현해야 할지 모르겠는데요
눌림매수를 하려고 하는데요
M = floor(date/100);
HH = HighestSince(1, M!=M(1), H);
ValueWhen(1, M!=M(1), HH(1))
위 수식은 전월 고가선 입니다
위에 있는 종목들중에
아래 수식 라인에 닿는 종목들을 검색하고 싶습니다
수식1 1차매수
최근고가=highest(h,날수*(360/(분봉단위+1))+1);
최근저가=lowest(l,날수*(360/(분봉단위+1))+1);
최근고가-(최근고가-최근저가)*r2/100
수식2 2차매수
최근고가=highest(h,날수*(360/(분봉단위+1))+1);
최근저가=lowest(l,날수*(360/(분봉단위+1))+1);
최근고가-(최근고가-최근저가)*r3/100
지표조건
날수 4
분봉단위 4
r2 38
r3 50
선생님 부탁좀 드리겠습니다
2023-08-30
1789
글번호 171996
답변완료
문의드립니다
예를 들어 미국주식시장시간으로 한국시간 밤 10시30분에서 다음날 아침 5시까지의 구간에서
진입횟수 3회 이하 이런식으로 수식하나 부탁드립니다.
entriestoday 수식은 한국시간 날짜 기준이라 적용이 어렵네요ㅜ
감사합니다.
2023-08-30
1072
글번호 171995
답변완료
수식부탁드려요
Input : Period(30), Percent(6),n1(7),n(65);
var : center(0),UPline(0),DNline(0),BBup(0),기준선(20),기준선7(7);
기준선 = (highest(H,20)+lowest(L,20))/2;
7일 이내 기준선을 2번 돌파 한 종목을 찾고 싶어요 수식을 부탁드려요
2023-08-30
1538
글번호 171994