커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의드립니다.

1.진입가 . 전일 주간장 12:15 ~ 15:45 사이에서의 고가,저가와 야간장에서의 저가, 고가 이상 4개의 가격을 비교하여 제일 낮은 가격과 제일 높은 가격의 평균 값을 진입가로 한다. (* 장시작 봉챠트를 정의 해줘야 하는지 모르겠습니다. 필요하다면 최소분봉(1분봉)으로 부탁드립니다.) 2. 매수진입 . 진입가가 전일종가 대비 더 높을 경우 진입가로 2계약 매수 진입 한다. 3. 매도진입 . 진입가가 전일종가 대비 더 낮을 경우 진입가로 2계약 매도 진입 한다. 4. 청산 . 진입 후 1포인트 이익 발생되면 1계약 이익 청산한다. 진입 후 2포인트 이익 발생되면 나머지 한계약 이익 청산한다. . 진입 후 1포인트 이익달성 후 다시 진입가에 도달하면 스탑청산 . 진입 후 1포인트 손실 발생하면 2계약 손절 청산 5. 기타사항 - 13:00 이후에는 진입 금지 - 14:30 보유포지션 강제청산 잘 부탁드립니다. 감사합니다.
프로필 이미지
하모
2016-09-09
150
글번호 101858
시스템
답변완료

고저점

다음의 조건에 맞는 수식을 부탁합니다. var1 = ma(c,p1); var2 = ma(c,p2); 이라면 1. var1 의 직전 저점 보다 var1 의 현재 값이 크고 ( var1이 저점을 지나 상향중이고 ) 종가가 var2 를 crossup 하면 매수 2. var1 의 직전 고점 보다 var1 의 현재 값이 작고 ( var1이 고점을 지나 하향중이고 ) 종가가 var2 를 crossdown 하면 매도
프로필 이미지
너무조아
2016-09-11
141
글번호 101857
시스템
답변완료

수식문의드려요

1.input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4); var : HH(0),LL(0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ HH = H; LL = L; } if H > HH Then HH = H; if L < LL Then LL = L; var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); plot1(HH,"H"); plot2(var1,"23.6"); plot3(var2,"38.2"); plot4(var3,"50.0"); plot5(var4,"61.8"); plot6(var5,"76.4"); plot7(LL,"L"); 해당주의피보나치식인데요 단,월요일은 저번주 것을 포함한 피보나치로는 안되나요?? 월요일이 초기화가되는데 화요일 부터는 월화를 포함한 피보나치로 시작하게 하고싶습니다. 2. input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4); var : HH(0),LL(0); if date > date[1]+30 Then{ HH = H; LL = L; } if H > HH Then HH = H; if L < LL Then LL = L; var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); plot1(HH,"H"); plot2(var1,"23.6"); plot3(var2,"38.2"); plot4(var3,"50.0"); plot5(var4,"61.8"); plot6(var5,"76.4"); plot7(LL,"L"); 이건월이고요 첫주만 저번달 이어서 가능하게 부탁드립니다. 3. input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4); var : HH(0),LL(0); if date > date[1]+1000 Then{ HH = H; LL = L; } if H > HH Then HH = H; if L < LL Then LL = L; var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); plot1(HH,"H"); plot2(var1,"23.6"); plot3(var2,"38.2"); plot4(var3,"50.0"); plot5(var4,"61.8"); plot6(var5,"76.4"); plot7(LL,"L"); 이건 년도고요 첫달만 이어지게 부탁드립니다.
프로필 이미지
렉쳐
2016-09-10
152
글번호 101856
지표
답변완료

수식 부탁드립니다

안녕하세요? 시스템 수식 부탁 드립니다. 1. 진입1에 대한 조건 가. 매수주문 - 전일 종가 대비 시초가가 1포인트 이상 높을 경우 시초가로 매수 주문 실행 나, 매도주문 - 전일 종가 대비 시초가가 1포인트 이상 낮을 경우 시초가로 매도 주문 실행 2. 진입2에 대한 조건 가. 기준가의 정의 - 전일 종가, 10분 첫봉의 저가, 고가, 세 개의 가격중, 최고점과 최저점의 두 값의 평균 값을 기준가로 한다. 나. 진입 주문 - 기준가에 대비 현재가가 더 높을 경우 기준가 매수 주문 실행 - 기준가에 대비 현재가가 더 낮을 경우 기준가 매도 주문 실행 다. 재진입 주문 . 매수 재진입 ; 청산 후 진입가 대비 현재가가 더 높으면 기준가로 매수 주문 실행 . 매도 재진입 ; 청산 후 진입가 대비 현재가가 더 낮으면 기준가로 매도 주문 실행 3. 청산규칙 - 진입 후 1.0포인트 이익 발생되면 이익 청산 - 진입 후 0.5포인트 손실 발생하면 손절 청산 - 진입 후 0.7포인트 이익달성 후엔 진입가 스탑청산 4. 공통사항 - 진입1과 진입2에 대한 중복진입금지(어느 한쪽이 진입 되어 있으면 다른 한쪽이 진입조 건이 되어도 주문금지.) - 일 진입횟수 3회로 제한 - 당일 종가 청산 PS. 위 전략이 예스트레이드만으로 구현하기 힘들다면 스팟전략까지 추가하여 수식작성 부탁드립니다. 감사합니다^^
프로필 이미지
th트레이드
2016-09-11
157
글번호 101855
시스템
답변완료

