커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

죄송합니다..ㅠㅠ한번만더..ㅠㅠ

첫매수는 보유금액의 1/8를 볼린저밴드 하단선을 상향돌파할때 매수 청산은 볼린저밴드 상단선 닿을때 추가매수는 평균가에서 -10%될때마다 or 다시 하단선밑으로 떨어졌다가 상향돌파할때 추가매수금액은 첫추가매수는 1/8 두번째추가매수는 2/8 세번째추가매수는 4/8
프로필 이미지
대박내자잉
2012-03-29
370
글번호 49507
시스템
답변완료

문의드립니다....

아래는 어떤 분과 예스스탁이 풀이한 중심가격이라는 것입니다... 좋은 방법인것 같아 쓰고 싶지만 잘 알수가 없어서요...ㅠㅠㅠ 지표로 쓸수 있게끔 해주실수 있나요?... 항상 수고해주시는 마음...감사드립니다...ㅎㅎ -------------------------------------- 안녕하세요 예스스탁입니다. 첨부된 파일을 yeslang 폴더안의 functions 폴더에 다운 하신 후 사용하시면 됩니다. 올려주신 수식내 중심가격이 배열변수입니다. 외부변수로 각배열의 값을 지정할 수 있게 작성했습니다. 아래와 같이 사용하시면 됩니다. plot1(중심가격(0)); plot2(중심가격(1)); plot3(중심가격(2)); 즐거운 하루되세요 > 파문일기 님이 쓴 글입니다. > 제목 : 중심가격 > 다음의 중심가격 지표식을 사용자함수로 만들어 사용하고 싶습니다 감사합니다 Var:j(0),행번호(0),단위가격(0),추가행(0),알파벳(0),최대개수(0),총개수(0),봉개수(0), 추정거래량(0),cnt(0),중앙가격(0),최대행(0),중심행(0),상위개수(0), 하위개수(0),시초범위상(0),시초범위하(0),가치영역상한(0),가치영역하한(0),누적개수(0), 위꼬리상한(0),위꼬리하한(0),아래꼬리상한(0),아래꼬리하한(0); Array:가격대[100](0),거래량[100](0),개수[100](0),프로파일[100](0), 가치영역상[10](0),가치영역하[10](0); 단위가격 = 2 * _TickValue(); if DayIndex()==0 then { //날짜 변경시점에 for j = 8 downto 0 { 중심가격[j+1] = 중심가격[j]; //전일 중심가격과 가치영역상[j+1] = 가치영역상[j]; //전일 가치영역 관리 가치영역하[j+1] = 가치영역하[j]; } for 행번호 = 0 to 99 { //0값으로 초기화 거래량[행번호] = 0; 개수[행번호] = 0; 프로파일[행번호] = 0; } 최대개수 = 0; 총개수 = 0; 시초범위상 = 0; //장 개시 후 1시간내의 가격범위 시초범위하 = 0; 가격대[0] = H + 단위가격 * 20; //20호가의 여유를 둠 for 행번호 = 0 to 98 { 가격대[행번호+1] = 가격대[행번호] - 단위가격; //가격대 배열에 가격 대입 } } if 가격대[0] <= H then { //고가가 가격대 배열 이상이 되면 추가행 = ceiling((H-가격대[0])/단위가격) + 5; //고가에 5호가 여유를 더 두어 재설정 for 행번호 = (99 - 추가행) downto 0 { 가격대[행번호+추가행] = 가격대[행번호]; //추가행만큼 뒤로 옮긴다 거래량[행번호+추가행] = 거래량[행번호]; 개수[행번호+추가행] = 개수[행번호]; 프로파일[행번호+추가행] = 프로파일[행번호]; } 가격대[0] = 가격대[0] + 단위가격 * 추가행; //추가된 행에 가격 재설정 for 행번호 = 0 to (추가행-1) { 가격대[행번호+1] = 가격대[행번호] - 단위가격; } for 행번호 = 0 to 추가행 { //추가된 행의 나머지 항목은 거래량[행번호] = 0; //0값으로 초기화 개수[행번호] = 0; 프로파일[행번호] = 0; } 중심행 = 중심행 + 추가행; //중심가격의 행번호도 뒤로 밀린다 } 알파벳 = DayIndex() + 1; //알파벳 대신 숫자 사용 중앙가격 = (DayHigh()+Daylow())/2; //전체가격폭의 중앙 if DayIndex() == 60/BarInterval-1 then { //장 개시 후 1시간내의 가격범위 시초범위상 = DayHigh(); 시초범위하 = DayLow(); } cnt = 0; for 행번호 = 0 to 99 { if L <= 가격대[행번호] and 가격대[행번호] <= H then { //현재 봉 가격대가 몇가격대에 cnt = cnt + 1; //걸쳐져 있는지 계산 } } 추정거래량 = V/cnt; //가격대별 배분할 거래량 for 행번호 = 0 to 99 { if L <= 가격대[행번호] and 가격대[행번호] <= H then { 거래량[행번호] = 거래량[행번호] + 추정거래량; 개수[행번호] = 개수[행번호] + 1; 프로파일[행번호] = 알파벳; 총개수 = 총개수 + 1; if 최대개수 < 개수[행번호] then { //신규 최빈값 나왔을 때 최대개수 = 개수[행번호]; 중심행 = 행번호; } else if 최대개수 == 개수[행번호] then { //최빈값과 동일하다면 if 거래량[중심행] < 거래량[행번호] then //거래량 많은 가격대를 중심행 = 행번호; else if 거래량[중심행] == 거래량[행번호] and //거래량도 동일하면 abs(중앙가격-가격대[중심행]) > //전체가격폭 중앙에 abs(중앙가격-가격대[행번호]) then //가까운 가격으로 중심행 = 행번호; } } } //알파벳 개수가 가장 많은 가격 봉개수 = 0; //단봉, 쌍봉, 삼봉 등 패턴파악용 for 행번호 = 1 to 99 { if 개수[행번호-1] < 개수[행번호] then { //개수가 올라가면 if 봉개수 == 0 then 봉개수 = 0.3; //x.3 else if 봉개수 == 1 then 봉개수 = 1.3; else if 봉개수 == 2 then 봉개수 = 2.3; else if 봉개수 == 3 then 봉개수 = 3.3; else if 봉개수 == 4 then 봉개수 = 4.3; } if 최대개수 * 0.8 < 개수[행번호] then { //꼭지에 도달하면 if 봉개수 == 0.3 then 봉개수 = 0.7; //x.7 else if 봉개수 == 1.3 then 봉개수 = 1.7; //낮은 봉은 배제하려고 else if 봉개수 == 2.3 then 봉개수 = 2.7; //최대개수의 80% 수준으로 설정 else if 봉개수 == 3.3 then 봉개수 = 3.7; else if 봉개수 == 4.3 then 봉개수 = 4.7; } if 개수[행번호-1] > 개수[행번호] then { //개수가 떨어지는데 if 봉개수 == 0.7 then 봉개수 = 1; //꼭지 찍고 내려오는 것은 else if 봉개수 == 1.7 then 봉개수 = 2; //1.0 else if 봉개수 == 2.7 then 봉개수 = 3; else if 봉개수 == 3.7 then 봉개수 = 4; else if 봉개수 == 4.7 then 봉개수 = 5; else if 봉개수 == 0.3 then 봉개수 = 0; //꼭지 못찍고 내려오면 else if 봉개수 == 1.3 then 봉개수 = 1; //원위치 else if 봉개수 == 2.3 then 봉개수 = 2; else if 봉개수 == 3.3 then 봉개수 = 3; else if 봉개수 == 4.3 then 봉개수 = 4; } } 중심가격 = 가격대[중심행];
프로필 이미지
금여록
2012-03-29
565
글번호 49506
지표
답변완료

전일 매매 참조 방법

수식 좀 부탁드립니다. 1. 어제 매매를 오늘 시스템 적용 시 참조가 가능한지요? (예) 조건식 : 어제 매매가 2번 있었고, 매매손익의 합이 1P 이상인 경우의 표현 2. 현 포지션 진입 이후 최고가를 기록한 봉의 고가 및 저가 그리고 그 봉의 시간(time) 3. 직전 봉이 현재 포지션 진입 이후 가장 큰 양봉인 조건과 그 봉의 종가 4. 현재 포지션의 최고 이익 및 손실과 오늘 중 진입 순번(예: 3번째 진입) 5. 한가지 더.......선물 미결제 약정 데이타 이용이 가능한지요? 가능하다면 미결제약정의 증감 표현식 한꺼번에 너무 많은 질문을 드렸나요? ㅋ 감사합니다.
프로필 이미지
쉬어가자
2012-03-29
355
글번호 49505
시스템
답변완료

수식부탁드립니다----------------

input : N(10),비율(0.004); if highest(H,N)-lowest(L,N) <= C*(n*비율) Then{ var1 = highest(H,N); var2 = lowest(L,N); var3 = (var1 - var2)/2 + var2; } var3 가 5봉중 2봉이 하락하고 전봉포함 5봉중 3봉의 고가가 var1에 닿았고 현재봉 종가나 고가가 var1보다 낮으면 다음봉시가에 매도 항상수고하십니다- 수고스럽지만 부탁드립니다
프로필 이미지
leekss1
2012-03-29
369
글번호 49500
시스템
답변완료

간단한 질문.

var : dw(0,data2) ; dw = data2((c-o)/o*100); data2 는 해외 시장이구요 값이 두번 정의되는 것을 막기위해 변수선언시 위와 같이 해주었는데도 두번 불리우네요.. 한번만 되게끔 해주세요.
프로필 이미지
sjpapa
2012-03-29
415
글번호 49499
시스템
답변완료

수식부탁드립니다---------------

input : N(10),비율(0.004); if highest(H,N)-lowest(L,N) <= C*(n*비율) Then{ var1 = highest(H,N); var2 = lowest(L,N); } plot1(var1); plot2(var2); 현재봉이 장시작후 n봉이 안될때는 당일봉만 참고하게해주세요 수고하세요
프로필 이미지
leekss1
2012-03-29
367
글번호 49498
시스템

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

프로필 이미지
rlaxoeh
2012-03-29
0
글번호 49491
시스템
답변완료

수식부탁 드립니다

선물 호가잔량을 봉차트로 만들고 싶습니다. 상승이면 양봉 하락 음봉 3분봉과 300틱 기준으로 만들어 보고 싶습니다. 만든후에 호가잔량의 고 저 중심을 가로로 선으로 표시 하고 싶습니다. 수식 부탁 드릴께요
프로필 이미지
파라나무
2012-03-29
385
글번호 49490
지표
답변완료

변환 부탁드립니다.

안녕하세요 아래 로직을 YT로 변환 부탁드리겠습니다. atrlen=50 len1=3 len2=2.2 len3=2.9 break=3 level=0.5 big=8 len=0.37 Var49 = highd(1)-lowd(1) Var20 = slowk(5,3) Var21 = slowd(5,3,3) '------------------------------------------------- ' 고점 얻기 '------------------------------------------------- If crossdn( Var20, Var21 ) Then Var3 = Var1 '이전고점 Var4 = Var2 '이전고점바 Var2 = BarNum(1) '고점바 Var1 = hhv(1,high,Var2-var4) '고점 Var5 = ( Var1-var3 ) / ( Var2-var4 ) '기울기 Else Var1 = Var1(1) '고점 Var2 = Var2(1) '고점바 Var3 = Var3(1) '이전고점 Var4 = Var4(1) '이전고점바 Var5 = Var5(1) '기울기 End If If Var2-var4 > 0 Then Var7 = Var5 * ( BarNum-var2 )+ Var1 '고점저항선 End If '------------------------------------------------- ' 저점 얻기 '------------------------------------------------- If crossup( Var20, Var21 ) Then Var13 = Var11 '이전저점 Var14 = Var12 '이전저점바 Var12 = BarNum(1) '저점바 Var11 = llv(1,low,Var12-var14) 'low(1) '저점 Var15 = ( Var11-var13 ) / ( Var12-var14 ) '기울기 Else Var11 = Var11(1) '저점 Var12 = Var12(1) '저점바 Var13 = Var13(1) '이전저점 Var14 = Var14(1) '이전저점바 Var15 = Var15(1) '기울기 End If If Var12-var14 > 0 Then Var17 = Var15 * ( BarNum-var12 )+ Var11 '저점지지선 End If '------------------------------------------------- ' 매매 '------------------------------------------------- Var47 = macdsignal(close,12,26,9) Var48 = mov(Var47,5,s) If Var7 > 0 Then If crossup(close, Var7) Then '추세선가격을 상향돌파하면 If close >= opend+var49*len Then If Var48 >= Var48(1) Then If close > mov(close,20,s) Then buy("") End If End If End If End If End If Var62=high-low Var63=mov(Var62,atrlen,s) If position=1 Then Var50 = HHV(1,High,BarnumsinceEntry +1) Call exitlong("매수추적",Atstop,Var50-var63*len1) Call exitlong("매수변동성",Atstop,close-var63*len2 ) If Var50>= Entryprice+var63*break Then Call exitlong("매수손익분기",Atstop,Entryprice+var63*level) Call exitlong("매수추적1",Atstop,Var50-var63*len3) End If If Var50>=Entryprice+var63*big Then Call exitlong("매수초과수익",Atstop,llv(1,low,3)) End If End If
프로필 이미지
엠제이
2012-03-29
401
글번호 49485
시스템