커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7523
글번호 230811
지표

아무것도모른다 님에 의해서 삭제되었습니다.

프로필 이미지
아무것도모른다
2014-01-27
0
글번호 71944
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2014-01-27
15
글번호 71943
시스템
답변완료

문의드립니다

5봉의최고점을 현재봉의 저점이 돌파했을때 5개봉의 거래량과 현재 봉의 거래량까지합쳐서 수치로 나타내고 싶습니다 어떻게 출력합니까? var : sum(0),cnt(0); var1 = NthHighestBar(1,H,5)[1]; sum = 0; for cnt = 0 to var1+1{ sum = sum+V[cnt]; }
프로필 이미지
처음처럼22
2014-01-27
164
글번호 71942
지표
답변완료

파라볼릭 상승, 하락 표시 달리하는 방법을 알려주세요

업무에 노고가 많습니다 하기 식은 예스스탁에서 찾은 파라볼릭 그리는 식입니다. 그런데 이 식에 파라볼릭이 상승일때는 RED로, 하락일때는 BLUE로 컬러를 바꾸고 싶습니다. 한 수 잘부탁드립니다. Input : Af(0.02), MaxAf(0.2); Var : direction(0), sar1(0), afval(0), ep(0),lowval(0),highval(0),count(0); if count == 0 then //변수들의 초기화 { highval = High; lowval = Low; direction = 0; sar1 = 0; afval = 0; ep = 0; count = 1; } if(ep != 0 ) then // 추세가 진행중 { if(direction == 1) then // 상승추세이면 { ep = highval; sar1 = sar1 + afval*(ep-sar1); // 상승추세에서 SAR값 계산 if(high > highval) then // 신고가 발생 { highval = high; afval = afval+Af; // 상승추세에서 신고가가 발생했으므로 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if( low < sar1) then // 추세변경(상승->하락) { // 다음 SAR값을 계산할 때 필요한 전SAR값은 하락추세로 전환되기 직전의 direction = -1; // 최고가를 사용하므로 sar1 = ep (ep에는 highval 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; lowval = low; } } else // 하락 추세 { ep = lowval; // 하락추세에서는 EP로 저가 사용 sar1 = sar1 + afval*(ep-sar1); if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; if( afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if(high > sar1) then // 추세 변경(하락->상승) { // 다음 SAR 값을 계산할 때 필요한 전SAR값은 상승추세로 전환되기 직전의 direction = 1; // 최저가를 사용하므로 sar1 = ep (ep에는 lowval값이 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; highval = high; } } } else if(sar1 != 0 && ep == 0) then //추세가 변경된후 첫번째 SAR계산 { if(direction == 1) then // 상승 추세 { ep = highval; // 상승추세에서는 신고가를 EP로 사용하므로 afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1); if ( high > highval) then // 신고가가 발생 { Highval = high; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } else // 하락추세 { ep = lowval; afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1);// 하락추세에서 SAR 계산 if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } } else // SAR 첨 시작 { if direction == 0 then // 추세가 없으므로 { if(c > c[1]) then // 상승추세로 시작 direction = 1; else if( c < c[1]) then // 하락추세로 시작 direction = -1; } else if direction == 1 then // 상승추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if(c < c[1]) then // 추세 변경 (상승->하락) SAR 계산하기 시작 { direction = -1; sar1 = highval; // 하락추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최고가를 사용하므로 } } else if direction == -1 then // 하락추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if( c > c[1]) then // 추세 변경 (하락->상승) SAR 계산하기 시작 { direction = 1; sar1 = lowval; // 상승추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최저가를 사용하므로 } } lowval = min(low, lowval); // 추세 변경시 전 SAR값으로 최고가나 최저가가 필요하므로 highval = max(high,highval); // low, high를 전의 최고가, 최저가와 비교하여 최고가, 최저가를 저장 } //처음 시작할 때 다음 추세 변경이 일어날 때까지 SAR는 invalid #if(sar1 != 0) then # User_Func_Sar = sar1; plot1(sar1);
프로필 이미지
회원
2014-01-27
268
글번호 71941
지표

34648 재질문 드립니다.

