커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4328
글번호 230811
답변완료
거래량
안녕하세요.
주식에서 장시작후 분봉에서 최대거래량 자리의 고가 저가라인 수식부탁합니다.
매일 장시작후 거래량이니 첫봉이 첫번째 일것이고 그뒤로 거래량이 첫봉보다
많으면 고가저가라인이 변하게 되겟지요.
수고하십시요.
2017-12-10
182
글번호 114863
답변완료
수식부탁드립니다
1.
최근 20캔들에서 고가와 저가의 폭이 가장 큰 음봉 고가(A)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 음봉 저가(B)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 음봉 시가(C)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 음봉 종가(D)를 표시한다
A와 B의 상방 대칭을 표시한다
A와 B의 하방 대칭을 표시한다
C와 D의 상방 대칭을 표시한다
C와 D의 하방 대칭을 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 양봉 고가(E)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 양봉 저가(F)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 양봉 시가(G)를 표시한다
최근 20캔들에서 고가와 저가의 폭이 가장 큰 양봉 종가(H)를 표시한다
E와 F의 상방 대칭을 표시한다
E와 F의 하방 대칭을 표시한다
G와 H의 상방 대칭을 표시한다
G와 H의 하방 대칭을 표시한다
2.
A와 B의 하방 대칭을 아래에서 위로 터치할 때 매수
E와 F의 상방 대칭을 위에서 아래로 터치할 때 매도
3.
A와 B의 하방 대칭을 아래에서 위로 돌파할 때 매수
E와 F의 상방 대칭을 위에서 아래로 돌파할 때 매도
4.
A와 B의 하방 대칭을 위에서 아래로 터치할 때 매수
E와 F의 상방 대칭을 아래에서 위로 터치할 때 매도
손실이 발생할 경우 당일 매매 종료
감사합니다
2017-12-10
187
글번호 114862
답변완료
조건검새식 문의드립니다
조건값에 대한 검색식을 만들고 싶습니다.다음값으로 조건식좀 부탁드립니다
1) 60일 거래량 단순이동평균이 50만이상 , 60일종가 단순이동평균이 15 이상 , 상승장악형인 차트(관통형,망치형,십자형을 입력해도 무방)
20일 종가 단순이동평균이 50일 종가 단순이동평균보다 높다 , 종가가 5일전 종가에 1.15를 곱한 값보다 작다
2) 20일 거래량 단순이동평균이 100만이상 , 60일종가 단순이동평균이 5 이상 , 20일종가 단순이동평균이 50일 종가 단순이동평균보다 높다
50일종가 단순이동평균이 200일 종가 단순이동평균보다 높다 , 50일 종가 단순이동평균이 10일 전 50일 종가 단순이동평균보다 높다
최근 200일 종가 단순이동평균이 20일 전보다 높다 , 종가가 5일전 종가보다 낮다 , 7일전 종가가 20일전 종가보다 높다
종가가 20일 종가 단순이동평균보다 낮거나 같다 , 종가가 50일 종가 단순이동평균보다 높거나 같다
시가가 종가보다 낮거나 같다 , 슬로캐스틱%k(5,3)가 슬로캐스틱 %d보다 크다
3) 60일 거래량 단순이동평균 50만이상 , 60일 종가 단순이동평균 10이상 , 50일 종가 단순이동평균이 20일 종가 단순이동평균보다 낮다
평균방향운동지수인 adx선(14)이 20일 전의 일일 adx선(14)에 0.41을 곱한 값보다 작다
4)60일 거래량 단순이동평균 50만이상 , 60일종가 단순이동평균 10이상
어제 저가가 20일전 저가보다 낮다 , 어제 저가가 3일전 저가보다 낮다
일일 macd 히스토그램(12,26,9)이 15일전 일일 macd 히스토그램(12,26,9)보다 크다
일일 cci(20)가 15일 전 일일 cci(20)보다 크다 ,일일 rsi(5)가 15일전 일일 rsi(5)보다 크다
50일 종가 단순이동평균이 200일 종가 단순이동평균보다 높다 , 시가가 종가보다 낮다
5) 52주 신고점 , 20일 거래량 단순이동평균 50만이상
60일 종가 단순이동평균 10이상 , 종가가 오늘부터 과거 260일동안의 저가에 3을 곱한 값보다 낮거나 같다
일일 obv가 60일 전의 일일 obv보다 크다
6) 20일 거래량 단순이동평균 50만이상 , 60일 종가 단순이동평균 10이상
50일 종가 단순이동평균이 20일 종가 단순이동평균보다 높다 , 50일 종가 단순이동평균이 40일 전의 50일 종가 단순이동평균보다 낮다
오늘부터 이전 30일동안의 최대거래범위가 오늘부터 이전 15일 동안의 최대 거래범위보다 크다
오늘부터 이전 15일동안의 최대거래범위가 오늘부터 이전 5일 동안의 최대 거래범위보다 크다
일일 obv가 40일 전 일일 obv보다 크다
일일 macd 히스토그램(12,26,9)이 40일전 일일 macd 히스토그램(12,26,9)보다 크다
50일 종가 단순이동평균이 200일 종가 단순이동평균보다 낮다
해당 조건의 검색식 부탁드립니다.
만들수 없는조건은 빼고 해주셔도 무방합니다
2017-12-09
201
글번호 114861
답변완료
행복; 검색식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
검색식 관련입니다
참조데이타(data2)에 주가 차트를 설정한 후
참조데이타(data2)의 봉 위에 검색식을 표시하기 위해 << 아래 >>와 같이
검색식을 작성하였습니다
===========<< 아래 >>====================================
input : N(5), 고점위몇틱(4);
if Data2
( C > Open and ( C >= C[1]*(1+N/100) or H >= L*(1+N/100) ) ) Then
Plot1( Data2( High )+PriceScale*고점위몇틱,"상승갭",GREEN);
else
NoPlot( 1 ) ;
==========================================================
그러나 참조데이타(data2)에 검색식이 표시되지 않고
주종목 차트에 검색식이 표시됩니다
그 검색식을 드래그하여 참조데이타(data2)로 끌어와 붙이려고 해도 안됩니다
일반적으로 지표식은 되는데,
검색식을 원래 참조데이타(data2)에 표시할 수 없는 것인가요?
어떻게 해야하나요?
수고하십시요^^
2017-12-09
167
글번호 114860
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
분봉에서 전일동시간대비 누적거래량비율은 << 아래 >>와 같습니다
==================<< 아래 >>============================
var : i1(0),i2(0),prev(0),cnt(0),VRate(0);
if sdate != sdate[1] Then{
i1 = 0;
i2 = i1[1];
}
i1 = i1+1;
if i2 > 0 Then{
for cnt = i1 to i1+i2{
if sdate[cnt] < sdate and stime[cnt] <= stime then{
Prev = DayVolume[cnt];
cnt = i1+i2+2;
}
}
VRate = DayVolume / PreV*100;
plot1(VRate,"전일동시간대비_누적거래량비율",RED);
PlotBaseLine1(0,"기준선",BLACK);
}
====================================================================
<< 질문 >>
- 주기; 100틱인 차트에서
- 전일동시간대비 누적거래량비율(%) 지표는 어떻게 작성하는지요?
지표식 작성 바랍니다
수고하십시요^^
2017-12-09
177
글번호 114859
답변완료
청산전략 질문입니다.
//스탑설정
If MarketPosition == 1 Then ExitLong("스탑",AtStop,L[BarsSinceEntry+1] - TickSize);
If MarketPosition == -1 Then ExitShort("스탑2",AtStop,H[BarsSinceEntry+1] + TickSize);
진입 직전봉의 저가나 고가에 한틱 더해서 스탑을 설정하고
trailing step(트레일링 스탑 아님)을 적용하려고 합니다.
+15틱 수익마다 스탑을 15틱씩 올릴려는데 어떻게 수식을 짜면 될까요?
(ex. +15틱 => 스탑 15 상승
30틱 => 스탑 30 상승)
https://www.youtube.com/watch?v=aIePCx1AfBw
(트레일링 스텝에 관한 참고 자료입니다.)
2017-12-09
196
글번호 114858
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 지표
-당일 양봉누적거래량-음봉누적거래량
-당일 상승거래량 누적
-당일 하락거래량 누적
2. 지표
-당일 피봇 위에 있는 봉 갯수
-당일 피봇 아래있는 봉 갯수
-''1차저항선 위에 있는 봉 갯수
-''2차 ''
-''1차 지지선 아래 있는 봉 갯수
-''2차 지지선 ''
3. 지표
지난 n일간 2번지표
4. 예스스탁 게시판에서 본 수식인데요. 예스스탁님이 만드신 건 아닌듯합니다. 실행해보면 선이 나오긴 나오는데 어떤 방식으로 나오는 건 지 도무지 이해가 가지 않네요. 특히 input값이 어떻게 지지선 저항선을 나오게 하는 건 지 잘 모르겠습니다. 간단한 설명 부탁드립니다.
> input : Length(10); //SwingHigh와 SwingLow의 기간값
input : LengthMult(2); //기본 기간값에 N배수(굵게 표시되는 중요 지지선과 저항선)
input : NdayAgo(0); //N일전(0이면 당일, 1이면 전일, 2이면 전전일...)
var : 저항선(0), 지지선(0), Rcount(0), Scount(0);
var : 저항선2(0), 지지선2(0), Rcount2(0), Scount2(0);
var : R1(0), R2(0), R3(0), R4(0), R5(0), R6(0), R7(0), R8(0), R9(0),R10(0),
R11(0), R12(0), R13(0), R14(0), R15(0), R16(0), R17(0), R18(0), R19(0),R20(0);
var : S1(0), S2(0), S3(0), S4(0), S5(0), S6(0), S7(0), S8(0), S9(0),S10(0),
S11(0), S12(0), S13(0), S14(0), S15(0), S16(0), S17(0), S18(0), S19(0),S20(0);
var : R81(0), R82(0), R83(0), R84(0), R85(0), S91(0), S92(0), S93(0), S94(0), S95(0);
var1 = DateToJulian(currentdate);
var2 = DateToJulian(date);
if var2 >= var1-NdayAgo && dayindex >= Length-1 then {
저항선 = SwingHigh(1, H, Length, Length, Length*2+1);
지지선 = swingLow(1, L, Length, Length, Length*2+1);
if 저항선 == -1 Then 저항선 = 저항선[1];
if 지지선 == -1 Then 지지선 = 지지선[1];
if 저항선 != 저항선[1] then Rcount = Rcount + 1;
if 지지선 != 지지선[1] Then Scount = Scount + 1;
if Rcount == 1 then R1 = 저항선;
if Rcount == 2 Then R2 = 저항선;
if Rcount == 3 then R3 = 저항선;
if Rcount == 4 Then R4 = 저항선;
if Rcount == 5 then R5 = 저항선;
if Rcount == 6 Then R6 = 저항선;
if Rcount == 7 then R7 = 저항선;
if Rcount == 8 Then R8 = 저항선;
if Rcount == 9 then R9 = 저항선;
if Rcount == 10 Then R10 = 저항선;
if Rcount == 11 then R11 = 저항선;
if Rcount == 12 Then R12 = 저항선;
if Rcount == 13 then R13 = 저항선;
if Rcount == 14 Then R14 = 저항선;
if Rcount == 15 then R15 = 저항선;
if Rcount == 16 Then R16 = 저항선;
if Rcount == 17 then R17 = 저항선;
if Rcount == 18 Then R18 = 저항선;
if Rcount == 19 then R19 = 저항선;
if Rcount == 20 Then R20 = 저항선;
if Scount == 1 then S1 = 지지선;
if Scount == 2 Then S2 = 지지선;
if Scount == 3 then S3 = 지지선;
if Scount == 4 Then S4 = 지지선;
if Scount == 5 then S5 = 지지선;
if Scount == 6 Then S6 = 지지선;
if Scount == 7 then S7 = 지지선;
if Scount == 8 Then S8 = 지지선;
if Scount == 9 then S9 = 지지선;
if Scount == 10 Then S10 = 지지선;
if Scount == 11 then S11 = 지지선;
if Scount == 12 Then S12 = 지지선;
if Scount == 13 then S13 = 지지선;
if Scount == 14 Then S14 = 지지선;
if Scount == 15 then S15 = 지지선;
if Scount == 16 Then S16 = 지지선;
if Scount == 17 then S17 = 지지선;
if Scount == 18 Then S18 = 지지선;
if Scount == 19 then S19 = 지지선;
if Scount == 20 Then S20 = 지지선;
}
# 중요 지지저항선은 굵게 표시
if var2 >= var1-NdayAgo && dayindex >= Length*LengthMult-1 then {
저항선2 = SwingHigh(1, H, Length*LengthMult, Length*LengthMult, Length*LengthMult*2+1);
지지선2 = swingLow(1, L, Length*LengthMult, Length*LengthMult, Length*LengthMult*2+1);
if 저항선2 == -1 Then 저항선2 = 저항선2[1];
if 지지선2 == -1 Then 지지선2 = 지지선2[1];
if 저항선2 != 저항선2[1] then Rcount2 = Rcount2 + 1;
if 지지선2 != 지지선2[1] Then Scount2 = Scount2 + 1;
if Rcount2 == 1 then R81 = 저항선2;
if Rcount2 == 2 Then R82 = 저항선2;
if Rcount2 == 3 then R83 = 저항선2;
if Rcount2 == 4 Then R84 = 저항선2;
if Rcount2 == 5 then R85 = 저항선2;
if Scount2 == 1 then S91 = 지지선2;
if Scount2 == 2 Then S92 = 지지선2;
if Scount2 == 3 then S93 = 지지선2;
if Scount2 == 4 Then S94 = 지지선2;
if Scount2 == 5 then S95 = 지지선2;
}
5. 기타
n% 이상 수익일 때 n일간 거래를 멈춘다 코딩
2017-12-11
180
글번호 114857
답변완료
문의드립니다.
아래 세 가지에 해당되는 종목검색식 좀 부탁드립니다.
1. 일봉상에서 5일,20일,60일 이평이 정배열
2. 종가가 5이평 위에 있는 것
3. 그 날짜에 해당되는 월의 월초시가보다 종가가 위에 있는 것(월봉이 양봉)
그리고 추가로 "20일 이평선의 저점이 높아지는 종목" 즉 전전저점보다 전저점이 높아지는 것을 수식으로 표현하는 방법도 좀 부탁드립니다.
2017-12-09
200
글번호 114856
답변완료
수식 변환 좀 부탁드려요!
키움의 수식을 예스로 변환 부탁드립니다!
키움 일목균형에서 수식1~3까지는 기존 그대로 사용하고
수식4 ~ 수식5만 변경하여 적용하는 수식입니다!
그러면 일목 구름대가 막대바 처럼 바뀝니다!
< 수식명: 일목균형 변형 >
----------------------------------------------------------------------------------------
키움 수식1 / 수식명 : 전환선 %shortPeriod%
(highest(high,shortPeriod)+lowest(low,shortPeriod))/2
-----------------------------------------------------------------------------
키움 수식 2 / 수식명 : 기준선 %midPeriod%
(highest(high,midPeriod)+lowest(low,midPeriod))/2
---------------------------------------------------------------------------
키움 수식 3 / 수식명 : 후행스팬 %midperiod%
shift(close,-midPeriod+1)
---------------------------------------------------------------------------------
키움 수식4 / 기존 선행스팬1 대신 들어가는 수식명 : boxT %P2%
LT=LOWEST(L,P2);
HT=HIGHEST(H,P2);
NewH=VALUEWHEN(1,H>HT(1),H);
BOX1=HIGHEST(H,P2-2)<HIGHEST(H,P2-1);
TOP=VALUEWHEN(1,BarsSince(H>HT(1))==(P2-2) AND BOX1,NewH);
BTM=VALUEWHEN(1,BarsSince(H>HT(1))==(P2-2) AND BOX1,LT);
top
-------------------------------------------------------------------------
키움 수식 5 / 기존 선행스팬2 대신 들어 가는 수식명 : btm
LT=LOWEST(L,P2);
HT=HIGHEST(H,P2);
NewH=VALUEWHEN(1,H>HT(1),H);
BOX1=HIGHEST(H,P2-2)<HIGHEST(H,P2-1);
TOP=VALUEWHEN(1,BarsSince(H>HT(1))==(P2-2) AND BOX1,NewH);
BTM=VALUEWHEN(1,BarsSince(H>HT(1))==(P2-2) AND BOX1,LT);
btm
--------------------------------------------------------------------------------
기존 지표 설정 조건: shortPeriod - 9 / midPeriod - 26 / longPeriod - 52
추가 지표 설정 조건: P1- 20. / P2 - 5
--------------------------------------------------------------------------------
그리고 아래 수식은 위의 이록 변형처럼 이평선 투 라인 막대바란 수식인데 이걸 어떻게
해석해서 사용해야 적절한지 잘 모르겠습니다! 간단한 조언 좀 부탁드려요!
input : p1(5),P2(20),P3(60);
var : a1(0),a2(0),a3(0);
a1=ma(c,p1);
a2=ma(c,p2);
a3=ma(c,p3);
if a2 > a3 and crossup(a1,a2) Then{
var1 = h;
var2 = l;
}
plot1(var1);
plot2(var2);
2017-12-11
246
글번호 114855