커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

저점가격 정렬

수고 많으십니다 문의번호 8798의 내용은 아래와 같습니다 저의 질문은 고점가격을 높은 순서가 아닌 저점가격을 낮은 순서로 정렬을 하고자하면 어떻게 해야 하나요, 아래 예에서 80, 90, 100, 110 이렇게 정렬하는 것을 의미합니다. == 아래 == 안녕하세요 예스스탁입니다. input :left(3),right(3); var : tempi2(0),tempmax(0),tempi(0),tempIndex(0); array : SH[11](0),NTHVALUE[11](0); SH[1] = SwingHigh(1,h,Left,right,dayindex()+1); SH[2] = SwingHigh(2,h,Left,right,dayindex()+1); SH[3] = SwingHigh(3,h,Left,right,dayindex()+1); SH[4] = SwingHigh(4,h,Left,right,dayindex()+1); SH[5] = SwingHigh(5,h,Left,right,dayindex()+1); SH[6] = SwingHigh(6,h,Left,right,dayindex()+1); SH[7] = SwingHigh(7,h,Left,right,dayindex()+1); SH[8] = SwingHigh(8,h,Left,right,dayindex()+1); SH[9] = SwingHigh(9,h,Left,right,dayindex()+1); SH[10] = SwingHigh(10,h,Left,right,dayindex()+1); For tempi2 = 1 to 10 { tempmax = -99999999; For tempi = 1 to 10 { if ( tempmax < SH[tempi] ) then { tempmax = SH[tempi]; tempIndex = tempi; } } NTHVALUE[tempi2] = tempmax; SH[tempIndex] = -99999999; } plot1(NTHVALUE[1]); plot2(NTHVALUE[2]); plot3(NTHVALUE[3]); plot4(NTHVALUE[4]); plot5(NTHVALUE[5]); plot6(NTHVALUE[6]); plot7(NTHVALUE[7]); plot8(NTHVALUE[8]); plot9(NTHVALUE[9]); plot10(NTHVALUE[10]); 총 당일 15개 까지 정렬하여 보여드립니다. 즐거운 하루되세요 > 불나는오리 님이 쓴 글입니다. > 제목 : 당일 고점의 가격 정렬 > SwingHigh와 같은 것으로 그때 그때 고점을 알 수 있었는데.. 이것을 당일부터 현재시점까지 고점이 생성되었을 경우의 순서(높은값부터~낮은값 순서대로)적인 값을 알고 싶습니다. 예를 들면, 오늘 시장이 시작되고 12시가 된 시점에서 SwingHigh로 나온 값들이 90, 100, 110, 80 이렇게 나왔을때... 가장 높은 값은 110 둘째는 100 셋째는 90 넷째는 80 이렇게 얻어오는 방법을 알고 싶습니다. 수고하세요.
프로필 이미지
회원
2009-04-13
1162
글번호 21666
시스템
답변완료

문의드립니당~~

매수조건이 있는대 매수조건1 이 그날 저점대비 3프로 이상 올랐을때는 매수 하지 마라는 식을 부탁들입니다 또 매수조건1 이 이전봉 20봉을 세어서 20봉중 저점 에서 3프로 이상 올랐을때는 매수하지말라느 식도 좀 부탁들입니다 감사 합니다
프로필 이미지
회원
2009-04-13
1040
글번호 21665
시스템
답변완료

수식문의 드립니다.

안녕하세요 메일로 문의드렸습니다.
프로필 이미지
fjulia
2009-04-13
946
글번호 21664
시스템
답변완료

제가 질문을 잘못드린것 같습니다.

메일 잘봤았습니다. 그런데 제가 질문내용을 약간 혼돈되게 질문한 것 같습니다.. 죄송하지만 다시 한번 질문드립니다. exitlong : c > dayopen 일때 atlimit로 종가+pricescale*2로, 단 종가는 첫번째 조건만족시 종가 10번째봉까지 주문효과 지속 exitshort : 종가가 시초가 이상일때 atlimit로 종가-pricescale*2로, 단 종가는 첫번째 조건만족시 종가 10번째봉까지 주문효과 지속 강제청산 : 11번째봉 강제청산 에서 "단 종가는 첫번째 조건만족시 종가"라는 부분이 잘못표현한것 같습니다. 첫번째 조건만족시란 진입이후(진입봉포함) 최초의 c > dayopen 조건만족시 종가입니다. 예를들면 첫번째봉이 시초가가 캡상승했지만 주문가격(NextBarOpen-PriceScale*2)를 만족하지 못하고 두번째봉이 주문가격(dayopen-pricescale*2)만족하여 매수진입한다면, exitlong의 조건만족(c > dayopen)은 진입이후(진입봉포함) 최초의 조건만족입니다. 즉 atlimit의 가격인 종가+pricescale*2의 종가는 진입이후(진입봉포함) 최초의 조건만족(c > dayopen)시 종가입니다. 즉 진입이전의 c > dayopen만족시 종가는 고려대상이 아닙니다. exitshort는 마찬가지입니다. 죄송합니다. 현재 공부중이고 함수는 모르지 생각을 글로 옮기다 보니 실수가 있었습니다. 다시 한번 메일 부탁드리겠습니다...
프로필 이미지
하기는해봤나
2009-04-13
1030
글번호 21663
시스템
답변완료

