커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7962
글번호 230811
답변완료
함수요청
안녕하세요?
아래 글번호 67396번의 답변 주신 스크립트를 응용하여 전략을 새롭게 작성했습니다.
아래 전략에 대해 스크립트 작성 요청부탁드립니다.
// data1: 코스피200선물 5분봉
data2: 코스피200선물 10분봉
data3: 코스피200선물 15분봉
// 매수 진입 : SlowK 가 SlowD 를 상한선 위에서 상향 돌파
// 매도 진입 : SlowK 가 SlowD 를 하한선 아래에서 하향 이탈
// 매수 청산 : SlowK 가 SlowD 를 상한선 위에서 하향 이탈
// 매도 청산 : SlowK 가 SlowD 를 하한선 아래에서 상향 돌파
// 봉완성 익봉 시가 거래입니다.
// 거래시간은 진입기준으로 신호생성을 오전 9시부터 15시까지 입니다.
// 거래횟수는 진입기준 일간 5회 이하입니다.
// 당일 청산을 하고자 하여 15시에는 강제청산을 하고자 합니다.
//동일한 전략으로 data2, data3 둘다 매수[매도]신호 중일 때 기본종목에 진입을
// 둘다 청산신호일 때 기본종목에 청산을 하고자 합니다.(순차적 혹은 동시에 청산 신호가 발생되면 나중에 발생한 청산신호 발생 익봉에 기본종목 청산)
2020-05-13
1432
글번호 138854
답변완료
CurrentContracts 와 MaxContracts
Q1. 랭귀지)) CurrentContracts 와 MaxContracts 의 차이점이 무엇인가요? 개념적으로 헷갈리네요.
제가 쓸려는 게
"누적 분할누적매수 주식수 90주 중 3봉에 나눠서 매도"
로 아래와 같이 사용중인데,
1) MaxContracts 포지션의 최대 누적 수량
or
2) CurrentContracts 포지션에서 현재의 누적 수량
중 어느것을 써야 할까요?
//------------인용
If 매도조건 then
{
BXcond = true;
ii = 0;
Bxcnt = 0;
}
if BXcond == true then
{
if ii%n == 0 then
{
Bxcnt = Bxcnt+1;
if Bxcnt == 1 Then // 1봉째 분할매도
ExitLong("매도1",OnClose,def,"",Floor(MaxContracts/3),1);
if Bxcnt == 2 Then // 조건만족 2봉째 분할매도
ExitLong("매도2",OnClose,def,"",Floor(MaxContracts/3),1);
if Bxcnt == 3 Then // 조건만족 3봉째 나머지 전량 분할매도
ExitLong("매도3");
}
ii = ii+1;
}
//------------인용끝
Q2. 랭귀지) "CurrentContracts < MaxContracts" 는 무슨의미인가요?
CurrentContracts는 실제로 현재까지 매수된 수량이라고 이해하면될것 같고
maxContracts는 따로 지정해주는 매수수량의 max 한도? 이런개념인가요? 그럼 maxcontract는 상수로 input으로 지정하는 값인가요?
//----인용 예시----
if MarketPosition == 1 then
{
if CurrentContracts == MaxContracts and 조건 Then
ExitLong("bx1",OnClose,def,"",1,1);
if CurrentContracts < MaxContracts Then
ExitLong("bx2",atstop,EntryPrice,"",1,1);
}
//---인용 끝
2020-05-13
1515
글번호 138853
답변완료
문의
안녕하세요. 데이타2부터 데이타4까지의 합이 플러스일 때는 레드, 마이너스일때는 블루 컬러로 캔들로 나타나게 부탁드려요.
감사합니다.
2020-05-13
1384
글번호 138852
답변완료
이격도
항상 감사합니다.
5일선과 10일선의 이격도를 구하는 식을 알고 싶습니다.
2020-05-13
1334
글번호 138847
답변완료
수식 문의 드립니다
장 시작부터 특정 봉 번호 까지의 최고점 최저점을 구하고 싶습니다.
Highest(H, Index) 로 구하면 봉이 진행됨에 따라 계속 가격이 변하더라고요.
0번봉부터 5번봉까지 최고점 최저점을 지정하고 시간이 지남에 따라
변하지 않게 고정하는 방법을 알고 싶습니다.
고맙습니다.
2020-05-13
1285
글번호 138843
답변완료
수식 의뢰 부탁드립니다.
개발자님의 노고에 항상 감사드립니다
현재 틱차트로 트레이딩을 하고 있고 주말에는 모든 포지션을 정리하고 싶습니다
분차트로 트레이딩할 때 동일 질문에 아래와 같은 답변을 받아 잘 사용했습니다
---------------------------------
If (NextBarSdate != sdate and DayOfWeek(NextBarSdate) == 6) or
(date > sdate and DayOfWeek(date) == 6) Then
SetStopEndofday(055900);
if bdate != bdate[1] Then
SetStopEndofday(0);#해제
----------------------------------
틱차트에서는 '055900'에 봉이 완성되지 않을 수 있어 위 수식을 사용하기 어렵습니다
청산시각을 특정하지 않고 범위로 변경할 수 있을까요?
또는 다른 좋은 방법이 있다면 알려주세요
그리고 비슷한 질문이 하나 더 있습니다
틱차트로 오버나잇하지 않고 하루하루 청산하고 싶습니다
특정시간(ex 150000 ~ 153000)에 틱봉이 완성되면 청산되는 수식 부탁드립니다
감사합니다
2020-05-13
1374
글번호 138842
답변완료
문의
항상 감사드립니다.
참조를 이용하여 개인 외국인 기관 기타 모든 주체의 선물 수급을 합산해서 보고싶은데 가능할까요? 누적으로로 가능하면 그것도 부탁드릴게요.
2020-05-13
1159
글번호 138841
답변완료
문의드립니다.
input : length(40),mult(1.0),lengthKC(40),multKC(0.7),useTrueRange(true);
var : source(0),basis(0),dev(0),upperBB(0),lowerBB(0);
var : mav(0),rr(0),rangema(0),upperKC(0),lowerKC(0);
var : sqzOn(false),sqzOff(false),noSqz(false),val(0);
var : bcolor(0),scolor(0);
// Calculate BB
source = close;
basis = ma(source, length);
dev = mult * std(source, length);
upperBB = basis + dev;
lowerBB = basis - dev;
// Calculate KC
mav = ma(source, lengthKC);
RR = iff(useTrueRange, TrueRange ,(high - low));
rangema = ma(RR, lengthKC);
upperKC = mav + rangema * multKC;
lowerKC = mav - rangema * multKC;
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
SqzOn이 발생하면 캔들에 강조가 되도록 구현하고 싶습니다.
도움 부탁드립니다. 감사합니다.
2020-05-13
1151
글번호 138840
답변완료
문의드립니다!
안녕하세요!
옵션챠트에서 특정행사가의 이평선(10,20,30선)을 본챠트와,
참조챠트(갭으로설정)에서 끌어올린것 해서 2개를 설치했는데요
여기에 색상을 입힐때 본챠트의 이평선을 되는데 참조챠트의 이평선은 안되네요
이렇게 2개모두 색상을 입히는것이 원래 불가능한건지?
아님 다른 설정방법이 있는지 문의드립니다
감사합니다
2020-05-13
1234
글번호 138839