커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종목별 당일기준진폭

안녕하세요 오일,금종목 같은 경우는 고가에서 저가를 빼면 당일진폭을 쉽게 계산이되나 통화선물과 나스닥의 경우 계산이 어려워서 지표식 H-L= 이나 엑셀로 받아볼수있나요
프로필 이미지
주꼬보이
2017-10-16
192
글번호 113377
사용자 함수
답변완료

부탁드립니다

아래수식에서 left(3),right(3)의 의미와 과 스윙하이 수식 설명 좀 부탁드립니다 input : Left(3),right(3); var : HH(0),HL(0),LL(0),LH(0); if SwingHigh(1,H,Left,right,left+right+1) != -1 Then{ HH = H[right]; HL = lowest(L,right);
프로필 이미지
마르뚝
2017-10-16
197
글번호 113376
지표

기미토비 님에 의해서 삭제되었습니다.

프로필 이미지
기미토비
2017-10-16
12
글번호 113375
시스템
답변완료

수식 요청합니다.

매수 일봉에서 MACD 오실레이터가 적색(양봉)이어야 한다 60분봉에서 MACD 오실레이터가 적색 첫째봉 이어야 한다 30분봉에서 MACD 오실레이터가 적색 첫째봉 또는 둘째봉 이내에 매수해야 한다. 매도는 반대로.. 수고하세요.
프로필 이미지
우와우와
2017-10-16
137
글번호 113374
시스템
답변완료

함수변환요청드립니다.

안녕하세요? 키움에서 사용하였던 수식입니다. 예스트레이더로 사용할 수 있도록 함수 변환 요청드립니다. 크루드 오일 60분봉에 적용하여 써머타임 적용 현재 8시에 완성되는 봉을 기준으로 (써머타임 해제 적용 기간은 9시에 완성되는 봉을 기준으로) 그 봉이 시가 = 고가이면 N번째 이후 봉 시가로 매수 진입이며 시가 = 저가 이면 N번째 이후 봉 시가로 매도 진입하고자 합니다. 진입 후 M번 이후째 봉 시가로 강제청산 하고자합니다. 당일청산입니다. Vars : ii( 0 ), st( 0 ), et( 0 ); V1 = Dayofweek((10000 * Year(D)) + (100 * 3) + 1); If V1 = 0 Then Value2 = 8 Else Value2 = 15 - V1; V2 = Dayofweek((10000 * Year(D)) + (100 * 11) + 1); If V2 = 0 Then Value4 = 1 Else value4 = 8 - V2; If date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4 Then Begin st = 070000; et = 060000; End Else Begin st = 080000; et = 070000; End; condition1 = (IntPortion(time/10000) > IntPortion(et/10000) And IntPortion(time[1]/10000) <= IntPortion(et/10000)) Or st <> st[1]; Inputs : Ncount(1), Mcount(1); Vars : Bcond(False), Scond(False), DayIndex_user(0); If condition1 Then Begin If O = H Then Bcond = true Else Begin Bcond = False; Scond = False; End; If O = L Then Scond = True Else Begin Bcond = False; Scond = False; End; DayIndex_user = 0; End; DayIndex_user = DayIndex_user + 1; If Bcond And DayIndex_user = Ncount Then Buy("매수", atmarket); If Scond And DayIndex_user = Ncount Then Sell("매도", atmarket); If BarsSinceEntry >= Ncount + Mcount Then Begin ExitLong(); ExitShort(); End;
프로필 이미지
통큰베팅
2017-10-16
157
글번호 113373
시스템
답변완료

수식에서 조건발생시 당일1회진입 부탁드립니다.

var : 전환선(0),기준선(0),후행스팬(0),선행스팬1(0),선행스팬2(0),거래기간(110); Input : af(0.015), maxAF(0.09); Var : value(0); value = sar(af,maxAF); 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 후행스팬 = C; 선행스팬1 = (전환선+기준선)/2; 선행스팬2 = (highest(H,52)+lowest(L,52))/2; IF ma(v,거래기간)*10<v and DayVolume>50000 and ma(DayVolume,5)>50000 and 선행스팬1<c and 선행스팬2<c and 기준선 < c and value < c then buy("b"); var1 = (Highest(H, 26) + Lowest(L, 26)) / 2; if MarketPosition == 1 and CrossDown(h,var1) Then exitlong("bx"); SetStopProfittarget(3,PercentStop); SetStopLoss(4,PercentStop); 위 조건에서 10시이전 조건발생시 당일1회 진입만 되게 하고 싶습니다.
프로필 이미지
디얼디어
2017-10-16
153
글번호 113372
시스템
답변완료

문의드립니다

oc Histogram와MACD지표겹치기을하고 MACD선과시그널선 교차시 상승의빨강색 하락의파랑색 잘 부탁드립니다
프로필 이미지
용각산
2017-10-15
146
글번호 113371
지표
답변완료

수식 점검 부탁드립니다.

if sdate >= 지정일 and MarketPosition == 0 and C > HH and (V1 == 0 or V1 >= 150000) and stime == 150000 and C < DayClose(1) and C < O then Buy("매수",OnClose,def,Floor(매수금액/C)); if MarketPosition == 1 Then { if MaxEntries == 5 and C <= AvgEntryPrice*0.75 Then cond = true; if stime == 150000 and C < DayClose(1) and C < O and C < AvgEntryPrice then { if ((cond == false and MaxEntries > 1 and MaxEntries < 5) or (cond == true and MaxEntries > 5 and MaxEntries < 10)) then { Buy("매수1",OnClose,def,Floor(매수금액/C)); } } 위 수식을 적용해 본 결과 음봉이 발생하는 3시에 정상적으로 매수가 되는 것을 확인하였는데요. 문제는 5회까지 분할 매수가 안되고 첫 매수 이후 매수에 대한 매도가 완료되어야 다음 매수 진입을 하네요. 제가 구상한 로직은 아래와 같습니다. - 아 래 - - 매수 시작일 설정 - 1회 매수 금액 500,000원 - 분할 매수 5회(총 2,500,000원)까지 제한 (단, 5회 매수후 주가 지속하락하여 평단가대비 -25% 발생시 재작동하여 다시 5회(총 2,500,000원 + 2,500,000원 = 5,000,000원)까지 분할 매수) ** 코스피(코스닥) 지수가 일봉상 스토캐스틱(20,12,12) 과열권 진입시 신규 매수 제한 (기 보유종목에 대한 매수는 진행) - 30분봉 챠트에 적용하며 전일종가(직전봉이 아닌 날짜상의 전일 종가)보다 낮은 음봉이며 평단가보다 낮은 경우 150000에 매수 끝. 위와 같이 만들어보려 했는데 수정에 수정을 거듭해도 성과가 나질 않아서 부득이 요청드립니다. 고견을 좀 주시면 많은 도움이 되리라 사료되면 늘 감사한 마음 전합니다.
프로필 이미지
승부사1
2017-10-15
166
글번호 113370
시스템
답변완료

이것저것 문의드립니다.

수식왕 예스스탁님 감사합니다 . 1. 시스템관련 미완성 봉 관련해서 질문드립니다. 만약에 갭상승하면 그쪽 방향으로 매수한다·매도한다는 전략을 30분봉에 적용시켰다 하면, 갭상승 신호를 확인한 후 30분 01초에(예를 들어) 진입이 들어간다고 보면 되는 건가요? 만약 갭상승 이후에 상승방향과 완전 다른 하락 방향에 갔다 하더라도 진입신호는 발생했으므로 30분01초가 되면(봉이 완성되면)진입을 하게 되는 건가요? setstoptrailing을 시간대를 다르게 해보니 전부다 다른 시뮬레이션 리포트가 나오더라구요. 제 생각으론 고점 대비 떨어진 수치는 똑같으니까 같은 수익률이 나오지 않을까 생각했는데 아니었습니다. 여전히 개념이 잘 안 잡히네요. 2. 시스템 진입 -a(변수)거래일간 상승률이 50%(변수)인 상태에서 -b% 하락했을 때 진입 청산 진입시점에서 상승률이 c%가 됐을 때 청산 비고: 상승률 거래일 하락후 상승률은 일간으로 해주시되 적용은 1분봉으로 부탁드립니다. 3. 미완성봉에 대해 2 오늘 한번 소액으로 시험매매를 해봤는데요. 30분이 되더니 매수가 들어가고 setstop을 짧게 잡으니 사자마자 바로 청산을 시키더라구요. 시뮬리포트의 우상향 그래프를 보다가 실제와 크게 다른 것을 보니 당황했습니다. 그럼 시뮬레이션 리포트의 계산은 진입시점에 들어갔다 진입시점에 setstop을 했을 것을 가정하고 나서 계산을 하는 것인가요? 반면 실제의 매매의 30분 이후에 매매를 들어가게 되므로 시뮬결과와는 완전히 다르다고 보면 될까요? 자세한 설명을 들었지만 여전히 헷갈립니다. 다른 분들은 그럼 어떤 식으로 사고하고 코딩을 짜고 매매하는 지도 궁금하기도 하구요. 4. 가장 시뮬레이션과 비슷한 결과를 얻고 싶다면 가장 짧은 봉으로 시뮬을 하고 적용을 하면 될까요? 5. 아래와 같은 식은 그럼 미완성이라도 실제 매매가 바로 일어나게 되나요? 아래와 같은 식은 어떻게 가능한 건가요? 원리가 궁금합니다. 아래와 같은 코딩은 시뮬레이션 리포트와 실매매와 비슷하게 나올까요?(물론 차이가 없을 수는 없겠지만 비슷하게는 되는가라는 질문입니다.) Re : 봉 미완성 진입 안녕하세요 예스스탁입니다. 시초가 +0.8이상의 시세발생시 즉시 매수진입 시초가 -0.8이하의 시세발생시 즉시 매도진입 되게 변경했습니다. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count < 1 then{ if MarketPosition == 0 Then{ buy("b",AtStop,dayopen+0.8); sell("s",AtStop,dayopen-0.8); } } SetStopProfittarget(0.55,PointStop); SetStopLoss(0.8,PointStop); SetStopEndofday(150000);
프로필 이미지
잡다백수
2017-10-16
227
글번호 113369
시스템