커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

CrossDown 함수 문의

피라미딩을 구현하고 있습니다. 그래서 CrossDown 함수를 사용하는데 급격히 가격이 변하는 날에는 신호가 발생하지 않습니다. ( 다른 날에는 신호가 제대로 뜨고 있습니다. ) CrossDown 함수를 부등호로 바꾸면 원하던 신호가 나옵니다. 첫번째 첨부이미지 CrossDown(C, 특정가격+증감) 두번째 첨부이미지 C < 특정가격+증감 무엇이 문제인가요?
프로필 이미지
달무드
2016-06-16
146
글번호 99139
시스템
답변완료

시스템식 문의 드립니다...

수고가 많으시죠...^^ 단기이평선 20일, 장기이평선 120일, RSI(14) 1 단기이평선 20일과 장기이평선 120일이 정배열일때 RSI가 30을 상승돌파할때 매수 단기이평선 20일이 장기이평선 120일을 데드크로스에 매수 청산 2 단기이평선 20일과 장기이평선 120일이 역배열일때 RSI가 70을 하락돌파할때 매도 단기이평선 20일이 장기이평선 120일을 골든크로스에 매도 청산 이상입니다...수고하세요...
프로필 이미지
우섭
2016-06-16
133
글번호 99130
시스템
답변완료

진입금지 수식 부탁드립니다.

안녕하세요, 직전 거래가 profit 이었으면 5봉 동안은 진입 하지않고 6봉 이후로 진입, 진전 거래가 loss 였으면 10봉 동안은 진입 하지않고 11봉 이후로 진입 하는 수식 부탁드립니다. (간단하게 exitprice 와 barssinceexit 활용하여 작성하였는데, 시스템의 첫번째 거래신호가 아예 발생하지 않는 오류가 발생하였었습니다.) 감사합니다.
프로필 이미지
라면의비밀
2016-06-16
122
글번호 99129
시스템
답변완료

48215재질문입니다.

안녕하세요. 수고가 많습니다. 48215재질문입니다. 첨부파일처럼 DEMA 100이평선(4번째선)과 관계없이 매수 매도 신호가 발생합니다. 다시한번 검토바랍니다. 수고하세요.
프로필 이미지
마르시아
2016-06-16
125
글번호 99127
시스템
답변완료

시스템식 수정 문의드립니다.

안녕하세요. 전에 알려주신 것을 바탕으로 응용을 해보고 있는데 잘 안되는 부분이 있어 글을 작성하게 되었습니다. 항상 감사합니다!!! 두가지 문의드립니다 1. 한번의 신고가 구간에서는 한번 매도가 이루어 지면, 다음 신고가 까지 다시 진입하지 않음. 2. 매도가의 설정 매도가 = 신고가구간에서의 최저가 + 폭 입니다. 매수가와 폭설정은 제대로 되었습니다. 허나, 신고가 구간에서 최저가를 구하는 것을 모르겠습니다. 그부분도 추가해 주시면 정말 감사하겠습니다!!!! ----------------------------------------------------------------------------------- input : P(120),시작날짜(20160101),매수1차(1000000),매수2차(1500000),매수3차(2000000); var : kk(0),V0.5(0),V1(0),V2(0),V3(0); var : V4(0),ss(0),s1(0),dayhh(0),cnt(0),ll(0); var : entry(0),Price1(0),Price2(0),Price3(0); dayhh = dayhigh(0); for cnt = 0 to P-1{ if dayhigh(cnt) > dayhh Then dayhh = dayhigh(cnt); } ##### 신고가 조건 ############ if sdate >= 시작날짜 then{ if dayhh > dayhh[1] Then{ Condition1 = true; # entry==true; } #entry 함수를 넣으면 매수를 안함 # if O*1.03 < C then{ #entry == true; # } # 지표 설정식 ## if condition1 ==true then { #지표# var1 = highest(h,p); var2 = lowest(L,p); if var1[1] < var1 Then kk = (var1+var2)/2; V0.5 = var1-((var1-kk)/5)*1; V1 = var1-((var1-kk)/5)*2; V2 = var1-((var1-kk)/5)*3; V3 = var1-((var1-kk)/5)*4; V4 = var1-((var1-kk)/5)*5; #매도폭 ss = v2-v3 ; Price1 = v2; Price2 = v3; Price3 = v4; } } if MarketPosition == 1 Then entry == false; #가격이 하락해 1차매수가격 이하이면 매수 if MarketPosition == 0 and condition1 == true Then buy("b1",atlimit,Price1,Floor(매수1차/C)); #가격이 하락해 2차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 1 and Price2 > 0 Then buy("b2",atlimit,Price2,Floor(매수2차/C)); #가격이 하락해 3차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 2 and Price3 > 0 Then buy("b3",atlimit,Price3,Floor(매수3차/C)); if MarketPosition == 1 Then{ #진입이후 최저가에서 폭만큼 상승하면 청산 ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+ss); if MaxEntries == 2 Then exitlong("본절2",atlimit,(Price1+Price2)/2); if MaxEntries == 3 Then exitlong("본절3",atlimit,Price2); }
프로필 이미지
단순점진일관
2016-06-15
110
글번호 99126
시스템
답변완료

