커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

dayclose, demark, nextbaropen에 대한 궁금증.

1. 가령 어제 장을 보고 오늘 진입하는 경우 dayclose[1], dayopen[1] 이렇게 쓸 수 있잖습니까? 그럼 오늘 장을 보고 내일 진입할 준비를 하는 경우엔 dayclose, dayopen이랑 함께 nextbaropen을 쓰면 되려나요? 2. 10분, 30분봉으로 보는 편인데 dayclose 함수 같은 경우 예스랭기지 메뉴얼에 보면, 당일값은 차트에서 계산하고 과거일의 경우는 일봉데이터에서 가지고 온다고 했습니다. 그럼, dayclose를 실거래에서 쓰는 경우 차트에서 어떻게 당일 종가의 데이터를 불러오는지 궁금합니다. 3. 위의 두가지 질문과 답을 기준으로 다음 식이 제가 구현하고자 하는 조건에 맞는건지 알고 싶습니다. Input : mid(3), long(10), macdrange(0.001); var : macdval(0); #횡보장 필터 macdval = macd(mid, long); # 전일시종가기준 demark if DayClose(1) > DayOpen(1) Then Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/4; Else If DayClose(1) < DayOpen(1) Then Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/4; Else Value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/4; # 당일시종가기준 demark if DayClose > DayOpen Then Value2 = (DayHigh+DayLow+DayClose+DayHigh)/4; Else If DayClose < DayOpen Then Value2 = (DayHigh+DayLow+DayClose+DayLow)/4; Else Value2 = (DayHigh+DayLow+DayClose+DayClose)/4; #진입 if macdval <= -macdrange or macdval >= macdrange then { #A조건 : 전날보다 갭상승 매수 하락시 매도 진입 if MarketPosition == 0 Then { if Value1+0.0015 <= dayopen Then buy("B",AtMarket); if Value1-0.0015 >= dayopen Then sell("s",AtMarket);} #B조건 : 오늘하루 움직임 demark 값보다 0.0015포인트 높은 경우 다음봉 시가에 매수 / 낮은 경우 매도 { if Value2+0.0015 <= NextBarOpen Then Buy("b1",AtMarket); if Value2-0.0015 >= NextBarOpen Then Sell("s1",AtMarket);} } SetStopLoss(0.005,PointStop); SetStopProfittarget(0.0075,PointStop); 청산. 그리고 제가 유로fx같은 해외시장을 주로 보는 편인데, dayopen, dayclose의 경우 자동으로 장 시작시간인 17시, 마감시간인 16시의 가격을 받아오는지 궁금합니다.
프로필 이미지
가치투자꾼
2017-10-16
296
글번호 113392
시스템

꽃보다순대 님에 의해서 삭제되었습니다.

프로필 이미지
꽃보다순대
2017-10-16
0
글번호 113381
지표
답변완료

문의 드립니다.

안녕하세요? 1번질문 손매매로 진입한 매도 포지션이 있는데, 이후 시스템 매매를 운용해서 매수 포지션이 발생한다면 손매매로 진입한 매도 포지션은 청산되고, 매수포지션만 유지 되는 건가요? ** 시스템 시작시 실계좌에는 잔고는 없으나 신호에서 포지션이 이미 매수로 잡혀 있을경우 매도 신호 발생시 설정창에는 1계약 고정인대도 2계약 매도 진입하는건 정상인가요? 2번질문 매수/ 매도 진입후 특정일자/ 시간에 청산 되도록 수식부탁드립니다. 3번질문 2번에 이어서 특정일자/ 시간에 증권사에 의해 만기일 강제 청산이 이루어진 포지션은 다음날 시스템 가동시 기존 포지션으로 진입하는 수식이 가능하시면 부탁드립니다. 감사합니다.
프로필 이미지
하늘북
2017-10-17
207
글번호 113378
시스템
답변완료

종목별 당일기준진폭

안녕하세요 오일,금종목 같은 경우는 고가에서 저가를 빼면 당일진폭을 쉽게 계산이되나 통화선물과 나스닥의 경우 계산이 어려워서 지표식 H-L= 이나 엑셀로 받아볼수있나요
프로필 이미지
주꼬보이
2017-10-16
231
글번호 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
223
글번호 113376
지표

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

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

수식 요청합니다.

매수 일봉에서 MACD 오실레이터가 적색(양봉)이어야 한다 60분봉에서 MACD 오실레이터가 적색 첫째봉 이어야 한다 30분봉에서 MACD 오실레이터가 적색 첫째봉 또는 둘째봉 이내에 매수해야 한다. 매도는 반대로.. 수고하세요.
프로필 이미지
우와우와
2017-10-16
174
글번호 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
195
글번호 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
186
글번호 113372
시스템