커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

타종목 참조가 잘 안되네요...

옵션을 주종목으로 놓고 선물을 참조하려고 하는데...(둘 다 1분봉 으로 셋팅) 선물 당일 시가, 고가, 저가, 종가는 잘 가져오는데 전일 가격들은 옵션가격으로 가져오네요. 어떻게 고칠 수 있나요? 로그찍어본 함수 MessageLog("당일 시=[%.2f], 고=[%.2f], 저=[%.2f], 종=[%.2f]", data2(DayOpen), data2(DayHigh), data2(DayLow), data2(DayClose)); MessageLog("전일 시=[%.2f], 고=[%.2f], 저=[%.2f], 종=[%.2f]", data2(DayOpen(1)), data2(DayHigh(1)), data2(DayLow(1)), data2(DayClose(1))); 실제 찍힌 로그 당일 시=[269.85], 고=[270.25], 저=[267.55], 종=[268.10] 전일 시=[7.10], 고=[7.20], 저=[3.85], 종=[4.15]
프로필 이미지
날씨맑음
2013-01-06
381
글번호 57848
시스템
답변완료

부탁드립니다

선물 3분봉 시초가 전일거래량대비 40%증가시 캔들 색깔방향으로 진입 5분봉 파라볼릭 청산 진입봉 고,저 돌파시 손절 매월 둘째주 목요일(옵션만기) 3분동 시초가 봉색깔방향진입 5분 파라볼릭청산 부탁드립니다
프로필 이미지
iamoju
2013-01-06
361
글번호 57847
시스템
답변완료

시스템식 변경

항상 감사드립니다 1. a.아래시스템식에서 매수청산/매도청산후에 시스템 매매금지 수식을 추가하고 싶습니다 b.아래시스템식조건으로 청산후 중심선라인3 돌파시에만 매수/매도진입 if MarketPosition == 1 and countif(crossup(c,저항라인1),BarsSinceEntry) >= 1 and CrossDown(c,저항라인1) Then exitlong(); if MarketPosition == -1 and countif(CrossDown(c,저항라인2),BarsSinceEntry) >= 1 and CrossUp(c,저항라인2) Then ExitShort(); 2. 당일첫봉에 전일 마지막 포지션과 같은 포지션으로 주문내는 식입니다 그런데 전일 매수상태인데 당일 갭하락으로 시작할시 스탑로스설정시 시작과 동시에 청산물량이 나오므로 매도주문이 나오게 됩니다 그리고 다시 전일마지막 신호인 매수신호발생 당일첫봉에 전일 마지막신호가 나오게하고 청산물량(스탑로스)은 발생하지않는 진입신호만 발생시키고자 합니다 if stime == 90000 or (stime > 90000 and stime[1] < 90000) Then{ if MarketPosition == 0 and MarketPosition(1) == 1 Then buy(); if MarketPosition == 0 and MarketPosition(1) == -1 Then sell(); } 3.아침장시작을 전일야간장 종가보다 높게(+0.5) 시작시 첫신호는 매수가능 (첫신호 매도신호 발생금지) 아침 장시작을 전일야간장 종가보다 낮게(-0.5) 시작시 첫신호는 매도가능 (첫신호 매수신호 발생금지) 감사합니다
프로필 이미지
조민철
2013-01-07
381
글번호 57846
시스템
답변완료

조건에 맞는 가격선을 긋기

현재가에서 가장 가까운 2.5배수의 가격선을 챠트에 긋고 싶습니다. 예를 들어, 현재가가 "262.90" 이라면 이 가격대 주변의 2.5배수 가격은 262.5와 265.0이 되는데 이중 262.5가 더 가까우므로 "262.5"의 가격선을 챠트에 그려주는 것입니다. 또한 가격이 변하면서 265.0 근처로 이동하면 다시 "265.0" 가격대에 수평선을 그려주는 것을 구현하고 싶습니다. 감사합니다
프로필 이미지
스로우
2013-01-05
351
글번호 57845
지표
답변완료

간단한 질문드려요 ㅜㅜ

