커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3604
글번호 230811
로꼬로꼬 님에 의해서 삭제되었습니다.
2020-11-10
1
글번호 143755
겐지 님에 의해서 삭제되었습니다.
2020-11-10
4
글번호 143754
답변완료
69831번 수정부탁드립니다
답변 너무 감사드립니다.
제가 설명이 조금 부족하였던 것 같습니다.
제가 원하는 것은 하루 1번 진입이 아니라
주어진 시간 동안에
매수식(또는 매도식)에서 첫번째 진입후 익절 청산 혹은 손절 청산이 된 이후에 곧 바로 이어서 동일한 방식으로 하루 최대 12회까지 매수식에서는 매수를 매도식에서는 매도를 계속해서 진입을 하는 방식입니다.
손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다.
운영자님의 식을 적용해 본 결과 주어진 시간에서 첫번째 진입 후 이어서 진입이 되지를 않고 다음날 진입(즉 하루에 한 번 진입)이 되는 것 같습니다.
수정이 가능하였으면 감사하겠습니다.
(1)매수식(분봉에 적용)
거래시간
한국시간 기준 19시부터 익일 02시 50분까지
1,첫번째 양봉에 매수(손절15틱 익절 30틱)진입
2.먼저 진입된 매수포지션이 손절 또는 익절 청산 된 후 다음봉 양봉에 매수진입(손절 15틱 익절 30틱)
3.이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 곧바로 양봉에만 계속 매수진입과 청산을 연속적으로 반복합니다.
4.매수진입 하루 총한도 12회까지 가능
(2)매도식(분봉에 적용)
1,첫번째 음봉에 매도(손절15틱 익절 30틱)진입
2.먼저 진입된 매도포지션이 손절 또는 익절 청산 된 후 다음봉 음봉에 매도진입(손절 15틱 익절 30틱)
3.이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 곧바로 음봉에만 계속 매도진입과 청산을 연속적으로 반복합니다.
3.매도진입 하루 총한도 12회까지 가능
매수식과 매도식을 분리 운영할 계획입니다.
손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 문의 드립니다.
> 안녕하세요
예스스탁입니다.
1
input : StartTime(190000),EndTime(025000),익절틱수(30),손절틱수(15);
var : Tcond(false),count(0);
if StartTime < EndTime Then
{
SetStopEndofday(EndTime);
}
Else
{
if sDate != sDate[1] Then
SetStopEndofday(EndTime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
if StartTime > EndTime Then
SetStopEndofday(0);
Tcond = true;
count = 0;
}
if Tcond == true Then
{
if C > O Then
{
count = count+1;
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and count == 1 Then
Buy();
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2
input : StartTime(190000),EndTime(025000),익절틱수(30),손절틱수(15);
var : Tcond(false),count(0);
if StartTime < EndTime Then
{
SetStopEndofday(EndTime);
}
Else
{
if sDate != sDate[1] Then
SetStopEndofday(EndTime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
if StartTime > EndTime Then
SetStopEndofday(0);
Tcond = true;
count = 0;
}
if Tcond == true Then
{
if C < O Then
{
count = count+1;
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and count == 1 Then
Sell();
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
3
INPUTS: R(4), S(8), U(6),SMTHLEN(10);
var : Truestrength(0),Truestrengthsig(0),T(0);
Truestrength = TSI(C, R, S, U);
Truestrengthsig = Ema(TSI(C, R, S, U), SMTHLEN);
if CrossUp(Truestrength,Truestrengthsig) and C > O Then
T = 1;
if CrossDown(Truestrength,Truestrengthsig) and C > O Then
T = -1;
if T == 1 and C > O Then
{
T = 2;
Buy();
}
if T == -1 and C < O Then
{
T = -2;
Sell();
}
즐거운 하루되세요
> 황금룰 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> (1)매수식
거래시간
한국시간 기준 19시부터 익일 02시 50분까지
1,첫번째 양봉에 매수
손절=-15틱
익절=+30틱
2.손절 또는 익절 청산후 다음봉 양봉에 매수
3.매수진입 총한도 12회
(2)매도식
1.첫번째 음봉에 매도
손절=-15틱
익절=+30틱
2.손절 또는 익절 청산후 다음봉 음봉에 매도
3.매도진입 총한도 12회
매수식과 매도식을 분리 운영할 계획입니다.
손절과 익절 및 진입횟수는 외부변수로 작성가능 부탁드리겠습니다.
(3)True Strength Index 지표를 기준으로
ERGOTIC가 SIGLIN을 골든크로스 하면 양봉에 매수
데드크로스이면 음봉에 매도식
부탁드립니다.
2020-11-09
614
글번호 143753
억수로 님에 의해서 삭제되었습니다.
2020-11-10
12
글번호 143752
답변완료
동일수식을 data1에 적용할떄랑 data2에 적용할때가 다릅니다.
안녕하세요.
data1에 15분봉을 켜놓고 data2를 일봉 켜놓은 상태로 지표를 적용하면
일봉만 켜놓은것보다 지표가 하루씩 늦게 나오더라구요.
제가 확인해보니까 data2에 있는 일봉 지표는 data2의 일봉이 완성될때에 비로소 data2의 지표가 뜨더라구요.
일봉만 켰을땐 바로 지표가 뜨는것 같습니다.
아래 첨부는 plot1(H); 로 고점을 그려본것입니다.
그림 중 윗 부분은 data1에 15분봉 켜놓고 data2 일봉의 고점을 그린것이고 plot1(data2(h));
아랫 부분은 일봉만 켜놓고 일봉의 고점을 그린것입니다. plot1(h);
아랫 부분 그림이 정상인데, 윗 그림에선 하루씩 밀리는 모습입니다.
원래 이런것일까요?
저는 data2(일봉)의 지표를 참고해서 data1(분봉)을 거래하고 싶습니다.
2020-11-09
677
글번호 143751
답변완료
69837 번 다시봐주세요.
69837 다시 좀 봐주세요.
2020-11-09
776
글번호 143750
답변완료
수식 문의 드립니다.
안녕하세요~
진입을 지표들의 값이 아니라
가격자체로 할려고 하는데요. 예를들면 각 라운드 가격(5100원, 5200원, 5300... 등)
에 진입을 할려고 합니다.
for문으로 돌려봤더니 제대로 진입이 안되던데 가능한지 부탁드립니다.
2020-11-09
573
글번호 143749
답변완료
setstoptrailing 함수 문의
SetStopTrailing(수익감소값,최소수익값,Method,tr_Method);
위의 함수에 대해 코스피를 예로 들어 문의를 하겠습니다.
SetStopTrailing(1,3,PointStop);
으로 설정하면 3포인트 수익후 1포인트 하락시 청산하는 걸로 알고 있습니다.
헌데 계약수가 3개라면 최소수익값이 9포인트로 계산이 되어, 3포인트 수익 하락일 때,
아니면 3계약수의 최소수익이 3포인트일 때 1포인트 하락시 청산되는 건지 궁금합니다.
2020-11-09
678
글번호 143748
답변완료
실시간 변하는 지표 가능할까요?
안녕하세요^^
옵션에서 현재 등가 기준으로 미결제약정을 상방 5개, 하방 5개 씩 콜, 풋 각각을 보고 싶습니다.
제가 생각하는게 구현이 가능한지 혹은 다른 방법이 있는지 문의 드립니다.
키움에선 제가 차트를 행사가별로 추가해서 상하방 한차트에 넣어서 보고 있긴한데 매번 바뀔때마다 수작업하는게 번거로워서요~
예제) 1분봉 차트를 각각 한개씩 띠우고 하나는 콜 종목을 다 넣고, 다른 하나는 풋 종목을 다넣는다. 그 이유는 참조데이터 미결을 사용하기 위해서
차트형식 = 콜, 풋 차트 현재 등가 300
312.5(미결 증감, 5이평, 20이평)
310(미결 증감, 5이평, 20이평)
307.5(미결 증감, 5이평, 20이평)
305(미결 증감, 5이평, 20이평)
302.5(미결 증감, 5이평, 20이평)
##등가 300(미결 증감, 5이평, 20이평)
297.5(미결 증감, 5이평, 20이평)
295(미결 증감, 5이평, 20이평)
292.5(미결 증감, 5이평, 20이평)
290(미결 증감, 5이평, 20이평)
287.5(미결 증감, 5이평, 20이평)
2. 등가 옵션의 미결 선색상을 빨간색 다른 색은 보라색으로. 등가가 바뀔때마다 가운데 등가 미결의 기준으로 자동으로 상, 하방 5개씩의 행사가 미결이 바뀌게 설정. 종목이라면 불가능하겠지만. 종목을 다 넣어두고 참조데이터로 미결만 쓴다면 가능하지 않을까요?
예를들어) 참조데이터가 다 들어가 있다는 전제하에 Date10이 행사가 300 콜이라고 치고(실제론 행사가별로 순서대로 넣을겁니다)
value9 = date(c) <= 행사가 302.5
value10 = date(c) <= 행사가 300
value11 = date(c) <= 행사가 297.5
Value99 = Date9(DayOi(0)-dayoi(1)) <= 행사가 302.5 미결
Value100 = Date10(DayOi(0)-dayoi(1)) <= 행사가 300 미결
Value101 = Date11(DayOi(0)-dayoi(1)) <= 행사가 297.5 미결
A=KOSPI200 - value9
B=KOSPI200 - value10
C=KOSPI200 - value11
IF(ABS(MIN(A,B,C.........................) - KOSPI200)= Value10, Value100)
엑셀로는 룩업함수 등등사용해서 해당 값의 미결을 가져오는게 가능한데 수식으론 어떻게 해야하는지 모르겠어요
3. 당일 옵션 미결의 증감을 구하는 수식을 어떻게 쓰면 될까요?
4. 당일 옵션 미결을 지수이동평균해서 보고 싶은데 수식을 어떻게 쓰면 될까요?
5. 옵션 미결을 MACD 처럼 만들어서 보고 싶은데 수식을 어떻게 쓰면 될까요?
6. MACD 처럼만든 미결을 신호로도 같이 보고 싶습니다. 이전값보다 작으면 까만 화살표, 이전값보다 크면 빨간 화살표
7. 등가 옵션을 구하는 식은 어떻게 작성하나요? MIN(KOSPI200 - 행사가) 이런식인가요~?
8. 당일 선물 미결제 증감식을 게시판에 있는걸 썼는데 수치가 다르게 나옵니다. 2020/11/09기준
var1 = DayOi(0)-dayoi(1);
if var1 > 0 Then
plot1(var1,"미결증감",RED);
Else
plot1(var1,"미결증감",BLUE);
이 식은 장마감후 5418로 나오는데, 선물 현재가에선 4841로 나옵니다.
9. Value와 수식 줄 길이는 각각 몇개, 몇줄로 제한이 되어 있나요?
2020-11-09
814
글번호 143747