커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3352
글번호 230811
답변완료
지표 시간 및 index 질문 드립니다.
안녕하세요.
특정 지표의 sDate 또는 sTime 때의 값을 알려면
어떻게 해야될까요...
인덱스로 가능한 부분인가요 ??
감사합니다.
2020-06-16
2214
글번호 139860
답변완료
국내 주식 일봉차트에서 자동매매 할수 있게 수식 변환 요청합니다.
국내 주식입니다.
일봉 기준입니다. 자동매매로 거래할수 있도록 수식 변환 요청드릴께요...
일봉에서는 봉완성후 진입이라 장종료후에 진입이 되지 않는 것으로 알고 있습니다.
그러면 종가가 조건에 부합했을때 다음봉(다음날) 전일 종가(또는 낮은 값일때) 에 실시간으로 진입하는 수식 부탁드리고요
추가 매수 되는 것은 장중에 해당 값에 도달시 즉시 진입되는 수식으로 될수 있게
그리고 청산시에도 조건부합시 다음봉(다음날) 전일 종가에 실시간으로 청산 하는 수식 부탁드림니다.
정리하면
최초 매수 진입분:
다음봉에 전봉 종가 또는 낮을값일때 진입( 갭상승시 전일종가 , 갭하락시 즉시 체결)
추가매수분 :
해당 조건 충족시 즉시 진입
청산분:
다음봉에 전일종가 또는 높을때 즉시청산(갭상승일때 즉시 청산,갭하락일때 전일종가)
---------------------------------------------------------------------------------
input : 기준평균봉값(80);
input : 일차매수금액(100);
input : 이차매수금액(200);
input : 삼차매수금액(300);
input : 사차매수금액(400);
input : 오차매수금액(500);
input : 육차매수금액(600);
input : 최초진입하락폭(0.95);
input : 추가진입하락폭(0.96);
input : MFI기간(15),MFI값(85);
input : 심리도기간(15),심리도값(85);
var : mav(0,data2),MM(0,data1),SS(0,data1);
mav = data2(ma(c,기준평균봉값));
MM = data1(mfi(MFI기간));
SS = data1(Simrido(심리도기간));
if MarketPosition == 0 and data2(CrossDown(c,mav*최초진입하락폭)) then
buy("b1",OnClose,def,Floor(일차매수금액*10000/c));
if MarketPosition == 1 then
{
if MaxEntries == 1 and c<=LatestEntryPrice(0)*추가진입하락폭 then # 85
buy("b2",OnClose,def,Floor(이차매수금액*10000/c));
if MaxEntries == 2 and c<=LatestEntryPrice(0)*(추가진입하락폭-0.04) then # 80
buy("b3",OnClose,def,Floor(삼차매수금액*10000/c));
if MaxEntries == 3 and c<=LatestEntryPrice(0)*(추가진입하락폭-0.07) then # 75
buy("b4",OnClose,def,Floor(사차매수금액*10000/c));
if MaxEntries == 4 and c<=LatestEntryPrice(0)*(추가진입하락폭-0.09) then # 70
buy("b5",OnClose,def,Floor(오차매수금액*10000/c));
if MaxEntries == 5 and c<=LatestEntryPrice(0)*(추가진입하락폭-0.10) then # 65
buy("b6",OnClose,def,Floor(육차매수금액*10000/c));
if MM > MFI값 or SS > 심리도값 Then
exitlong("청산");
}
2020-06-16
2244
글번호 139859
답변완료
질문드립니다
당일 같은 진입명으로 2번 이상 진입하지 않도록 하는 식을 아래와 같이 사용하고 있는데,
가끔 오류가 나서, 2번 이상 진입이 일어납니다.
if Bdate != Bdate[1] Then {
B1count = 0;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "진입명" Then
B1count = B1count+1;
if B1count < 1 and 진입조건 then
{
Buy("진입명");
}
다른 수식으로 같은 효과를 내는 방법이 있을까요?
감사합니다
2020-06-15
2226
글번호 139858
답변완료
전일, 전전일거래량
안녕하세요
전일과 전전일 거래량의 최고/최저치를 나타내는 식이 궁금합니다.
감사합니다
2020-06-15
2143
글번호 139857
답변완료
문의드립니다.
아래수식을 예스로 부탁합니다.
i1=input(5, "Momentum Period", minval=1) //Keep at 2 usually
i2=input(10, "Slow Period", minval=1)
i3=input(5, "Fast Period", minval=1)
i4=input(3, "Smoothing Period", minval=1)
i5=input(10, "Signal Period", minval=1)
i6=input(20, "Extreme Value", minval=1)
hiDif = high - high[1]
loDif = low[1] - low
uDM = hiDif > loDif and hiDif > 0 ? hiDif : 0
dDM = loDif > hiDif and loDif > 0 ? loDif : 0
ATR = rma(tr(true), i1)
DIu = 100 * rma(uDM, i1) / ATR
DId = 100 * rma(dDM, i1) / ATR
HLM2 = DIu - DId
DTI = (100 * ema(ema(ema(HLM2, i2), i3), i4)) / ema(ema(ema(abs(HLM2), i2), i3), i4)
signal = ema(DTI, i5)
col = DTI > DTI[1] ? green : maroon
col2 = DTI > signal ? lime : red
col3 = DTI > 0 ? teal : purple
p1=plot(DTI,title="DTI", color=col, style=area, linewidth=5, transp=10)
p2=plot(signal,title="Signal", color=col2)
p3=plot(0,title="zero", color=gray)
p4=plot(i6,title="overbought",color=purple, linewidth=5, transp=75)
p5=plot(-i6,title="oversold",color=teal, linewidth=5, transp=75)
fill(p1,p3, col3, transp=50)
fill(p1, p2, col2, transp=0)
2020-06-15
2154
글번호 139856
답변완료
문의 드립니다
60분봉상
후행스팬이 볼린저밴드 상단을 상향돌파하는 수식을 알고싶습니다
2020-06-15
2073
글번호 139847
답변완료
문의드립니다.
var1 = XXX(1);
var2 = YYY(1);
var3 = var1-var2;
plot1(var1,"0");
plot2(var2,"1");
plot3(var1-var3*0.02);
위의 지표에서
1)
30분 차트에서 종가로 var1을 crossup 하여 시그널이 발생 후
가격이 종가로 plot3에 도달한 종목만 검색되도록
종목 검색식을 만들고 싶습니다.
2) 최근 10개 봉 이내에서 종가로 var1을 crossup 하여 시그널이 발생한 종목을 검색하는
종목 검색식을 만들고 싶습니다.
도움 주셔서 감사합니다.
좋은 하루 되세요
2020-06-15
1999
글번호 139846
답변완료
손절,익절, 매매중지식
(당초)
선물+옵션에서 지금까지 익절,손절을 아래와 같이 숫치로 했는데
SetStopLoss(2,PointStop);
SetStopProfittarget(3,PointStop);
SetStopEndofday(150000);
(변경)
옵션같은 경우는 진입가격이 달라져서 포인트로 표현하기가 어렵습니다.
손실율(25%손실),수익율(150%)로 구현하려면 어떻게 작성되어야 할까요?
아래와 같이는 구현이 안되는 것 같습니다.
SetStopLoss(EntryPrice*0.75,PointStop);
SetStopProfittarget(EntryPrice*3,PointStop);
SetStopEndofday(150000);
2020-06-15
2087
글번호 139845
답변완료
for, if, IFF, ATR 활용한 지표 작성 도움 요청 드립니다.
잘 모르겠는 부분을 한글로 표현했는데, 도움 요청드립니다.
- input : ATR 10일치
- var : 모르겠음
- for문 : 일봉으로 상장일부터 현재까지 반복
if 해당일이 상장일자
{ 상장일의 StateNo=1; 상장일의 InUptrend=true; 상장일의 InDntrnd=false, 상장일의 Uptrend=종가; 상장일의 Dntrend=종가; }
else
{ 해당일의 StateNo = 전일의 StateNo; 해당일의 InUptrend = 전일의 InUptrend; 해당일의 InDntrend = 전일의 InDntrend; 해당일의 Uptrend = 전일의 Uptrend; 해당일의 Dntrend = 전일의 Dntrend;}
if 전일의 StateNo=1
{
if 해당일의 종가 >= 전일의 종가
{ 해당일의 StateNo=1; 해당일의 InUptrend=true; 해당일의 InDntrend=false; 해당일의 Uptrend = 해당일의 종가 }
else
{
if 해당일의 InUptrend AND 해당일의 종가 <= 해당일의 Uptrend 곱하기 '해당일 기준 10일짜리 ATR'
{ 해당일의 StateNo=6; 해딩일의 Inuptrend=false; 해당일의 InDntrend=True, 해당일의 Dntrend = 해당일의 종가}
}
}
- WeightNo 그리기
해당일의 StateNo=1이면 WeightNo=5,빨간색
해당일의 StateNo=6이면 WeightNo=-5, 파란색
2020-06-15
2295
글번호 139842