커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1505
글번호 230811
손느린주식 님에 의해서 삭제되었습니다.
2023-10-02
0
글번호 172826
답변완료
사용자함수를 안쓰고 파일안에서만 사용하는 루틴
종목검색에서 if 구절마다 반복되는 루틴을 함수화 하고 싶습니다.
사용자함수는 여러파일에 걸쳐서 사용하기에 알맞지
다른 파일에서는 사용안하지만 코드의 간결화, 오류방지를 위해서 단일파일안에서 여러번 반복하는 항목들을 함수선언하고 싶은데 방법이 있을까요?
2023-10-02
848
글번호 172825
답변완료
과거 특정 시점 가격 돌파시 매수
항상 친절한 답변 감사드립니다.
다음 전략 수식 부탁드립니다.
1. 과거 어떤날 시가대비 종가가 20%상승하고,
2. 같은날 거래대금이 1000억원이 발생하고 이후 하락했을 때
3. 그날의 종가를 돌파하는 시점에서 매수하고,
4. 그날 종가보다 10% 높은 가격에서 수익실현하며
5. 그날 종가보다 -5%하향할 때 손절하는 전략
기준은 일봉으로 진입, 청산은 분봉으로하고자 합니다.
2023-10-02
811
글번호 172824
답변완료
키움서 쓰던 수식인데 변환 부탁 드립니다.
적응이 쉽지가 않네요.. ㅠ.ㅠ
밸브웬의 월2[1] 여기서 막혔습니다. 도와주세요ㅎㅎ
월2=floor(date/100);
전체2=sum(c);
총거래일수2=countsince(월2!=월2(1),c>0);
거래일2=전체2-valuewhen(1,월2!=월2(1),전체2(1));
월종=거래일2/총거래일수2
결과 = (월시+월종)/2
결과
2023-10-02
828
글번호 172823
답변완료
봉의 중간값보다 높은거나 낮은값 문의
안녕하세요.
현재 봉의 최고점과 최저점 사이의 중간값보다 약간 높거나 낮을 경우 진입하려는데요.
C > (H + L)/2 로 하면 현재봉의 중간값보다 높을경우로 이해하고 있습니다.
그런데 중간값보다 약간 더 높거나 낮을경우,
예를 들어 /2가 아닌 /1.5 나 /2.5 로 할경우 수식이 제대로 된 값으로 인식을 못하는것 같습니다.
정확히는 /2 이하 /1.9로 해도 전혀 시스템트레이드상에서 전혀 진입을 안하고, /2이상 /2.1이상부터는 현재값이 그 값보다 낮은경우에도 무조건 진입하게 됩니다.
확인 부탁드립니다.
2023-10-02
848
글번호 172822
답변완료
키움수식 변환 부탁드립니다.
지수평균((highest(종가,(기간/2))+highest(종가,기간))/2,기간)+
if(종가>시가,1-(abs(종가-시가)/abs(highest((종가-
시가),기간))),1)*D1*stdev((저가+고가+종가)/3,기간);
2023-10-02
892
글번호 172821
답변완료
지표수식요청
아래의 4가지 함수를 사용자함수에 등록하려합니다 예스랭귀지로 변환 부탁드립니다^^
요일(DATE)함수
M=floor(D/100)%100;
YY=if((M+1-1) == 1 or (M+1-1) == 2, floor(D/10000)-1, floor(D/10000));
YA=floor(YY/100);
YB=YY%100;
MM=if((M+1-1) ==1, 13, if((M+1-1) == 2, 14, M));
DD=D%100;
A=(DD+floor(13*(MM+1)/5) + YB + floor(YB/4) + floor(YA/4) + YA*5)%7;
if(A==0,6,A-1)
이전주고가(N)함수
A=요일(DATE);
HH=HIGHESTSINCE(1, A(1)>A && DATE != DATE(1) , H);
Valuewhen(n, A(1)>A && DATE != DATE(1), HH(1));
이전주누적거래량(N)
S=SUM(V);
A=요일(DATE);
B=Valuewhen(n, A(1)>A && DATE != DATE(1), S(1));
B1=Valuewhen(n+1, A(1)>A && DATE != DATE(1), S(1));
B-B1
주0봉누적거래량()
S=SUM(V);
A=요일(DATE);
B=Valuewhen(1, A(1)>A && DATE != DATE(1), S(1));
S-B
감사합니다
2023-10-01
1099
글번호 172820
답변완료
틱봉에서 30분봉 점찍기좀 부탁 드립니다
* 좋은 한주 되십시요.
* 30분 분봉 crossup , crossdown시 차트에 점찍기(●) 요청 드립니다.
단 틱봉 사용 예정 입니다.
즉 틱 봉을 사용 하는데 30분봉 이평선(ma(c,30))이 ma(c,5) 와크로스 되거나 다운되면
점찍기를 요청 드립니다.
틱봉은 몇 틱봉을 사용 해야할지 아무리 찾아봐도 잘 모르겠습니다.
30분봉 점찍기 적당한 틱봉(또는 비슷) 계산해 주시면 사용 하겠습니다.
즉 매매시 30분봉 크로스업 다운이 중요한 변화라서 필요 합니다.
분봉을 틱봉에 점찍기 안되는 건가요?
* 항상 많은 도움에 고맙습니다. 수고하십시요.
2023-10-04
967
글번호 172819
답변완료
업비트에서는 결과가 나오는데 동일전략이 다른 상품에서는 나오지 않습니다.
동일한 전략을 btckrw에서는 잘 적용이 되나
btc 마켓 종목에서는 적용이 되지 않습니다.
또한 아래 수식이 계산이 많이 들어가는 느낌이 드는데...
최적화할때에도 결과들이 누락되고 그래서...
속도를 더 빠르게 할 수 있는 코드로 수정이 가능할까요??
Input:maperiod(144),profittarget(0.8),stloss(15),water1(1),pleng(100),natrs(3),capital(1),trendscore(1.5);
var : cont(0),mascoring(0);
//추세판정
if ma(c,maperiod*7)>ma(c,maperiod*7)[maperiod*7] Then Value1=1; Else value1=-1;
if ma(c,maperiod*5)>ma(c,maperiod*5)[maperiod*5] Then Value2=0.5; Else Value2=-0.5;
if ma(c,maperiod*3)>ma(c,maperiod*3)[maperiod*3] Then Value3=0.25; Else Value3=-0.25;
if ma(c,maperiod*2)>ma(c,maperiod*2)[maperiod*2] Then Value4=0.125; Else Value4=-0.125;
if ma(c,maperiod*1)>ma(c,maperiod*1)[maperiod*1] Then Value5=0.0625; Else value5=-0.0625;
Value10= value1+value2+value3+value4+value5;
value11 = ATR( pLeng ) * nAtrs ;
cont=(capital*0.01)/c;
if marketposition==0 and Value10 >= trendscore and CrossDown(c,BollBandDown(60,2)) Then
Begin
Buy("매수",AtMarket,def,cont);
End;
if MarketPosition == 1 and MaxEntries == 1 Then
Buy("mt1",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*2);
if MarketPosition == 1 and MaxEntries == 2 Then
Buy("mt2",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*4);
if MarketPosition == 1 and MaxEntries == 3 Then
Buy("mt3",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*8);
if MarketPosition == 1 and MaxEntries == 4 Then
Buy("mt4",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*16);
if MarketPosition == 1 and MaxEntries == 5 Then
Buy("mt5",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*32);
if MarketPosition == 1 and MaxEntries == 6 Then
Buy("mt6",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*64);
if MarketPosition==1 and (OpenPositionProfit/CurrentContracts)/AvgEntryPrice >= profittarget*0.01 Then
Begin
ExitLong("매수청산",AtMarket);
End;
2023-10-01
1213
글번호 172818