커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

41016관련입니다.

41016의 답변에서 sell부분을 buy반대로 하여 더하니 잘 인나오네요. 매도 sell도 부탁드립니다. 2. 시스템 input : Left(3),Right(2); var : T(0); #고점발생 if SwingHigh(1,H,3,3,7) != -1 Then{ var11 = H[3]; //최근고점 var12 = var11[1]; //전고점 var13 = var12[1]; //전전고점 T = 1; } #저점발생 if SwingLow(1,H,3,3,7) != -1 Then{ var21 = L[3]; //최근 저점 var22 = var21[1]; //전저점 var23 = var22[1]; //전전저점 T = -1; } # 최근 저점발생 if T == -1 and var11 < var12 and var12 > 0 And #최근고점이 전고점보다 작음 var21 > var22 and var22 > var23 and var23 > 0 And #최근저점이 전고점보다 크고 전고점은 전전고점보다 큼 var21 < var11 And #최근 저점이 최근고점보다 작음 var11 > var22 and #최근 고점이 전저점보다 큼 var22 < var12 and #전저점이 전고점보다 작음 var12 > var23 and #전고점이 전전저점보다 큼 C > var11 and #현재봉 종가가 직전고점보다 큼 V >= ma(v,5)[1]*1.5 Then #거래량이 직전 5개봉 거래량대비 1.5배 이상 큼 buy();
프로필 이미지
예시
2015-04-19
147
글번호 85165
시스템
답변완료

수식요청드립니다.

수식요청드립니다. 선물 옵션 오버형 차트에서 기존 수식의 Buy, Sell 발생 후, (1). 완성봉위치, 60이평기준(외부변수), 이평기울기(외부변수) -> 3가지조건 충족 기존수식 매수 발생 후 - 완성봉의 고가가 60 이평위에 있고, 이평기울기 -1PT이하 하락전에는 매수신호만 유효 -> 반대 매도신호 발생 제한 금지 기존수식 매도 발생 후 - 완성봉의 저가가 60 이평아래에 있고, 이평기울기 +1PT이상 상승전에는 매도신호만 유효 -> 반대 매수신호 발생 제한 금지 (2). 20이평(외부변수)과, 60이평기준(외부변수), 이평기울기(외부변수) -> 3가지조건 충족 기존수식 매수 발생 후 - 20이평이, 60이평위에 있고, 이평기울기 -1PT이하 하락전에는 매수신호만 유효 -> 반대 매도신호 발생 제한 금지 기존수식 매도 발생 후 - 20이평이, 60이평아래에 있고, 이평기울기 +1PT이상 상승전에는 매도신호만 유효 -> 반대 매수신호 발생 제한 금지 (3). 완성봉위치, 20이평(외부변수)과 60이평기준(외부변수), 이평기울기(외부변수) -> 4가지조건 충족 기존수식 매수 발생 후 - 완성봉의 고가와, 20이평이, 60이평위에 있고, 이평기울기 -1PT이하 하락전에는 매수신호만 유효 -> 반대 매도신호 발생 제한 금지 기존수식 매도 발생 후 - 완성봉의 저가와, 20이평이, 60이평아래에 있고, 이평기울기 +1PT이상 상승전에는 매도신호만 유효 ->반대 매수신호 발생 제한 금지 1.=> (1). (2). (3).에서 매도 매수 신호 발생후, 조건이 충족하는 차트, 시간, 기간, 동안에는 기존수식의 반대 신호을 제한 금지, 조건이 반대로 충족할 경우 기존수식 신호로 스위칭, 계속해서 반복, 기존 신호만 사용하는 수식요청 2. => (1).(2).(3).조건이 만족하는 시간동안 반대 신호발생시 다음봉에 추가 신호로 스위칭 하고 반대조건 충족시 본신호로 복귀하는 계속해서 반복 수식요청 기존수식에 추가하여 사용 가능하게 2가지로 작성 검증 해주시고, 수식 설명 주석 부탁 드립니다. 항상 감사 합니다.
프로필 이미지
dandy
2015-04-20
131
글번호 85164
시스템
답변완료

질의 합니다..

<출처> http://wmh55.hol.es/ 주가의 마지막 봉으로 부터 20개의 봉만 고가와 저가을 연결한 구역을 색칠 하는방법을 알려 주세요<br>
프로필 이미지
winstock
2015-04-19
185
글번호 85163
지표

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

