커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7521
글번호 230811
답변완료
차트에 표시하고 싶은데
1. 전일 종가/고가/시가/저가
2. 당일 종가/고가/시가/저가
3. 당일 고저 진폭의 중심값
4. 전일 고저 진폭의 중심값
어떻게 수식을 만드나요?
2014-02-14
192
글번호 72576
쪽박부활 님에 의해서 삭제되었습니다.
2014-02-14
1
글번호 72575
답변완료
스토캐스틱슬로우 이용한 함수관련
스토캐스틱 슬로우 지표 69틱(25,6,6)&138틱(50,6,6,)&222틱(50,6,6) 세개의 차트를 사용하여
스토캐스틱 %k지표가 18이하이고 현주가가 앞저점대비 같거나 낮을경우 스토케스틱 현지표가 주가저점때 지표보다 같거나 높아지는 경우& rsi지료 45이하 & trix 상승전환 매수진입,
반대로 82이상이고 현주가가 앞 고점대비 같거나 높을 경우 스토케스틱 %k지표가 앞 주가 고점시점의 지표수치보다 낮아지고 rsi지표55보다 낮을때 & trix 하락전환 매도청산
을 할려고 물어봐서 작성한 함수입니다.
이제 공부를 시작하다보니 아래 함수도 이해가 되지않고 혹시 맞게 작성된 건지도 궁금해서
문의드립니다. 아무래도 언어관련 공부를 해야겠는데요 이게 좀처럼 증권사마다도 다른거 같구 해서 어렵습니다.
한국투자증권 사용중인데요
---------------------------------------------------------------------------------------
nput : Period(50), Period1(6), Period2(6);
Var : value1(0), value2(0);
value1 = StochasticsK(Period,Period1,종가);
value2 = StochasticsD(Period,Period1,Period2,종가);
// 매수/매도청산
If CrossAbove(value1, value2) Then
Begin
Buy();
Exitshort();
End;
// 매도/매수청산
If CrossBelow(value1, value2) Then
Begin
sell();
Exitlong();
End;
--------------------------------------------------------------------------------
위와 같이 형성이 되어 있네요
좋은 교재두 쩜 추천해주시구요 ㅎㅎ
많이 갈쳐주세요~~~
----------------------------------------------------
매수진입
a=stochasticsslow(sto1,sto2);
b=trix(period);
d=eavg(b,sigperiod);
e=rsi(period2);
a<=18&&crossup(b,d)&&e<=45
매수청산
a=stochasticsslow(sto1,sto2);
b=trix(period);
d=eavg(b,sigperiod);
e=rsi(period2);
a>=82&&crossdown(b,d)&&e>=55
4)매도진입 수식을 넣고요.
5)매도청산수식(CrossUp)을 넣어야 됨니다.
-----------------------------------------
2014-02-14
288
글번호 72574
답변완료
행복; 수식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 작성 바랍니다
< 아래 > 의 시스템식에서 에러가 있습니다
===========< 아래 >===========================
If Date == 20140206 Then {
IF MarketPosition == 0 and stime < 112000 Then {
buy("b0x",AtStop,dayopen*(1+0.25/100),10);
}
If MarketPosition == 1 and stime < 112000 Then {
If CurrentContracts == 10 Then {
buy("b1x",AtStop,EntryPrice*(1+0.25/100),10);
ExitLong("el1x",AtStop,EntryPrice*(1-0.25/100),"",10,1);
}
If CurrentContracts == 20 Then {
buy("b2x",AtStop,EntryPrice*(1+0.5/100),10);
ExitLong("el2x",AtStop,EntryPrice,"",10,1);
}
If CurrentContracts == 30 Then {
buy("b3x",AtStop,EntryPrice*(1+0.75/100),10);
ExitLong("el3x",AtStop,EntryPrice*(1+0.25/100),"",10,1);
}
If CurrentContracts == 40 Then {
buy("b4x",AtStop,EntryPrice*(1+1/100),10);
ExitLong("el4x",AtStop,EntryPrice*(1+0.75/100),"",10,1);
}
}
If MarketPosition == 1 Then {
if stime >= 112000 Then {
ExitLong("b분할1",OnClose,def,"",Int(CurrentContracts*(1/3)),1);
} // 직전 잔고 30계약의 1/3 인 10계약을 청산하여 잔고는 20계약으로
if stime >= 130000 Then {
ExitLong("b분할2",OnClose,def,"",Int(CurrentContracts*(1/2)),1);
} // 직전 잔고 20계약의 1/2 인 10계약을 청산하여 잔고는 10계약으로
if stime >= 145000 Then {
ExitLong("b분할3");
} // 직전 잔고 10계약을 모두 청산하여 잔고는 0계약으로
}
}
==================================================================
======= 시스템식 < 아래 >의 조건은 ===============================
대상; 연결선물지수
주기; 10틱
일자; 2014년 2월 6일
진입&청산 수량; 1회당 10계약
진입&청산 시간; 11시 20분 이전에는
- 시초가 기준으로 0.25% 상승하면 buy 하고
- 최초진입가(entryprice) 기준으로 0.25% 상승할 때마다 추가로 buy 한다
- buy 하다가 0.25% 하락할 때마다 exitlong 한다
분할 청산 기간; 11시 20분 이후
- 분할 청산할 계약 수; 30계약( 11시13분18초에 10계약 buy 하여 30계약이 됨)
- 분할 청산 회수; 3회
- 1회당 분할 청산 계약 수; 10계약
- 1차 분할 청산 시점; 11시 20분 (10계약 청산 후 잔고는 20계약)
- 2차 분할 청산 시점; 13시 (10계약 청산 후 잔고는 10계약)
- 3차 분할 청산 시점; 14시 50분 (10계약 청산 후 잔고는 0계약)
====================================================================
그러나 성과보고서에 의하면
3회에 나누어 청산하는 계약수가
1차 분할; 20계약
2차 분할; 5계약
3차 분할; 5계약 입니다
무엇이 잘못되었는지요?
바로잡아 주시기 바랍니다
수고하십시요^^
2014-02-14
210
글번호 72573
답변완료
안녕하세요. 추가로 문의드립니다.
안녕하세요.
답변 감사드립니다.
추가로 질문드릴께요.
* 아래와 같이 답변해 주셧는데요
PredayV = DayVolume[cnt];
에서는 cnt 값의 변화가 있을텐데[] 는 봉을 참조하는것이고
dayvolume 은 그날의 거래량 값을 구하는것이라고 판단되는데요.
cnt 가 증가하면 거래량이 줄어들지 않나요.?
dayvolume 해당봉의 거래량을 구하는건가요?
혼동되네요.
Re : 안녕하세요. 문의드립니다.
안녕하세요
예스스탁입니다.
[]는 이전봉입니다.N개전 봉의 값을 가져올때 사용됩니다.
()는 함수의 매개변수를 지정하게 됩니다.
ma(c,5)[1] --> 1봉전의 5이평
올리신 식은 전일 동시간대까지 당일누적한 거래량을 알고자 할때 사용하는 식입니다.
그러므로 이전봉을 뒤져 날짜로는 오늘보다 전일이고
시간대는 오늘 현재시간보다 이전의 시간인 봉을 찾는 내용입니다.
for cnt = 1 to 500 {
if stime[cnt] <= stime and sdate[cnt] < sdate then{
PredayV = DayVolume[cnt];
cnt = 501; //for문을 중지
}
}
1봉부터 최대 500봉전까지의 날짜와 시간을 불러와
불러온 이전봉의 시간은 현재봉과 같거나 작고
불러온 날짜는 현재봉의 날짜보다 작으면
PredayV에 해당 이전봉기준에서 당일 누적거래량을 저장하고
더이상 for문을 수행할 필요가 없으므로
cnt는 for문의 최대값인 500보다 큰값을
for문에서 빠져나오게 작성된 식입니다.
즐거운 하루되세요
> 열공이삼삼 님이 쓴 글입니다.
> 제목 : 안녕하세요. 문의드립니다.
> 안녕하세요. 문의드립니다.
예스랭기지 수식작성 예제를 보고 공부를 시작 하였는데요
내용은 아래와 같습니다.
내용의 설명 부탁 드립니다. 전날을 의미하는 내용이 어떤것인지요?
sdate 또는 datvolume []괄호가 사용되면 이전값 참조인데 전날을 의미하나요 이전봉을
의미하는지요? ()와 [] 의 차이점이 있나요
감사합니다.
[설명]
전일 동시간대의 거래량을 가져오는 식입니다.
for문을 이용해서 이전봉들의 시간과 날짜를 차례로 가져와
오늘날짜보다 이전일이고 시간이 같거나 작은 봉이면
해당봉의 거래량을 저장하고 cnt에 for문의 최종값보다 큰값을
할당하여 for문을 종료시키게 됩니다.
[지표식]
var : cnt(0),PredayV(0);
for cnt = 1 to 500 {
if stime[cnt] <= stime and sdate[cnt] < sdate then{
PredayV = DayVolume[cnt];
cnt = 501; //for문을 중지
}
}
plot1(PredayV,"전일동시간대");
2014-02-14
189
글번호 72564
답변완료
청산 수식 문의드립니다.
아래 청산식은 1분 종가캔들상 익절과 손절 전략입니다.
현재는 익절과 손절 모두 종가캔들(1분봉) 기준으로 되어 있는데요.
여기서 익절은 종가캔들 현재대로 유지하고, 손절은 6틱 틱으로만 찍어도 손절이 나가게끔 수정하고 싶습니다.
답변 부탁드릴께요.
매번 감사합니다.
---------------------------------------------------------------------------------
if stime >= 110000 and stime < 130000 Then{
if MarketPosition == 1 Then{
if C >= EntryPrice+PriceScale*2 Then
ExitLong("1");
if C <= EntryPrice-PriceScale*6 Then
ExitLong("2");
}
if MarketPosition == -1 Then{
if C <= EntryPrice-PriceScale*2 Then
ExitShort("3");
if C >= EntryPrice+PriceScale*6 Then
ExitShort("4");
}
}
Else{
if MarketPosition == 1 Then{
if C >= EntryPrice+PriceScale*4 Then
ExitLong("5");
if C <= EntryPrice-PriceScale*6 Then
ExitLong("6");
}
if MarketPosition == -1 Then{
if C <= EntryPrice-PriceScale*4 Then
ExitShort("7");
if C >= EntryPrice+PriceScale*6 Then
ExitShort("8");
}
}
2014-02-14
166
글번호 72561
답변완료
지표식 부탁드립니다.
아래의 지표식 1은
rsi수식을 풀어서 종가대신 (예를 들어) 5이평을 넣은것입니다.
== 지표식1 ==
inputs: Length(7),기간(5);
Variables: Counter(0),DownAmt(0),UpAmt(0),UpSum(0),DownSum(0),UpAvg(0),DownAvg(0),RSIv(0);
if CurrentBar == 1 and length >0 then begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 begin
UpAmt = ma(c,기간)[Counter] - ma(c,기간)[Counter +1];
if UpAmt >= 0 then
DownAmt = 0;
Else begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum/Length;
DownAvg = DownSum/Length;
End
Else
if CurrentBar > 1 and Length >0 then begin
UpAamt = ma(c,기간)[0] - ma(c,기간)[1];
if UpAmt >= 0 then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt)/Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt)/Length;
End;
if UpAvg + DownAvg <> 0 then
RSIv = 100*UpAvg/(UpAvg + DownAvg);
Else
RSIv = 0;
if RSIv > RSIv[1] then
plot1(RSIv, "rsi",red);
Else
plot1(RSIv,"rsi",blue);
아래의 지표식2는 macd가 0선을 돌파할때 수직선이 나오게하는 수식입니다.
== 지표식2 ==
input : shortperiod(12),longperiod(26),period(9);
var1 =MACD(shortperiod,longperiod);
var2 = 0;
if crossup(var1,var2) then
plot1(999999999,"1",red);
if corssdown(var1,var2) then
plot1(999999999,"1",blue);
지표식1의 RSIv를 지표식2 처럼 50을 돌파할때 수직선이 나오게
지표식을 부탁드립니다.
2014-02-14
171
글번호 72559
답변완료
데이터 참조만 하고 차팅은 하지 않기
항상 친절하고 신속하고 답변 주셔서 많은 도움을 받고 있습니다.
속도가 떨어지고 차트가 멈추는 현상이 계속되어서
그 개선을 위해서
수급 데이터 등을 참조하지만
차팅을 하지 않을 수 있는지요?
2014-02-14
148
글번호 72555
답변완료
문의드립니다.
안녕하세요.
선물 1분봉 차트에서
당일최고점에서 하락 시 5분이평과 20분이평이 데드크로스가 난 후
다시 골든크로스가 나고, 다시 데드크로스가 나고, 다시 골든크로스가 나는 시점의 이평크로스
가격을 출력하라 --- 즉 당일최고점에서 하락 시 두번째 골든크로스가 난 시점의 이평크로스
가격 출력.
또, 당일최저점에서 두번째 데드크로스가 난 시점의 이평크로스 가격을 출력하라. 는 수식을
알려주세요.
수고하세요.
2014-02-14
157
글번호 72549