커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3479
글번호 230811
답변완료
지표를 통한 엑셀 추출
수고 많으십니다.
지표를 통해 엑셀로 데이터 추출을 하고 있는데
내용이 예스스팟쪽이로 예스스팟Q&A에 문의 올렸습니다.
그런데 수식작성Q&A는 활발한데 예스스팟 쪽은 며칠 지난 게시물에도 답변이 없어서요
혹시 이곳에 말씀드리면 예스스팟Q&A 올린글도 보실까 해서 이쪽에 글올려드립니다.
감사합니다.
2021-03-17
781
글번호 147162
답변완료
키움수식 에스수식으로 알려주세요
수식1
A=MA(2*MA(가격, Period/2, 가중) - MA(가격, Period, 가중), Sqrt(Period), 가중);
A
수식2
if(A>A(1),A,0)
수식3
if(A<A(1),A,0)
가격 종가
period 10
키움에서는 상승이나 하락시 선칼라를 표현할수가 없어서 에스차트로 변형해 주세요
감사합니다
2021-03-17
928
글번호 147160
동동이아빠 님에 의해서 삭제되었습니다.
2021-03-17
9
글번호 147157
답변완료
매수매도 수식
주식에서 사용하던 수식을 수정해서 예스트레이더 코인에 적요하고 싶은데 아무리해도 잘 모르겠습니다.
1.RSI(30%)하락이 나올때마다 매수진행(RSI를 새로 뚫을때마다 매수)
2.RSI(70%)도달시 1/5 매도, RSI(80%)도달시 2/5 매도, RSI(90%)도달시 2/5 매도, RSI(70%)를 다시 벗어날경우 올매도 하는 식 삽입을 원합니다.
3.수식을 작성해보았으나, 2번매수밖에 진행이 되지 않음. (분할 5번으로 설정하였음)
4.코인거래는 주식처럼 장의 시작과 끝의 개념이 없는데 원하는 시간대부터 시작하고 싶을때는 작성한 수식대로 하면 되는 것인지 궁금하고 주식과 같이 투자금액으로 밑에 식처럼 설정하면 되는 것인지 궁금합니다.
Input : 투자금액(1000000),Period(14), N(1), LPercent(30), S7Percent(70), S8Percent(80), S9Percent(90),시작일(20210315),시작시간(090000);
var : value(0), e(0),x(0),count(0),Vma(0), Tcond(false);
var : HH(0),Bxcond1(false),Bxcond2(false),Bxcond3(false);
var : LL(0),Sxcond1(false),Sxcond2(false),Sxcond3(false);
Array : VV[5](0),XX[5](0);
value = RSI(Period);
vv[0] = floor((투자금액*0.1)/NextBarOpen);
vv[1] = floor((투자금액*0.1)/NextBarOpen);
vv[2] = floor((투자금액*0.1)/NextBarOpen);
vv[3] = floor((투자금액*0.2)/NextBarOpen);
vv[4] = floor((투자금액*0.2)/NextBarOpen);
vv[5] = floor((투자금액*0.3)/NextBarOpen);
if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then
Tcond = true;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
count = count+1;
if sdate >= 시작일 and stime >= 시작시간 Then
Tcond = true;
if Tcond == true then{
#첫번째 매수
if (TotalTrades == 0 or MarketPosition == 0) then{
if MarketPosition == 0 and count < N and CrossDown(value, LPercent) Then {
buy("b1",onclose,def,vv[MaxEntries]);
}
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then{
e = e +1;
if e == 0 then
XX[e] = CurrentContracts;
Else
XX[e] = CurrentContracts-CurrentContracts[1];
}
#두번째 매수
If MarketPosition == 1 and e == 1 and CrossDown(value, LPercent) and NextBarSdate == sdate Then {
{
buy("b2",onclose,def,vv[MaxEntries]);
}
#세번재매수
If MarketPosition == 1 and e == 2 and CrossDown(value, LPercent) and NextBarSdate == sdate Then {
{
buy("b3",onclose,def,vv[MaxEntries]);
}
#네번재매수
If MarketPosition == 1 and e == 3 and CrossDown(value, LPercent) and NextBarSdate == sdate Then {
{
buy("b4",onclose,def,vv[MaxEntries]);
}
#다섯번재매수
If MarketPosition == 1 and e == 4 and CrossDown(value, LPercent) and NextBarSdate == sdate Then {
{
buy("b5",onclose,def,vv[MaxEntries]);
}
}}}}}}}
2021-03-17
919
글번호 147156
답변완료
간단한 질문입니다.
1. 메인차트, 분봉인 상황에서
전일 종가대비 현재까지의 상승률을 구하고자 하면 다음과 같이 하는 것이 맞는지요?
Data1((c-DayClose(0))/DayClose(0)))
dayclose(0)이 전일 종가인지, 현재까지의 종가인지(즉, 분봉상의) 항상 헷갈립니다.
적어두고 적어두어도 적어둔게 어디간지..
2. 참조차트, 역시 분봉인 상황입니다.
여기서 똑같이 전일 종가대비 현재까지의 상승률을 구하고자 하면 다음과 같이 하는 것이 맞는지요?
Data2((c-Closed(0))/Closed(0)));
감사합니다
2021-03-17
876
글번호 147155
스오어스 님에 의해서 삭제되었습니다.
2021-03-17
0
글번호 147154
답변완료
문의드립니다
안녕하세요 검색 수식 문의 드리려고합니다
오전 9시 10분 기준 거래량 순위 50위 검색를 검색할 수 있는 수식을 만들고싶습니다.
고생시켜드려 죄송합니다 감사합니다!
2021-03-16
882
글번호 147153
답변완료
재문의 드립니다
테스트해보니 전혀 엉뚱한 결과가 나와서요
제가 설명을 잘못 드린거 같습니다
1. 실제매수가는 현재가가 매수기준가에 도달하면 그 시점에 매수한다는 의미입니다
매수기준가가 당일저가보다 작으면 매수가 불가능하니 매도가 먼저 체결되게 됩니다
그러면 매수기준가에 청산하거나 종가에 매도청산을 하는것입니다
2. 실제매도가도 현재가가 매도기준가에 도달했을때 매도한다는 의미입니다
매도기준가가 당일고가보다 크면 매도가 불가능하니 매수가 먼저 체결되게 됩니다
매도기준가에 청산하거나 종가에 매수청산을 하는것입니다
3. 예를 들어 현재가가 200원이고
매수기준가가 100원이고 매도기준가가 300원입니다
현재가가 300원에 먼저 도달하게 되면 매도가 먼저 체결되어 청산가는 매수기준가인
100원입니다. 만약 그날 100원에 도달하지 못하게 되면 종가에 청산한다는 것입니다
반대로 100원에 먼저 도달하게 되면 매수체결, 청산은 300원, 300원실패시 종가청산
4. 그리고 문의 드릴때 중요한걸 빼먹었는데요
하루에 한번 매매입니다
매수를 먼저하든 매도를 먼저하든 청산하게 되면 그날은 더이상 매매신호가 안뜨게요
물론 다음날은 시가기준으로 새로이 신호가 떠야하구요
5. 그리고 주석을 좀 달아주시면 고맙겠습니다
공부에 도움이 될것같고 문의하는 횟수를 줄이고 싶습니다 ^^;;;;
번거롭게 해서 죄송하고 감사드립니다.
이번 문의로 전달이 잘됐음 좋겠네요 ㅠ.ㅠ
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다
> 안녕하세요
예스스탁입니다.
input : 비율(5);
var : 매수기준가(0),매도기준가(0);
input : StartTime(70000),EndTime(065000);
var : Tcond(false);
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
{
Tcond = true;
SetStopEndofday(0);
}
매수기준가 = Floor(DayOpen*(1-비율/100)*10)/10;
매도기준가 = Ceiling(DayOpen*(1+비율/100)*10)/10;
if Tcond == true Then
{
if MarketPosition <= 0 and L > 매수기준가 Then
Buy("b",AtLimit,매수기준가);
if MarketPosition >= 0 and H < 매도기준가 Then
Sell("s",AtLimit,매도기준가);
}
즐거운 하루되세요
> 후니러비 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 1.매수기준가=시가*(1-비율/1) <--무조건 소수점한자리까지만 계산해 내림처리하고 싶습니다
ex) 100.11~100.19 ->100.1
2.매도기준가=시가*(1+비율/1) <--무조건 소수점한자리까지만 계산해 올림처리하고 싶습니다
ex) 100.11~100.19 ->100.2
3.실제매수가=만약에 매수기준가가 장중에 도달하면 매수기준가로 매수,아니라면 종가매수
4.실제매도가=만약에 매도기준가가 장중에 도달하면 매도기준가로 매도,아니라면 종가매도
5.비율을 변수로 하고 싶습니다
6.해외선물시간을 적용하고 싶습니다(08:00~다음날07:00)
7.당일매매 당일청산입니다. 매일 시가기준으로 새로운신호가 뜨게 해주세요
요구가 많아서 죄송합니다
초보가 혼자 게시판검색해가며 하다가 도저히 능력밖인것 같아서 부탁드립니다
감사합니다
2021-03-16
860
글번호 147152
캣피쉬 님에 의해서 삭제되었습니다.
2021-03-16
0
글번호 147151