커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1643
글번호 230811
답변완료
수식 문의 드립니다(분할매매)
안녕하세요 국내주식이고
분할 매매를 하려고 하는데요
예를 들면
매일 아침 9시에 진입(진입수량:100)
1프로 하락할때 마다 1개씩 매수(10회), 1프로 상승할때마다 1개씩 매도(10회) 할려고
합니다.
청산은 오후3시에 일괄청산후 다음날 아침 9시에 재진입할려고 합니다.
수식문의 드립니다 (분봉은 5본봉을 사용합니다)
2021-07-20
1132
글번호 150915
답변완료
도움 부탁드립니다.
안녕하세요 항상 답변 감사드립니다. 날도 더운데 건강하셨으면 좋겠습니다.
특정 상황의 봉 값을 저장해서 사용하고싶습니다. 특정 상황에서 발생한 봉의 고가와 저가 값 그리고 볼륨 값을 기억했다가 쓰고 싶은데 어떻게 해야하나요?
ex.1) 가장 최근에 RSI 가 20아래에서 있다가 올라왔을 때의 해당 봉의 고가와 저가 및 볼륨. 만약에 다른 봉이 생기고 또 RSI가 20아래로 내려갔다가 다시 올라오면 해당 봉의 고가 저가 및 볼륨 값은 다시 최근 해당 봉으로 갱신
ex.2)
a. RSI 지표가 20이하로 내려갔다가 다시 올라와서 20 이상으로 올라갔고,
b. 올라가는걸 유지한게 3개 봉 이상이며,
c. a와 b 조건을 만족하는 상태에서 현재 rsi선이 그 전봉의 선보다 낮을 경우,
시장가 매수를 단 한번만 하고싶습니다. 언제까지? rsi선이 다시 80을 뚫을 때 까지요. (뚫으면 다시 조건 초기화)
a와 b조건을 만족할떄마다 매수하는게 아니라 a와 b 만족하고 C도 만족할 때 딱 한번만 매수하길 원합니다. 어떻게 해야하나요?
항상 감사합니다.
2021-07-20
908
글번호 150914
신대륙발견 님에 의해서 삭제되었습니다.
2021-07-20
102
글번호 150913
답변완료
73340 추가질문입니다
번거롭게 해드려서 죄송합니다.
가르쳐주신대로 했더니 당일 선물량하고는 오차가 있어서 다시 질문드립니다.
첨부 그림처럼 나오게 하고싶습니다.
즉 당일마지막 시간을 180000 으로 바꾸어야 하는건지..
외국인 수량만 차트에 뒷날 아침 첫봉 완성해 표시하고 싶습니다.
죄송하고 감사합니다.
2021-07-20
1212
글번호 150908
답변완료
안녕하세요 질문드립니다.
아래는 어제 질문드린 글에 대한 관리자님의 답변입니다
제 요청사항 4개중 1,2,3은 잘 써주셔서 이해가 잘갑니다
그런데 4번째부분은 이해가 잘안가는데요
1. 45프로 수익시 청산 또는
2. 35프로 이상 도달후 10프로 하락시 청산 또는
3. 6프로 손실시 청산 또는
4. 1540 봉 이후 청산 <= ((요부분))
시간이 아니라 봉수를 말한건데 시간이라고 생각하시고
적어준거 같아요.
"시간이 아닌 봉갯수로 매수봉 이후 1540봉 경과하면 청산"
으로 식을 다시 작성해 주시면 아주 감사하겠습니다
----------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
시스템은 정규장이내에 신호가 발생하게 하셔야 합니다.
당일청산이 15시40분이면 동시호가 시간대인데 동시호가는 거래가 모두 종료후에
해당 데이타가 수신되어 해당 데이타를 받아서 시간인지후 신호가 발생하면
이미 장종료후라 주문이 거부됩니다.수식에서는 15시30분청산으로 지정해 드립니다.
해외선물이면 154000으로 지정하셔도 됩니다.
var : A1Price(0),A1high(0);
var : A2Price(0),A2high(0);
if MarketPosition == 1 Then
{
#A1진입 발생
#보유수량이 증가하고 최근 발생한 진입명이 A1이면
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "A1" Then
{
#진입가 저장
A1Price = LatestEntryPrice(0);
#진입이후 최고가의 초기값으로 현재봉 고가저장
A1high = H;
}
#새로운 고가가 발생하면 변수의 값을 새로운 고가를 변경
if A1high > 0 and H > A1high Then
A1high = H;
#45% 수익이면 청산
ExitLong("C1",AtLimit,A1Price*1.45,"A1");
#35% 이상 수익이후에 10% 하락하면 청산
if A1high >= A1Price*1.35 Then
ExitLong("C2",AtStop,A1high*0.90,"A1");
#6% 손실시 청산
ExitLong("C3",AtStop,A1Price*0.94,"A1");
}
SetStopEndofday(153000);
즐거운 하루되세요
> 말라 님이 쓴 글입니다.
> 제목 : 안녕하세요 질문드립니다.
> 안녕하세요 아래는 예전에 알려주신 청산식입니다
1. 12프로 수익시 청산 또는
2. 2프로 이상 수익후 7프로하락시 청산 또는
3. 7프로 손실시 청산
이렇게인데요
이걸좀 변형하고 싶습니다
1. 45프로 수익시 청산 또는
2. 35프로 이상 도달후 10프로 하락시 청산 또는
3. 6프로 손실시 청산 또는
4. 1540 봉 이후 청산
꼭좀 부탁드리겠습니다. 정말 감사합니다
var : A1Price(0),A1high(0);
var : A2Price(0),A2high(0);
if MarketPosition == 1 Then
{
#A1진입 발생
#보유수량이 증가하고 최근 발생한 진입명이 A1이면
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "A1" Then
{
#진입가 저장
A1Price = LatestEntryPrice(0);
#진입이후 최고가의 초기값으로 현재봉 고가저장
A1high = H;
}
#새로운 고가가 발생하면 변수의 값을 새로운 고가를 변경
if A1high > 0 and H > A1high Then
A1high = H;
#12% 수익이면 청산
ExitLong("C1",AtLimit,A1Price*1.12,"A1");
#2% 이상 수익이후에 7% 하락하면 청산
if A1high >= A1Price*1.02 Then
ExitLong("C2",AtStop,A1high*0.93,"A1");
#7% 손실시 청산
ExitLong("C3",AtStop,A1Price*0.93,"A1");
2021-07-20
1394
글번호 150902
답변완료
수식 문의드립니다.
아래 수식 문의드립니다.
1. 20이평이 60이평을 골드크로스할 때 종가를 A라 하고
20이평이 60이평을 데드크로스할 때 종가를 B라 하고
A에서 B를 뺀 수치를 C라 하고
이 C값을 최근 10회 동안 누적해서 저장하고
10회 동안 C값의 합계를 D라 하고
C값이 1.5 포인트보다 작은 횟수가 몇 번인지 카운트한 게 E라 해서
이렇게 D와 E를 산출하는 수식 부탁드립니다.
2. 20이평, 60이평 골든크로스 후 20이평과 60이평 사이의 갭을 X라 하고
X가 계속 커지다가 작아지는 첫 봉 발생시 카운트함.
골든 크로스 후 X가 계속 커지다가 작아지는 카운트가 2회 됐을 때 매수 진입.
즉, 상승 파동이 2번째 됐을 때 매수 진입
감사합니다.
2021-07-20
1577
글번호 150896
답변완료
재문의 드립니다
답변 감사합니다
2가지만 추가로 질문드립니다
1, 아래 73326번 재질문 입니다
즉, 제가 부탁드린건 선과 선사이의 구간에 색을 입히는것인데요..
보내주신 수식은 2.5가격 각각의 선에 색이 칠해지네요
"지표속성창"의 "챠트표시"란에서도 설정을 할수없구요
수고스럽겠지만 한번만 더 검토 부탁드립니다
2, 하단의 (수식2)에서 한개의 선이 추가되도록 수정 부탁드립니다
예를들어, 이 수식에
if crossup(data1(H),data2(L)) or CrossDown(data1(L),data2(H)) 와 같은 조건의
선이 한개 더 발생되도록 부탁드립니다
* 참고로 하단의 "수식2"에서 같은 조건의 선을 2개로 만든것은 실선과 점선으로 각각 활용하기위함입니다
감사합니다!!!
----------------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
1
input : 시작값(0.0),끝값(5),간격(2.5),굵기(5);
input : 색상1(BLUE),색상2(RED),색상3(WHITE),색상4(YELLOW),색상5(GREEN),색상6(MAGENTA),색상7(CYAN),색상8(GRAY);
var : value(0),tl(0);
if Index == 1 Then
{
For value = 시작값 to 끝값 step 간격
{
TL = TL_New(sDate,sTime,value,NextBarSdate,NextBarStime,value);
TL_SetExtRight(TL,true);
TL_SetSize(TL,굵기);
IF value >= 0 and value < 2.5 Then
TL_SetColor(TL,색상1);
IF value >= 2.5 and value < 5.0 Then
TL_SetColor(TL,색상2);
IF value >= 5.0 and value < 7.8 Then
TL_SetColor(TL,색상3);
IF value >= 7.5 and value < 10.0 Then
TL_SetColor(TL,색상4);
IF value >= 10.0 and value < 12.5 Then
TL_SetColor(TL,색상5);
IF value >= 12.5 and value < 15.0 Then
TL_SetColor(TL,색상6);
IF value >= 15.0 and value < 17.5 Then
TL_SetColor(TL,색상7);
IF value >= 17.5 Then
TL_SetColor(TL,색상8);
}
}
2
2번 내용은 가능하지 않습니다.
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의 드립니다!
> 안녕하세요!
1, 아래수식에서 각 간격별로 색을 칠하고싶습니다
즉, 0 에서 2.5까지는 파란색, 2.5에서 5.0까지는 빨간색, 5.0에서 7.5까지는 파란색......
이런식으로해서 최대 8개의 간격별로 각각 색을 입힐수있는 수식으로 수정 부탁드립니다
2, 혹시 이 색상을 화면 오른쪽의 X축 여백에만 칠할수있는 방법도 가능할까요?
즉, X축 여백을 5정도로 설정시 이구간에만 위와 동일한 조건으로 색칠할수있다면 더 유용할것같습니다
* 가능하다면 위 2가지경우 모두를 각각 부탁드리겠습니다
무더위에 건강에 유의하시고 매번 도움주심에 감사드립니다!!!
-----------------------------------------------------------------------------------
input : 시작값(0.0),끝값(5),간격(2.5),굵기(5),색상(WHITe);
var : value(0),tl(0);
if Index == 1 Then
{
For value = 시작값 to 끝값 step 간격
{
TL = TL_New(sDate,sTime,value,NextBarSdate,NextBarStime,value);
TL_SetExtRight(TL,true);
TL_SetSize(TL,굵기);
TL_SetColor(TL,색상);
}
}
======================================================================================
(수식 2)
var : V1(Data1(C),data1);
if crossup(data6(H),data15(L)) or CrossDown(data6(L),data15(H)) Then
{
v1 = data1(C);
}
if crossup(data6(H),data15(L)) or CrossDown(data6(L),data15(H)) Then
{
v1 = data1(C);
}
plot1(v1);
plot2(v1);
2021-07-20
1233
글번호 150895
답변완료
시스템
안녕하세요 작성해주신식에서 추가로 문의드립니다
sum1 = Data2(c)+data3(c);
sum2 = Data4(c)+data5(c); 이라고할때
sum1 - sum2 가 적삼병이면 매수(이때 순차적으로 봉길이가 길어야됨)
sum1 - sum2 가 흑삼병이면 매도(이때 순차적으로 봉길이가 짧아야됨)
감사합니다 수고하세요
var : sum(0,Data2);
sum = Data2(c)+data3(c);
if Data2(CountIf(sum>sum[1],3) == 3) Then
Buy();
if Data2(CountIf(sum<sum[1],3) == 3) Then
Sell();
2021-07-20
1098
글번호 150886
답변완료
수식작성 부탁드립니다.
아래 수식 가를 수식 나로 변환하여 동일한 결과 값이 될 수 있도록 수정부탁드립니다.
감사합니다
가.
Var : value(0);
value = 0;
# 매수 / 매도청산
If CCI(9) > 0 Then
value = 1;
If MACD(12,26) > 0 Then
value = value+1;
If DIPlus(14) > DIMinus(14) Then
value = value+1;
If StochasticsK(12,5) > StochasticsD(12,5,5) Then
value = value+1;
# 매수/매도청산
If value >= 3 Then
{
Buy();
}
value = 0;
# 매도/매수청산
If CCI(9) < 0 Then
value = 1;
If MACD(12,26) < 0 Then
value = value+1;
If DIPlus(14) < DIMinus(14) Then
value = value+1;
If StochasticsK(12,5) < StochasticsD(12,5,5) Then
value = value+1;
If value >= 3 Then
{
Sell();
}
나.
매수CCI4 = ( CCI(9) > 0 and MACD(12,26) > 0 and DIPlus(14) > DIMinus(14) and StochasticsK(12,5) > StochasticsD(12,5,5) ); # 매수/매도청산
매도CCI4 = ( CCI(9) < 0 and MACD(12,26) < 0 and DIPlus(14) < DIMinus(14) and StochasticsK(12,5) < StochasticsD(12,5,5) ); # 매도/매수청산
2021-07-20
1040
글번호 150885