프로필 이미지
회원
2015-04-19
0
글번호 85162
지표

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

프로필 이미지
회원
2015-04-19
45
글번호 85161
지표
답변완료

시스템 수식 작성 부탁드립니다.

매수조건: 수량으로 진입 30분 단위로 분할매수 090000보다 093000의 주가가 낮으면 매수, 높으면 매수 안함 093000보다 100000의 주가가 낮으면 매수, 높으면 매수 안함 100000보다 103000의 주가가 낮으면 매수, 높으면 매수 안함 103000보다 110000의 주가가 낮으면 매수, 높으면 매수 안함 110000보다 113000의 주가가 낮으면 매수, 높으면 매수 안함 113000보다 120000의 주가가 낮으면 매수, 높으면 매수 안함 120000보다 123000의 주가가 낮으면 매수, 높으면 매수 안함 123000보다 130000의 주가가 낮으면 매수, 높으면 매수 안함 130000보다 133000의 주가가 낮으면 매수, 높으면 매수 안함 133000보다 140000의 주가가 낮으면 매수, 높으면 매수 안함 140000보다 143000의 주가가 낮으면 매수, 높으면 매수 안함 143000보다 144800의 주가가 낮으면 매수, 높으면 매수 안함 이때 090000에서는 거래 안함. 매도조건: 평단가 보다 +7% 상승시 전량매도
프로필 이미지
회원
2015-04-18
119
글번호 85160
시스템
답변완료

동시호가 청산식

장종료 동시호가에 청산하려고 합니다. 3시 5분이 지나서 주문이 나가도록 하면 동시호가에 접수되어 청산이 될까요? 아래와 같이 시스템식을 적용하면 됩니까? SetStopEndofday(150501);
프로필 이미지
몸통공격
2015-04-18
113
글번호 85159
시스템
답변완료

수식 정정 부탁합니다.

아랫 부분은 저번에 받은 답변입니다. 아래 두 식에서 진입 조건은 그대로 두고 청산 조건을 "진입 봉 종가 청산" 과 "익절","손절"만 두고 나머지는 지워 주십시요. 질문 하나 전략 실행 차트에서 캔들에 옆으로 누운 삼각형 두개는 신호가와 체결가를 나타내는 겁니까? 질문 둘 캔들에 "s""b 0" "빨간 화살표와 파란 화살표"등의 뜻은 무엇인지요? 질문 셋 10분 봉을 사용하여 "봉시가 대비 10틱 상승시 진입" 전략에서 청산을 "5틱 손실시 청산" 으로했을때 만약 손실청산 되었다면 아직 봉이 바뀌지 않는한 같은봉에서 진입과 청산이 10분봉이 바뀔때까지 계속 발생 되나요? 질문 넷 아래 함수에서 손절틱수와 익절틱수의 위치가 서로 바뀌지 않았는지요? SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 부탁 드립니다. 안녕하세요 예스스탁입니다. 1번식은 한봉에 매수와 매도 한번씩 진입합니다. 매수나 매도중 하나만 진입하기 위해서는 수식에서 지정한 가격 터치시 진입은 atstop이나 atlimit타입을 사용하는데 모두 전봉에서 가격을 셋팅해 현재봉시세 조건만족시에 신호가 발생합니다. 그러므로 매수나 매도중 하나만 진입하기 위해서는 2개가 동시에 충족되지 않는 조건을 넣어야 합니다. 2번식은 시가가 직전봉 종가대비 같거나 높으면 매수쪽으로만 시가가 지전봉 종가대비 아래면 매도쪽으로만 진입이 발생하게 작성한 식입니다. 이용에 참고하시기 바랍니다. 1. input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } ExitLong("매수진입봉종가청산"); ExitShort("매도진입봉종가청산"); SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 2. input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 and NextBarOpen >= C Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 and NextBarOpen < C then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } ExitLong("매수진입봉종가청산"); ExitShort("매도진입봉종가청산"); SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 > 재정적자유 님이 쓴 글입니다. > 제목 : 진입 봉 종가 청산 부탁합니다. > 1. input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 2번 input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 and NextBarOpen >= C Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 and NextBarOpen < C then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop);
프로필 이미지
재정적자유
2015-04-19
114
글번호 85158
시스템

태양같이 님에 의해서 삭제되었습니다.

프로필 이미지
태양같이
2015-04-18
23
글번호 85157
지표