부탁드립니다.

안녕하세요..머리숙여 감사드립니다. 1.전주.주봉고점라인 2.전주.주봉저점라인 3.전주.주봉중심라인 4.전일.일봉고점라인 5.전일.일봉저점라인 6.전일.일봉중심라인 7.전일장시작.시가라인 8.전일장마감.종가라인 9.전일야간장.고점라인 10.전일야간장.저가라인 11.전일야간장.중심라인 12.전일야간장.종가라인 13.당일장시작.시가라인 14.당일장마감.종가라인 15.당일고가라인 16.당일저가라인 17.당일고저의87.5%라인 18.당일고저의75.0%라인 19.당일고저의61.8%라인 20.당일고저의50.0%중심라인 21.당일고저의38.2%라인 22.당일고저의25.0%라인 23.당일고저의12.5%라인 수고하세요.감사합니다.꾸벅
프로필 이미지
보인다
2016-06-15
136
글번호 99125
지표
답변완료

문의드립니다

수식지왕 님의 지표 입니다 Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); // 봉이 새로 생겼으므로 봉개수 관리하는 변수들의 봉개수 값 1씩 증가 For j = 0 To 9 { barArr[j] = barArr[j] + 1; } // 고점조건 = 현재 봉의 고가가 기간최고가이면서 최고가 갱신되었을 때; // 저점조건 = 현재 봉의 저가가 기간최저가이면서 최저가 갱신되었을 때; // 고점,저점조건 만족시 현재 봉의 고[저]가를 변수에 저장 Condition1 = Highest(H,length) == H and lastHiVal <> H; Condition2 = Lowest(L,length) == L and lastLoVal <> L; If Condition1 Then lastHiVal = H; If Condition2 Then lastLoVal = L; // 전환점구분 null값으로 초기화; turnPntBit = ""; // if 고점조건, 저점조건 동시 만족시 then // if 이전 고점,저점 범위를 모두 벗어났을 때 // 전환점구분 = 고저점; // else if 이전 고점을 갱신했다면 전환점구분 = 고점; // else if 이전 저점을 갱신했다면 전환점구분 = 저점; // else if 고점조건 만족하면 전환점구분 = 고점; // else if 저점조건 만족하면 전환점구분 = 저점; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; // if 전환점구분에 값이 있을 때만 then 아래 실행, 없으면 통과 If turnPntBit <> "" Then { // if 전환점구분이 고저점이면 then // 이전 파동은 연장시키고 아래에서 새로이 파동선을 추가토록 한다. If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } // if 신규 전환점구분이 현재(전환점배열 1번째)와 다르면 then // 배열값들을 이전값으로 Move; If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } // if 전환점구분이 바뀌었거나 또는 // (전환점구분은 안바뀌었는데 // (이전 고점보다 높은 고점이 발생했거나 또는 // 이전 저점보다 낮은 저점이 발생했으면)) then If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { // 값 배열에는 고점 또는 저점을 대입; // 봉개수 배열에는 0값 대입; // 전환점 배열에 전환점구분값을 대입; valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; // if 이전봉대비 전환점구분이 바뀌었다면 추세선 새로 그리고; // else 전환점구분이 안바뀌었으면 값만 바뀐거므로 추세선 연장; If turnPntArr[1][1] <> turnPntArr[1][0] Then TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,4); TL_SetColor(TL1,GREEN); Plot1(Highest(H,length)); Plot2(Lowest(L,length)); ==================================== 위수식에서 문의를 좀드리겠습니다 추세가 딱 생기는 부분에 저점 , 고점 이라는 글씨를 추가할수있는지 궁금해서 여쭈어봅니다 즉 추세가 딱~하고 현제의 봉에 딱 되는순간 표시가되었으면합니다
프로필 이미지
곽민수
2016-06-15
275
글번호 99124
시스템

렉쳐 님에 의해서 삭제되었습니다.

프로필 이미지
렉쳐
2016-06-15
13
글번호 99123
시스템
답변완료

수식요청드립니다.

안녕하세요. 연결선물 당일청산 피라미딩진입 시스템 수식에서 피리미딩 진입횟수 합계가 5EA 이후 진입부터 input : 수익금액(700000),진입횟수(5); 1. 현재 매수 포지션에서 발생한이익이(틱말고 금액기준) 70만원 시스템 합계수익 이후부터 최고수익금액에서 12% 밀리면 매수 익절 추적청산 2. 현재 매도 포지션에서 발생한이익이(틱말고 금액기준) 70만원 시스템 합계수익 이후부터 최고수익금액에서 12% 밀리면 매도 익절 추적청산 감사합니다.
프로필 이미지
dandy
2016-06-16
102
글번호 99122
시스템