시스템 질문드립니다.

시스템 매매신호 질문드립니다. 매수신호 MACD 12,26,9 기준선 이상 Stochastics slow %K 12,5 > %D 5 MACD OSC 12,26,9 0봉전>1봉전 RSI 50 이상 매도신호 MACD 12,26,9 기준선 이하 Stochastics slow %K 12,5 < %D 5 MACD OSC 12,26,9 0봉전<1봉전 RSI 50 이하
프로필 이미지
라희아빠
2016-09-09
141
글번호 101840
시스템
답변완료

문의

yeslang 아래의 스크립트 파일을 폴더 구조로 만들어 주시면 안되나요?? 만약 그룹을 10개 만들고 각각 그룹마다 파일을 10개씩 넣어둘때(총 100개) 하드디스크를 옮기거나 뭐 이런 저런 이유로 다시 복원하려면 폴더구조가 똑같이 이전이 되지 않아 그룹 10개를 똑같이 손으로 만들고 스크립트 100개 파일을 일일이 마우스로 찍어서 옮길때가 몇번 있었습니다 이리저리 계속 수정하다보면 파일 100개가 허풍이 아니라는거 다 경험했을텐데 아예 처음부터 파일구조를 폴더식으로 하고 편집기에서 그대로 읽어오면 이런 불편은 없을것으로 생각합니다
프로필 이미지
gagamel
2016-09-09
201
글번호 101838
지표
답변완료

문의드립니다.

안녕하세요~!! 수고가 많습니다. 최근 20일 중에서 양봉거래량이 제일 많은 봉을 찾아서 그 봉의 고가와 저가를 구하고 현재 봉이 그 저가와 고가 안에 있는 종목을 검색하고 싶습니다. 부탁드립니다. 수고하세요~~^^
프로필 이미지
대호
2016-09-09
124
글번호 101835
종목검색
답변완료

수식 부탁 드립니다.

안녕하세요. 당일청산, 연결선물, 분봉, 틱봉, 사용 시스템에서 당일 시초가를 수신할때 -> 전일종가보다 시초가가 높으면 즉시 매수 진입 -> 전일종가보다 시초가가 낮으면 즉시 매도 진입 하고 2016년 7월 31일 이전 까지의 전일종가 기준 시간은 15:00 이고 2016년 8월 01일 부터의 전일종가 기준 시간은 15:30 으로 수식 부탁 드립니다. 수고하세요..꾸벅
프로필 이미지
dandy
2016-09-09
149
글번호 101834
시스템
답변완료

수정 부탁드립니다.

