커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

표현식

수고 많으십니다. 다음 두가지를 표현하는 언어를 알고 싶읍니다. 1. 진입봉의 고가. - 예를 들면 240에 매도가 되었고 그봉의 고가가 240.30 인 경우 고가를 어떻게 수식으로 표현 하는지. 240은 Entryprice() 인데 그봉의 고가는 ?? 2. 240 에 매도 (IsEntryName("S1"))후 242에 손절이 되었고 ( IsExitName("ES1") 그후 지수가 다시 240 아래로 하락돌파 할때 재차 매도를 하고 싶은데.. - 240 매도값(AA)을 어떻게 표현 하는지요. If c[1] >= AA and c < AA then Sell("S2");
프로필 이미지
geylang
2012-08-11
284
글번호 53682
시스템
답변완료

문의드립니다.

종가차트를 기준으로 스토캐스틱 슬로우 단순 이평식과 관련하여 첨부와 같이 지표식과 시스템식 구현 부탁드립니다. 그리고, 매도할 때 진입가보다 수수료(0.34)이상에서 매도하도록 부탁합니다.
프로필 이미지
하리마우
2012-08-12
436
글번호 53681
지표
답변완료

안녕하세요

안녕하세요. 두가지 문의하겠습니다 var1 = C-O;#몸통크기 value1 = accumn(var5,10); value2 = accumn(var15,20); if value1 > 0 and value2 > 0 and ma(c,1) > ma(c,2) Then Buy(); if value1 < 0 and value2 < 0 and ma(c,1) < ma(c,2) Then Sell(); 1.위공식에 첨가 5일 이동평균>20일이동평균 매수/ 반대매도 2.1항이 만족한상태에서 분봉으로 시작점과 시작의6배수.시작의18배수에서도 위사항과동시만족 .위사항=시작점.시작점의6배수.시작점의18배수.동시 만족하면: 매수/반대 매도) 예:30분 분봉에적용시 (30분시작점).(30분의6배수180분)(30분의18배수540분) 동시만족. 항상 감사하고 고맙습니다 .
프로필 이미지
회원
2012-08-13
327
글번호 53680
시스템
답변완료

문의 드립니다..

Input : Period(14); Var : value(9); value = LRL(C, Period); # 매수/매도청산 If CrossUP(C, value) Then { Buy(); } # 매도/매수청산 If CrossDown(C, value) Then { Sell(); } 수고하십니다^^ 아직 초보라 모르는게 많아서 몇가지 질문드립니다. 1.LRL지표에서 기간이14 이고 시그널을 9로 설정하려고하는데 위에올린수식이 맞는지요? 2.두개의 선이 교차한다고 무조건 진입하는게 아니고 상승다이버전스와 하락 다이버전스 일때에만 진입하려고하는데 가능한가요? 3.진입조건이되어서(봉이 완성된후에) 진입이되었는데 그전에 발생한 봉의 고가(매도시)와 저가(매수시)보다 한틱 더 가면 손절할수 있게끔 설정 가능한지요? 4. 이신호를 120틱 챠트로도 자동매매가 가능 한지요?
프로필 이미지
ciaoso
2012-08-10
346
글번호 53673
시스템
답변완료

IsEntryName에 대한 질문

안녕하세요? 시스템에서 매수조건이 2개, 매도 조건이 2개여서 각각 익절에 대해 다음과 같이 정했습니다. if IsEntryName("b") == true then {SetStopProfittarget(f11,PointStop);} if IsEntryName("b1") == true then {SetStopProfittarget(f13,PointStop);} if IsEntryName("s") == true then {SetStopProfittarget(f12,PointStop);} if IsEntryName("s-1") == true then {SetStopProfittarget(f14,PointStop);} 즉, 의도는 "b"일때는 f11만큼 오르면 익절하는거고, "b1"일때는 f13만큼 오르면 익절하는거지요. 당연히 그 수치는 다르구요. 근데,"b"일때 f11수치만 나오는게 아니라 f13수치도 나와서 왜 그런지 몰라 이렇게 질문을 올립니다. 매도도 같고요. 괄호 문제인가 해서 다르게 해보았는데, 같더라구요. 부탁드리겠습니다.
프로필 이미지
룽퐈
2012-08-10
292
글번호 53669
시스템
답변완료

stime 질문입니다.

안녕하세요.. stime중에 초부분만 문자열로 변환하고 싶은데요.. 어떻게 해야 할까요.?
프로필 이미지
허펀드
2012-08-10
317
글번호 53667
시스템
답변완료

익절수식 문의

어제 알려주신 매수후 1포이상 오르다가 이평 5,20 데드크로스하면 익절하는 수식 잘 보았습니다 그런데 매도후 1포이상 하락하다가 이평 5,20 골든크로스 나오면 익절하는 수식도 부탁드립니다. 제가 스스로 만들려니 잘안되네요 ^^
프로필 이미지
하나로
2012-08-10
274
글번호 53666
시스템

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

프로필 이미지
주도주
2012-08-10
10
글번호 53659
시스템
답변완료

시스템식 재차 문의

안녕하세요. 저번 답변은 잘 봤습니다. wrongsig 문제는 잘 해결되었습니다. 감사합니다. 그런데 한가지 문제가 있어서 다시 질문드리게 되었습니다. pic1을 보시면 아시겠지만 9월 24일 bwex로 매도 청산이 된 후에 다시 'trendsell'로 인해 매도 포지션을 취함을 알 수 있습니다. 그렇지만 전문가님께서 수정한 식이 아래와 같은데 Input : Highperiod(48),period(20),af(0.005), maxAF(0.1),loss(2),D(2),PeriodR(7); var : PriceROC(0),BBTop(0), BBMid(0), BBBot(0),Bwidth(0),StoK(0),StoD(0),Relative(0); var1 = SAR(af,maxAF); BBTop = BollBandUp(Period,D); BBMid = ma(C,Period); BBBot = BollBandDown(Period,D); BWidth = ((BBTop - BBBot)/ BBMid); Relative = RSI(PeriodR); If (marketposition == 0 and Isexitname("endvolatil2",1) == false) or (marketposition != 0 and Isentryname("trendbuy") == false and Isexitname("endvolatil2",1) == false) then { If (Relative[1] >= 70 and Relative < Relative[1]) then sell("sell1");} If (marketposition == 0 and Isexitname("endvolatil1",1) == false) or (marketposition != 0 and entryname != "trendsell" and Isexitname("endvolatil1",1) == false) then { If Relative[1] <= 30 and Relative >= 30 then buy("buy1");} If (marketposition == 0 ) or (marketposition != 1 and entryname != "buy1" and entryname != "sell1") then { If var1 < c then buy("trendbuy"); } if MarketPosition == 1 then{ If var1 > c then exitlong("endtrend1",onclose,def, "trendbuy"); if BarsSinceEntry(0) == 2 and c[2] > c then exitlong("wrongsig2",onclose,def,"trendbuy"); } If (marketposition == 0 and Isexitname("bwex",1) == false) or (marketposition != -1 and entryname != "buy1" and entryname != "sell1") then { If var1 > c then sell("trendsell"); } if MarketPosition == -1 Then{ If var1 < c then exitshort("endtrend2",onclose,def,"trendsell"); If BarsSinceEntry(0) == 3 and c[3] < c then exitshort("wrongsig",onclose,def,"trendsell"); If Bwidth[1] == Highest(Bwidth,Highperiod) and Bwidth[1] > Bwidth then exitshort("bwex",onclose,def,"trendsell"); } 여기서 보면 If (marketposition == 0 and Isexitname("bwex",1) == false) or (marketposition != -1 and entryname != "buy1" and entryname != "sell1") then { If var1 > c then sell("trendsell"); } 이 구절이 의미하는 바가 최근에 'bwex'로 청산을 했다면 'trendsell'을 하지 말아라 라는 의미입니다. 때문에 이게 잘 반영된 것 같지 않아서 이 문제를 해결하기 위해선 어떻게 해야할지 다시 질문드립니다. 친절한 답변에 언제나 감사드립니다.
프로필 이미지
cwc1988
2012-08-10
313
글번호 53658
시스템