제가 관리자님께 설명을 잘못드렸나봅니다. 전 90일마다 초기화를 해서 그 값을 누적시키길 바란게 아니라.. 전 다만 첨부 화일에 써놓은것처럼.. 13년 12월 27~30일 잘 계산되다가.. 14년 1월 2일날 30일까지의 [자료1] -13.80에서 계산되지 않고 14년 1월 2일날 [자료1]이 정상적으로 나온다면 (자료1)-13.80 + (자료2)-8.25 한값 -22.0가 나와야 하는데 당일 값 -8.25만 적용이 됩니다. 왜 이렇게 나오는건지... 알려주시고... 식에 문제가 있다면 고쳐주십사 다시 한번 부탁드려봅니다... (__) * 90일마다 누적자료 초기화는 아닙니다...! ----------------------------------------------------------------------- > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 드립니다. > 안녕하세요 예스스탁입니다. 작성하신 식은 90일 간격으로 초기화하는 것이 아닙니다. 식을 수정했습니다. 차트 첫날부터 시간해 거래일수로 90일 간격으로 초기화합니다. var : DD(0),DDD(0); if date != date[1] Then DD = DD+1; DDD = DD%90; if index == 0 or (DDD < DDD[1] and sdate > sdate[1]) Then var1 = 0; value1 = (C-H)+(C-L); var1 = var1+value1; plot1(DDD); 즐거운 하루되세요 > 심술꾸라지 님이 쓴 글입니다. > 제목 : 문의 드립니다. > if date > date[1]+ 90 then var1 = 0; value1 = (C-H)+(C-L); var1 = var1+value1; plot1(var1, "자료1"); plot9(value1, "자료2"); --------------------- 일전에 만들어 주신 식인데요... 제가 잘 모르는건지.. 자료가 누적에 문제가 생기는것 같습니다... 첨부 화일도 같이 보시고 문제점이 있으면 알려주세요 ㅜㅜ ---- 90일 누적이라 90일 가장 오래된 자료가 빠진다하여 그리 나오는것 같진 않고... 그냥 초기화 되어버립니다.. 누적된 자료가 이런 경우가 가끔 불특정하게 생기는것 같습니다...
프로필 이미지
심술꾸라지
2014-01-27
172
글번호 71937
지표
답변완료

문의드립니다.

안녕하세요? 시스템트레이딩 관련하여 문의드립니다. 일봉이나, 분봉기준으로 시스템 매매를 했을 때, 수식에 의거하여 진입과 청산이 계속적으로 이루어지는데, 문의 드리고자 하는 것은, 진입후 일정 수익(예, 1% 혹은 5%) 이 발생했을 때, 수익분에 대하여 유지하고, 당일 매매에 있어서는 더 이상의 진입을 허용하지 않는 수식을 알려드리면 감사하겠습니다.
프로필 이미지
회원
2014-01-27
285
글번호 71928
시스템
답변완료

수식

현물 50일 신고가 고가대비 -20%하락시 매수 수식좀부탁드려요 그리고 볼린저승수20.2 상단돌파시매수 도요
프로필 이미지
흑용
2014-01-27
157
글번호 71927
시스템
답변완료

문의드립니다.

안녕하세요. 아래 첨부한 식으로 거래를 해보려고 했으나, 실행이 안되는 것 같아 문의드립니다. (검증은 완료되었던 것입니다) input : dayclose(1),getpositionmarketvalue(0),setstoploss(0),setstopprofittarget(0) ; var : var1(0), var2(0), var3(0), var4(0), var5(0), cnt(0); var1 = bp; var2 = getpositionmarketvalue; var3 = setstoploss; var4 = setstopprofittarget; var5 = dayclose(1); cnt = 0; if crossup(var2, var5) then buy(); for cnt = 0 to 1000 begin if var2 > var1 then var1 = var2; var3 = var2 * 0.97 ; var4 = var2 * 1.03 ; if var2 >= var4 then sell(); if var2 <= var3 then sell(); end;
프로필 이미지
회원
2014-01-27
171
글번호 71926
시스템
답변완료

문의 드립니다.

if date > date[1]+ 90 then var1 = 0; value1 = (C-H)+(C-L); var1 = var1+value1; plot1(var1, "자료1"); plot9(value1, "자료2"); --------------------- 일전에 만들어 주신 식인데요... 제가 잘 모르는건지.. 자료가 누적에 문제가 생기는것 같습니다... 첨부 화일도 같이 보시고 문제점이 있으면 알려주세요 ㅜㅜ ---- 90일 누적이라 90일 가장 오래된 자료가 빠진다하여 그리 나오는것 같진 않고... 그냥 초기화 되어버립니다.. 누적된 자료가 이런 경우가 가끔 불특정하게 생기는것 같습니다...
프로필 이미지
심술꾸라지
2014-01-27
147
글번호 71925
지표