스탑트레일링으로 매매가 끝날때...

안녕하세요? 선물거래에서 1계약 매수하고 스탑트레일링으로 매매가 끝나면 다음날 이상하게 시작합니다. 마치 매매가 전날하고 이어지는것 같이 시작하네요 다른때는 모두 정상으로 시작하는데...유독 스탑트레일링으로 끝난날 다음날만 이상하게 이어지는 형식으로 매매가 시작됩니다. 이유가 무엇인지요? 감사합니다.
프로필 이미지
유미
2009-04-13
1027
글번호 21662
시스템
답변완료

추가적인 아이디어 코딩좀 부탁드립니다.

제가 사용하는 매수진입에 대한 트레일링 스탑 로직인데 추가적인 조건을 넣고 싶습니다. 도움 부탁드립니다. input : atrstop(0.2); var : posHigh(0), entry1stop(0); entry1stop = atr(9)*atrstop; If BarsSinceEntry() == 0 Then PosHigh = High; If High > PosHigh Then PosHigh = High; ExitLong("trailStop_EL%", AtStop, PosHigh - entry1stop, "진입1", 1, 0); } 1. 이 스탑전략은 14시 이전에 '( )% 이상'~'( )pt 이하'수익 구간을 동시에 만족하는 상태에서만 작동
프로필 이미지
산티아고
2009-04-13
920
글번호 21660
시스템
답변완료

골든크로스와 추세선

1.데이시스템입니다. 1000-1400 동안에 골든 크로스가 발생하면 그bar를 저장 이후 10개bar동안에 골든크로스가 유지되면 매수(종가청산),하루한번만 매매,for문을 이용할수 있으면 좋겠습니다. 2.데이시스템입니다. 9000-1000시의 저점과1100-1200의 저점을 추세선으로 연결(상향10도이상) 이후 종가가 추세선 밑으로 1포인트 이상 떨어지면 매도,종가청산
프로필 이미지
하늘땅
2009-04-13
1121
글번호 21652
시스템
답변완료

청산은 제가 생각한 것과 같이 나오지 않았습니다.

메일 잘 보았습니다. 그런데 진입은 의도한데로 되었지만 청산은 제가 의도대로 되지 않는군요. 다시 설명드리면요. 청산) exitlong : c > dayopen 일때 atlimit로 종가+pricescale*2로, 단 종가는 첫번째 조건만족시 종가 10번째봉까지 주문효과 지속 exitshort : 종가가 시초가 이상일때 atlimit로 종가-pricescale*2로, 단 종가는 첫번째 조건만족시 종가 10번째봉까지 주문효과 지속 강제청산 : 11번째봉 강제청산 예를들면 캡상승하여 150.00에 매수진입했습니다. 그날 시초가가 150.10이면 만약 첫번째 봉이 완성시 종가가 150.20 이라면 c > dayopen를 만족하므로 매수청산 주문이 150.30(atlimit로 종가+pricescale*2)로 주문을 넣었습니다. 그런데 다음봉의 고가가 150.30을 찍지 않고 하락하여 음봉으로 마무리 되고 그 다음봉의 종가가 150.50이라면 저는 최초의 c > dayopen이 되었을때의 봉의 종가를 기준으로 150.30에 계속해서 청산주문을 유지 하고 싶습니다. 그렇게 된다면 저는 150.30에 매수청산주문이 나가야 됩니다. 매도청산도 마찬가지입니다. 그런데 보내주신 청산주문식의 경우는 그런식으로 주문이 형성이 되지않는군요. if MarketPosition == 1 Then exitlong("bx",atlimit,c[BarsSinceEntry]+PriceScale*2); if MarketPosition == -1 Then ExitShort("sx",atlimit,c[BarsSinceEntry]-PriceScale*2); 좋은 하루 되시고요... 초보의 열공이라고 생각하시고 잘 부탁드립니다. 답변도 꼬옥 부탁드리겠습니다.
프로필 이미지
하기는해봤나
2009-04-13
1057
글번호 21651
시스템
답변완료

청산식 구별과 재매수식

안녕하세요? 청산을 크게 손절매 청산과 스탑트레일링 청산, 그리고 시간청산으로 나눈다고 하면... 식으로 세가지 청산을 구별할 수 있나요? 예를 들면 "if 전 청산이 손절매 청산이며 then.... buy..." "if 전 청산이 스탑트레일링 청산이면 then....buy..." "if 전 청산이 시간청산이면 then... 매매 끝" 이런식으로 사용하려고 합니다. 그리고 선물 챠트에서 청산이후 전고점 돌파시 재매수식 부탁드립니다. 감사합니다.
프로필 이미지
유미
2009-04-13
1079
글번호 21650
시스템