아래 수식에서 시스템신호에 의해 매수,매도 진입후 청산되는 신호에 동시에 다시 매도,매수 진입 신호가 떨어지는 경우에는 청산만 되고 진입은 되지 않도록 시스템신호 수정 부탁드립니다. input:b_time1(000000),e_time1(240000), stoK_p11(150),stoK_p12(50),stoK_p13(10), ma_p11(10),ma_p12(5),ma_p13(10),ma_p14(100), ma_p15(10),ma_p16(20),ma_p17(15),상단(90),하단(10),익절틱수(10); Var:stoK(0),stoD(0),TRIXv(0),TRIXsig(0),T(0); var:ma11(0),ma12(0),ma13(0),ma15(0),ma16(0),ma17(0); var:j(0),매수강도(0),매도강도(0); var : ma_P14_1(0),ma_P14_2(0),ma_P14_3(0),ma_P14_4(0),ma_P14_5(0); var : ma_P14_6(0),ma_P14_7(0),ma_P14_8(0),ma_P14_9(0),ma_P14_10(0),T2(0); Array:ma14[10](0),추세[10](""); ma11=ma(C,ma_P11); ma12=ma(C,ma_P12); ma13=ma(C,ma_P13); ma15=ma(C,ma_P15); ma16=ma(C,ma_P16); ma17=ma(C,ma_P17); ma_P14_1=ma_P14+1; ma_P14_2=ma_P14+2; ma_P14_3=ma_P14+3; ma_P14_4=ma_P14+4; ma_P14_5=ma_P14+5; ma_P14_6=ma_P14+6; ma_P14_7=ma_P14+7; ma_P14_8=ma_P14+8; ma_P14_9=ma_P14+9; ma_P14_10=ma_P14+10; ma14[1] = ma(C,ma_p14_1); ma14[2] = ma(C,ma_p14_2); ma14[3] = ma(C,ma_p14_3); ma14[4] = ma(C,ma_p14_4); ma14[5] = ma(C,ma_p14_5); ma14[6] = ma(C,ma_p14_6); ma14[7] = ma(C,ma_p14_7); ma14[8] = ma(C,ma_p14_8); ma14[9] = ma(C,ma_p14_9); ma14[10] = ma(C,ma_p14_10); 매수강도=0; 매도강도=0; If b_time1 <= Time and Time <= e_time1 Then { For j=1 TO 10 { If countif(ma11[1]<ma11,1)==1 and (ma12[1]<=ma13[1] and ma12>ma13) and countif(ma14[j][1]<ma14[j],1)==1 and countif(ma15[1]<ma15,1)==1 and countif(ma16[1]<ma16,1)==1 and countif(ma17[1]<ma17,1)==1 Then { 추세[j]="매수추세"; } If countif(ma11[1]>ma11,1)==1 and(ma12[1]>=ma13[1] and ma12<ma13) and countif(ma14[j][1]>ma14[j],1)==1 and countif(ma15[1]>ma15,1)==1 and countif(ma16[1]>ma16,1)==1 and countif(ma17[1]>ma17,1)==1 Then { 추세[j] = "매도추세"; } If 추세[j] == "매수추세" Then 매수강도 = 매수강도 +1; If 추세[j] == "매도추세" Then 매도강도 = 매도강도 +1; } If 매수강도 == 10 Then 추세[0] = "매수추세"; If 매도강도 == 10 Then 추세[0] = "매도추세"; T2 = iff(추세[0]=="매수추세",100,iff(추세[0]=="매도추세",-100,0)); stoK = StochasticsK(stoK_p11,stoK_p12); stoD = StochasticsD(stoK_p11,stoK_p12,stoK_p13); If countif(ma(C,ma_p11)[1] < ma(C,ma_p11),1) == 1 and (ma(C,ma_p12)[1] <= ma(C,ma_p13)[1] and ma(C,ma_p12) > ma(C,ma_p13)) and countif(ma(C,ma_p14)[1] < ma(C,ma_p14),1) == 1 and countif(ma(C,ma_p15)[1] < ma(C,ma_p15),1) == 1 and countif(ma(C,ma_p16)[1] < ma(C,ma_p16),1) == 1 and countif(ma(C,ma_p17)[1] < ma(C,ma_p17),1) == 1 Then { T = 1; } If countif(ma(C,ma_p11)[1] > ma(C,ma_p11),1) == 1 and (ma(C,ma_p12)[1] >= ma(C,ma_p13)[1] and ma(C,ma_p12) < ma(C,ma_p13)) and countif(ma(C,ma_p14)[1] > ma(C,ma_p14),1) == 1 and countif(ma(C,ma_p15)[1] > ma(C,ma_p15),1) == 1 and countif(ma(C,ma_p16)[1] > ma(C,ma_p16),1) == 1 and countif(ma(C,ma_p17)[1] > ma(C,ma_p17),1) == 1 Then { T = -1; } if T == 1 and CrossDown(stok,하단) Then buy("매수",AtMarket); if MarketPosition == 1 Then { if crossup(stok,상단) Then exitlong("매수1",AtMarket); if T == -1 and T2 == -100 Then exitlong("1번2번추세전환(-)",AtMarket); if T == 1 and T2 == -100 Then exitlong("2번추세전환(-)",atlimit,EntryPrice+PriceScale*2); } if T == -1 and Crossup(stok,상단) Then sell("매도",AtMarket); if MarketPosition == -1 Then { if Crossdown(stok,하단) Then ExitShort("매도1",AtMarket); if T == 1 and T2 == 100 Then exitShort("1번2번추세전환(+)",AtMarket); if T == -1 and T2 == 100 Then exitShort("2번추세전환(+)",Atlimit,EntryPrice-PriceScale*2); } } SetStopProfittarget(PriceScale*익절틱수,PointStop);
프로필 이미지
미완
2016-09-09
143
글번호 101828
시스템