커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

신고가 돌파 매매 수식 요청드리요

수식 의도 1. 해외 선물 / 쿠루드 오일 5분봉 매매 조건1: 200봉안에서 신고가 + 거래량 3000이상 매수진입: 조건1을 만족한 봉 다음에 3봉안에 5분봉이동평균선에 터치시 매수 진입 (예를 들어 조건1을 만족한후 4봉이후에 5분봉이평라인에 터치해도 진입 안되어야함) 청산 : 진입후 200틱 도달후 수익 청산 / 100틱 손실시 손절 요청건: 하루에 한번만 매수 진입하게 진입 제한 요청합니다. 그리고 조건1에 부합되는 봉이 발생하면 3봉안에 매수 진입이 되지 않더라도 매수 진입 한 것으로 인지되어 같은날 다른 시간에 조건1에 봉이 발생하더라도 진입하지 않게 요청 ==> 결국 매수진입여부와 상관없이 조건1의 봉이 발생시 최초 발생봉에서만 활성화 되게 요청합니다. (당일에 한정함/ 다음날 7시부터는 reset )
프로필 이미지
이형지
2020-05-30
2163
글번호 139390
시스템
답변완료

Data2에 대한 식으로...

부탁드립니다. 감사합니다.
프로필 이미지
매버릭
2020-05-30
1919
글번호 139389
지표

파동홀릭 님에 의해서 삭제되었습니다.

프로필 이미지
파동홀릭
2020-05-30
0
글번호 139388
지표
답변완료

이전봉 참조와 이후봉 참조

안녕하세요. 수고하십니다! 차트의 전체 봉 갯수가 5000개라고 가정을 할 때, 1. 100번째 봉에서 계산중 일때, 100번째 봉에서 종가를 나타내는 수식은 Close[0] 2. 100번째 봉에서 계산중 일때, 100번째 봉에서 5봉 이전 봉(95번째)의 종가 수식은 Close[5] 3. 100번째 봉에서 계산중 일때, 100번째 봉에서 5봉 이후 봉(105번째)의 종가 수식은Close[-5] 라고 생각되는데, 1, 2, 3의 종가에 대한 수식이 맞는지 알고 싶읍니다. 부탁드립니다. 수고하세요
프로필 이미지
닉크네임
2020-05-30
1944
글번호 139387
지표
답변완료

안녕하세요?

Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If value >= 3 Then { Sell("매도"); } 위 기준에 아래 것 을 합성 해 주시길 부탁 드립니다. if H[1] == highest(H,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] < C[1] Then exitlong("매수분청산"); if L[1] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분청산"); if H[2] == highest(H,5)[1] and H[2] > max(C[2],O[2]) and V[2] >= 5000 and C[0] < C[2] Then exitlong("매수분올청산"); if L[2] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분올청산"); if L[1]==LOWEST(L,5) and C[1]<O[1] and C[1]>L[1] and O[0]>L[0] and C[1]==O[0] and L[1]==L[0] and C[0]>O[0] and v>3000 Then buy("집게발매수"); if H[1]==highest(H,5) and C[1]>O[1] and C[1]<H[1] and O[0]<H[0] and C[1]==O[0] and H[1]==H[0] and C[0]<O[0] and v > 3000 Then sell("집게발매도"); Input : length(10),종가사용여부(0),수치표시(0),표시(0); input : 추세두께(1),추세상승색(red),추세하락색(blue); input : 고점연결두께(2),고점연결색상(LGREEN); input : 저점연결두께(2),저점연결색상(MAGENTA); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL11(0),TL12(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세상승색); if 저[1,1] > 저[2,1] Then { if 표시 == 0 Then TL_Delete(TL11); TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,저점연결색상); TL_SetSize(TL11,저점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 1); } buy("추세매수"); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세하락색); if 고[1,1] < 고[2,1] Then { if 표시 == 0 Then TL_Delete(TL12); TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,고점연결색상); TL_SetSize(TL12,고점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 0); } sell("추세매도"); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "저점"; }
프로필 이미지
시그너스
2020-05-31
2008
글번호 139386
시스템
답변완료

질문 올립니다.

안녕하세요. 늘 감사드립니다. 볼린저 밴드에서, 가격((완성봉의 C라야만 하는 것이 아니라, H든, L이든 여하튼 어떤 가격일지라도))이 두 봉 이상 연속으로 2.5*표준편차((2.5는 외부변수))의 위에 있다가, 안으로 내려 들어 올 때 그 순간 ((즉 봉 완성과 상관 없이)) 즉시 매도, 아래에 있다가 안으로 올라 들어 올 때 그 순간 ((즉 봉 완성과 상관 없이)) 즉시 매수, 매도의 청산은, 가격이 아래 하단 밴드((이 때는 2((외부변수))*표준편차인 보통 볼밴 하단))를 치는 순간 ((봉완성과 상관없이)) 즉시 청산, 매수의 청산은, 가격이 위 상단 밴드((이 때는 2((외부변수))*표준편차인 보통 볼밴 상단))를 치는 순간 ((봉완성과 상관없이)) 즉시 청산, 하는 식 부탁 드립니다. 대단히 감사합니다!
프로필 이미지
즐겁게
2020-05-30
1851
글번호 139385
시스템

cs아빠 님에 의해서 삭제되었습니다.

프로필 이미지
cs아빠
2020-05-30
23
글번호 139384
종목검색

cs아빠 님에 의해서 삭제되었습니다.

프로필 이미지
cs아빠
2020-05-29
1
글번호 139383
종목검색
답변완료

MarketPosition 질문 드립니다.

안녕하세요. 한 종목에 2개의 전략을 따로 사용한다고 가정해보면, System 1 에서 해당 종목에 매수 포지션을 잡고 있다고 하면, System 2 상에서는 아무 조건이 없으면, MarketPosition == 0 가 되는게 맞겠죠 ?? 즉 같은 종목이라도 system 별로 따로 position 을 보는게 맞나요 ??
프로필 이미지
hiphepho
2020-05-29
2164
글번호 139382
시스템