1.변동성지수(VKOSPI)가 참조종목으로 지원되어 시스템에 활용할 수 있는 프로그램은 어떤게 있나요? 리딩스타PLUS는 안된다고 답변을 주셨는데, 그러면 가능한 프로그램이 다른게 있는지 궁금해서요.. 2.만약에 변동성지수를 활용할 수 있는 프로그램이 없을 시에, 엑셀이나 다른 데이터 형식을 (변동성지수를 수집해놓은) 리딩스타PLUS로 가져와서 시스템수식에 이용할 수 있는 방법은 있나요? 3. 아래는 수식관련 질문입니다 ... 현 2013년 1월 4일 일봉에서 a. 2009.1.1~2009.12.31 까지 모든 종가의 평균 및 표준편차 구하고 b. 2010.1.1~2010.12.31 까지 모든 종가의 평균 및 표준편차 구할 수 있나요? 이것들을 어떤 변수에 저장해 놓고 현 시점에서 활용하고 싶어서요.. (예를 들면, a에서의 평균을 2013년 1월 4일 일봉이 crossup 하면 매수) 있다면 수식을 좀 가르쳐주실 수 있을까요? ㅜ 제가 시스템을 작성하는데 위 사항들이 엄청 중요하네요 ㅜㅜ 부탁드립니다!
프로필 이미지
백호87
2013-01-05
344
글번호 57844
시스템

처음처럼22 님에 의해서 삭제되었습니다.

프로필 이미지
처음처럼22
2013-01-05
15
글번호 57843
지표
답변완료

messagelog..

안녕하세요. condition1 의 조건이 true or false인지를 알고싶습니다. If DayIndex == 0 Then Condition1 = False; Else If DayIndex > 0 and Highest( H, BarsSinceEntry) > data2(HighD(0)) Then { exitlong(""); Condition1 = True; } messagelog("condition1 %s", true or false); condition1 의 조건을 시간에 따라 나타나는지 확인하고 싶은데... 감사합니다.
프로필 이미지
파문일기
2013-01-04
372
글번호 57835
시스템
답변완료

수식 부탁드립니다

아래수식에서 추가를 부탁드립니다. 아래는 주식60분봉 매매식입니다. 매수 신호는 아래 매수조건에서 연결선물 60분봉의 분봉이 일목균형표 구름대 위에 있을 때를 추가해 매수신호가 발생하게 하고 싶습니다. 매도는 방법을 두가지 병행을 하고 싶습니다. 하나는 보유 종목의 움직임으로 아래 매도신호가 먼저 발생을 하면 전량 매도 하는 것이고 나머지 하나는 연결선물 60분봉의 분봉이 구름대를 하향 이탈할 경우 절반을 매도 하는 식을 추가하고 싶습니다. 물론 이때 보유종목의 매도신호는 아직 발생전이고 단지 시장위험을 피하기 위해 보유종목의 수량을 절반으로 줄여 놓고자 합니다. 다시말해 시장은 추세를 유지하고 종목이 하락할 경우는 전량매도, 종목이 추세를 유지하고, 시장이 하락할 경우 절반 매도에 나머지 절반은 종목이 하락해 매도신호 때 매도하는 식을 부탁드립니다. Input : period(45), Percent(30), d(2); Var : PP(0),PR1(0),PR2(0),PS1(0),PS2(0); Var : 볼밴업(0), 볼밴다운(0); 볼밴업 = BollBandUp(period,d); 볼밴다운 = BollBandDown(period,d); PP = (DayHigh(1)+DayLow(1)+DayClose(1))/3; PR1 = 2*PP-DayLow(1);//1차저항 PR2 = PP+DayHigh(1)-DayLow(1);//2차저항 PS1 = 2*PP-DayHigh(1);//1차지지 PS2 = PP-DayHigh(1)+DayLow(1);//2차지지 if (볼밴업 - 볼밴다운)/ma(c,period)*100 < Percent Then { If CrossUp(c, 볼밴업) and Volume > Average(Volume, 120) Then buy("매수"); } if MarketPosition == 1 and countif(CrossDown(c,PS2),BarsSinceEntry) >= 1 and CrossUp(c, PR1) Then ExitLong("매도");
프로필 이미지
후포
2013-01-04
417
글번호 57832
시스템
답변완료

교정부탁

수식지왕이 올린 지그재그 챠트인데 빨강에 매수 파랑에 매도 하려니 뭐가 막히네요 교정 부탁합니다 Input:상승률(1),하락률(1); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then Iff(색깔==빨강,RED,BLUE); 이중파동 = 0; #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else Iff(색깔==빨강,RED,BLUE); If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; Iff(색깔==빨강,RED,BLUE); If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else Iff(색깔==빨강,RED,BLUE); } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } #==========================================# # 마무리 #==========================================# If LastBarOnChart == 1 && 기준고Bar > 0 && 기준저Bar > 0 Then If 추세 == 상승 Then If 고[1] < 기준고 Then 색깔 = 빨강; buy(); Else If 저[1] > 기준저 Then 색깔 = 파랑; sell();
프로필 이미지
구다이전설
2013-01-04
390
글번호 57831
시스템