커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7632
글번호 230811
회원 님에 의해서 삭제되었습니다.
2012-09-13
1
글번호 54649
답변완료
수식 좀 부탁드려요
안녕하세요^^ 수식 좀 부탁드려요~
변동성 측정 = 고가- 저가
지표 = 전일 변동성*X%
--> 진입은 당일 지표가 전일에 비해 X% 이상 움직일 경우 매수, 매도 진입..
2012-09-13
350
글번호 54647
답변완료
문의드립니다.
안녕하세요? 항상 성의있는 답변에 진심으로 감사드리며 다시 질문드립니다.
이전질문은 25816에 이어서 입니다.
이전질문에서 120분봉거래시 동시호가의 해결방법으로 아래와 같은 답변을 주셔서 잘 사용하고 있는데 다른 분봉에 테스트 할려고 하니 매번바꾸어 주어야 하는 번거로움이 있습니다.
첫번째 질문
30분봉에서 테스트시 아래의 답변내용중에서 dayindex+1<= 2를 dayindex+1<= 11로,
dayindex+1<= 4를 를 dayindex+1<= 11로 바꾸어주어야 하는가요?
두번째 질문
차트를 띄우면 그 차트가 몇분봉의 차트인지 알수있는 표현법(함수)을 알고 싶습니다.
번거롭게 해서 죄송합니다. 즐거운 하루 되세요.
----------------------------------------------------------------
일단 정규장안에 주문을 낼수 있게 당일 2번봉까지 신호가 발생하는 진입청산식을 만드시고 3번,4번봉은 조건만족여부만 판단해서 다음날 시초가에 신호가 발생하게
작성한 식입니다.
#당일 두번째봉까지
if dayindex+1 <= 2 Then{
if 매수진입조건 Then
buy();
if 매수청산조건 Then
ExitLong();
if 매도진입조건 Then
Sell();
if 매도청산조건 Then
ExitShort();
}
#당일 네번째 봉에서
#세번째 네번째봉중 조건 한번이라도 맞으면 다음날 시초가에 신호 및 주문
if dayindex+1 == 4 Then{
if MarketPosition != 1 and countif(매수진입조건,2) >= 1 Then
buy("b2",AtMarket);
if MarketPosition == 1 and countif(매수청산조건,2) >= 1 Then
ExitLong("bx2",AtMarket);
if MarketPosition != -1 and countif(매도진입조건,2) >= 1 Then
Sell("s2",AtMarket);
if MarketPosition == -1 and countif(매도청산조건,2) >= 1 Then
ExitShort("sx2",AtMarket);
}
2012-09-13
368
글번호 54646
답변완료
지표식 질문입니다
1
당일차트의 첫봉부터
시가와 종가가 같거나 양봉이면 AA 변수에 거래량 누적
시가와 종가가 같거나 음봉이면 BB 변수에 거래량 누적 을 하고 싶습니다..
2
1번 지표식의 보편식이 될수 있는
어떤 조건을 만족시 만 거래량 누적하여 만든 지표1
어떤 조건을 만족시 만 거래량 누적하여 만든 지표2
...
이런식의 조건만족시만 거래량을 누적하고 싶습니다
감사합니다
2012-09-13
353
글번호 54645
답변완료
검색식재문의드립니다.
안녕하세요
답변 주신 내용인데 검색해보면 다른값이 나오는데 다시한번 살펴봐주세요
부탁드립니다. 감사합니다.
안녕하세요
예스스탁입니다.
if index == 0 Then{
var1 = H;
var2 = L;
}
if H > var1 Then
var1 = h;
if L < var2 Then
var2 = L;
var3 = var2+(var1-var2)*0.9;
if C >= var3*0.95 and C <= var3*1.05 Then
find(1);
속성화면에서 검색에 필요한 최소기간을 500으로 설정하고
검색하시면 됩니다.
즐거운 하루되세요
> 머신 님이 쓴 글입니다.
> 제목 : 검색식 문의드립니다.
> 안녕하세요
종목마다 월봉의 봉수가 다른데 최대 검색 가능한 봉내에서 고가 저가를 구해서
변동폭의 90% 라인에 종가가 5%이내 위치한 종목 검색식 부탁드립니다.
신규주들은 봉갯수가 몇개 안되는경우 100개라고 가정할
경우 100개에대한 고가 저가를 구해서 변동폭의 90% 라인에 종가가 5%이내
위치한 종목도 같이 검색하고싶습니다.
감사합니다. 수고하세요
2012-09-13
311
글번호 54644
답변완료
문의드립니다.
그동안 문의드렸던 내용을 바탕으로 시스템 구현 중 잘 되지 않는 부분이 있습니다.
번거롭더라도 수식 확인 부탁드립니다.ㅠ
1. RVI 관련
문제점
10 < VAR5 를 넣으면 해당 사항이 있음에도 시뮬레이션 時 시스템성능보고서 가 뜨지 않습니다.
20 > VAR5 만 넣었을 경우 (종목 : 065420, 2011/05/24) 조건만족 안됬는데 25일에 매수발생 함니다. ※ RVI14 : 24.93
→ RVI 사용자함수가 지표 와 맞지 않는 것 같습니다.
→ RVI 지표가 맞다고 했을경우 사용자함수 수정 어떻게 되어야 하나요?
RVI 지표
Input: Length(14);
Var: Stdval(0),DnStd(0), UpStd(0), DownStd(0),RVIval(0);
Stdval = Std(Close, 10);
DnStd = ma( Iff(Close<=Close[1], Stdval,0),Length);
UpStd = ma( Iff(Close > Close[1], Stdval, 0), Length);
DownStd = ma( Iff(Close< Close[1], Stdval,0), Length);
If DnStd == 0 Then
RVIval = 100;
Else
RVIval = 100 -(100/ (1 +(UpStd/DownStd)));
Plot1(RVIval, "Relative Volatility Index");
PlotBaseLine1(60);
PlotBaseLine2(50);
PlotBaseLine3(40);
사용자함수
input : Period(Numeric);
RVI = AccumN(((C-O)+2*(C[1]-O[1])+2*(C[2]-O[2])+(C[3]-O[3]))/6,Period)
/
AccumN(((H-L)+2*(H[1]-L[1])+2*(H[2]-L[2])+(H[3]-L[3]))/6,Period);
시스템
input:r1(28);
input:e1(20),e2(40),e3(45);
input:v1(14);
var1=RSI(r1);
Var2=EnvelopeDown(e1,e1);
Var3=EnvelopeDown(e2,e2);
Var4=EnvelopeDown(e3,e3);
var5=RVI(v1);
if 20 < Var1 and Var1 < 30 and 10 < VAR5 AND VAR5 < 20 AND Var4 > C and Var2 > Var3 and C > O Then
{
buy("구매",AtMarket);
}
2012-09-13
395
글번호 54643
답변완료
재문의드립니다
선물지수에서 이평선5일선,20일선,60일선이 0.30 안에 수렴이되어있고 5일선이 0.25를 상방이나하방으로 벗어날때 상빙일때는 캔들밑에 하방일때는 캔들위에 표시를 하고 싶습니다
2012-09-12
341
글번호 54642
답변완료
문의드립니다.
이전답변 감사합니다.
input : 투입금액(1000000);
var : ChartHigh(0);
if index == 0 Then
ChartHigh = H;
if H > ChartHigh Then
ChartHigh = H;
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
Var1 = int(int(투입금액/C)/10)*10;
Else
Var1 = int(투입금액/C);
}
if CodeCategory == 2 or CodeCategory == 8 Then#코스닥 or etf
Var1 = int(투입금액/C);
if MarketPosition == 0 Then
buy("b1",atlimit,ChartHigh*0.93,var1);
if MarketPosition == 1 Then{
if CurrentEntries == 1 and MaxEntries == 1 Then
buy("b2",atlimit,ChartHigh*0.90,var1);
if CurrentEntries == 2 and MaxEntries == 2 Then
buy("b3",atlimit,ChartHigh*0.86,var1);
}
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then{
var2 = L;
if CodeCategory == 1 and BasePrice < 50000 Then{
value1 = int(int(CurrentContracts*0.2)/10)*10;
value2 = int(int(CurrentContracts*0.3)/10)*10;
value3 = int(int(CurrentContracts*0.5)/10)*10;
}
Else{
value1 = int(CurrentContracts*0.2);
value2 = int(CurrentContracts*0.3);
value3 = int(CurrentContracts*0.5);
}
}
if L < var2 Then
var2 = L;
if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 1 Then{
ExitLong("bx11",AtLimit,var2*1.03,"",value1,1);
ExitLong("bx12",AtLimit,var2*1.05,"",value2,1);
ExitLong("bx13",AtLimit,var2*1.07,"",value3,1);
ExitLong("bx14",AtLimit,var2*1.09);
}
if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 2 Then{
ExitLong("bx21",AtLimit,var2*1.03,"",value1,1);
ExitLong("bx22",AtLimit,var2*1.05,"",value2,1);
ExitLong("bx23",AtLimit,var2*1.07,"",value3,1);
ExitLong("bx24",AtLimit,var2*1.09);
}
if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 3 Then{
ExitLong("bx31",AtLimit,var2*1.03,"",value1,1);
ExitLong("bx32",AtLimit,var2*1.05,"",value2,1);
ExitLong("bx33",AtLimit,var2*1.07,"",value3,1);
ExitLong("bx34",AtLimit,var2*1.09);
}
}
b1 b2 b3 매수금액을각각 10 20 30 만원으로수정해 주시면감사하겟습니다
위수식의 매수 b1,b2,b3를 하루 1회로 제한하는 수식을 첨부하였으면 합니다.
감사합니다.
2012-09-13
344
글번호 54641
답변완료
디버깅 창 내용 복사
messagelog 명령을 사용하면 디버그 창에 기록을 할 수 있습니다.
분석을 위해 이 기록결과를 쓰고 싶은데, 복사하거나 텍스트/엑셀로 저장할 방법이 있을까요?
2012-09-12
342
글번호 54639