커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

프네우마 님에 의해서 삭제되었습니다.

프로필 이미지
프네우마
2015-09-10
0
글번호 90237
시스템

프네우마 님에 의해서 삭제되었습니다.

프로필 이미지
프네우마
2015-09-10
0
글번호 90236
시스템
답변완료

수식 작성 중 오류

책의 내용대로 시스템 수식 작성을 하는중 entriestoday 가 선언되지 않은 이름으로 나옵니다. 함수가 바뀐건지 설명 부탁드립니다. Input : Daymult(0.35), Mult(6.5); Var1 = (DayHigh(1)-DayLow(1))*DayMult; # 진입 If EntriesToday(date)<1 and sTime<143000 Then { Buy("B2", AtStop, DayOpen+Var1); Sell("S2", AtStop, DayOpen-Var2); } # 청산 Var3 = Highest(H,BarsSinceEntry+1)-ATR(15)*Mult; VAr4 = Lowest(L, BarsSinceEntry+1)+Atr(15)*Mult; ExitLong("EL1", AtStop, Var3); ExitShort("ES1", AtStop, Var4); SetStopLoss(2, PercentStop); SetStopEndofday(1450);
프로필 이미지
프네우마
2015-09-10
114
글번호 90235
시스템
답변완료

키움에서 구현한 것을 yes에서 어떻게 구현을 하나요..?

키움에서 구현한 것을 에스트레이더에서 구현이 가능한가요...? 사진은 b/b인데요...위 분홍생과 중앙 노란색 그리고 밑 부분 하늘색이 구현 가능하지 부탁 좀드리겠습니다..
프로필 이미지
인참을인
2015-09-10
285
글번호 90231
지표
답변완료

수식 요청

안녕하세요. 항상 감사드립니다. 복합 챠트 300틱 사용하며 지난가격에 준하여 지정가격 (예: 전일 주야 고점, 저점, 고저중심 등)으로 매매하려고 합니다. 기본수식만 알려주시면 공부해서 수식 만들어 보겠습니다. 하기와 같은 조건에 준하여 수식 부탁드립니다. * 매수/매도 : 1) 전일 주야 고저중심 2) 전일고저중심+2.5P/-2.6P - crossup/crossdown 조건이 아닌 돌파/이탈로 가격 터치시에 신호 발생 - 진입 후 5개봉 이내 신호발생 없음 - 손절 10틱 - 매매시간 : 09:00 ~ 14:45 - 종가청산 : 15:15 감사합니다.
프로필 이미지
한국사람73
2015-09-10
139
글번호 90228
시스템
답변완료

수식문의

아래의 식을 시스템으로 바꾸어주세요 Input : shortPeriod(12), longPeriod(26), Period(9); Var : value(0) , macdosc(0), MACD전저점(0), 가격전저점(0), 예비저(0), 예비봉저(999), macdplot(0), macd전고점(0), 가격전고점(0), 예비고(0), 예비봉고(0); value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); if macdosc > 0 then { plot3(macdosc * 2, "MACDOscillator", RED); if(macdosc[1] <= 0) then { // 이전 봉 까지는 음수인 경우 전저점이 확정된다. // 다이버전스 조건이 충족 되었는지 검증한다. if(macd전저점 <= -0.01 ) and (macd전저점 <= 예비저) and (가격전저점 >= 예비봉저) then { macdPlot = macd전저점 * -1; MessageLog("macd전저점 %.0f 가격전저점%.0f 예비저%.0f 예비봉저%.0f 다이버젼스 발견", macd전저점, 가격전저점, 예비저, 예비봉저); } else macdPlot = 0; if(예비저 <= -0.01) then { macd전저점 = 예비저; 가격전저점 = 예비봉저; } } else { macdPlot = 0; } 예비저 = 0; 예비봉저 = 999; if(예비고 < macdosc) then { 예비고 = macdosc; } 예비봉고 = max(예비봉고, c); } else { Plot3(macdosc * 2, "MACDOscillator", BLUE); macdPlot = 0; if(예비저 > macdosc) then { 예비저 = macdosc; } if(macdosc[1] >= 0) then { // 이전 봉 까지는 양수인 경우 전고점이 확정된다. // 다이버전스 조건이 충족 되었는지 검증한다. if(macd전고점 >= 0.01 ) and (macd전고점 > 예비고) and (가격전고점 <= 예비봉고) then { macdPlot = macd전고점 * -1; MessageLog("macd전고점 %.0f 가격전고점%.0f 예비고%.0f 예비봉고%.0f 다이버젼스 발견", macd전고점, 가격전고점, 예비고, 예비봉고); } else macdPlot = 0; if(예비고 >= 0.01) then { macd전고점 = 예비고; 가격전고점 = 예비봉고; } } else { macdPlot = 0; } 예비고 = 0; 예비봉고 = 0; 예비봉저 = min(예비봉저, c); } PlotBaseLine1(0, "기준선1"); plot1(macdPlot); //MessageLog("macd전저점 %.0f 가격전저점%.0f 예비저%.0f 예비봉저%.0f", macd전저점, 가격전저점, 예비저, 예비봉저);
프로필 이미지
백진강
2015-09-10
141
글번호 90227
시스템
답변완료

부탁드립니다

키움껀데요 예스랭귀지로 바꿔주시면 감사하겠습니다 1번하고 2번 두개다 좀 바꿔줄수있으시면 바꿔주세요 1번따로 2번따로 부탁드립니다 (1번) p1(5) p2(20) a=ma(c,p1) b=ma(c,p2) k=a-b k a=ma(c,p1) b=ma(c,p2) k=a-b -k (2번) macd 오실레이터 12.26.9 기본값를 1번처럼 부탁드립니다
프로필 이미지
강인함
2015-09-10
185
글번호 90225
지표
답변완료

추적 두번

첫번째추적 #추적청산수식 input : RangeMult(2.5), AtrMult(2.1), AtrPeriod(20); var : PreRange(0), ChUp(0), ChDn(0), AtrVal(0), posHigh(0), posLow(0); # 진입 PreRange = (dayHigh(1)-dayLow(1))*RangeMult; ChUp = dayOpen + PreRange; ChDn = dayOpen - PreRange; If CrossUp(C, ChUp) Then buy(); If CrossDown(C, ChDn) Then sell(); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition == 1 Then ExitLong("ATR1", AtStop, PosHigh - ATRVal); If MarketPosition == -1 Then ExitShort("ATR2", AtStop, PosLow + ATRVal); 두변째추적 #추적청산수식 input : RangeMult(2.5), AtrMult(2.1), AtrPeriod(20); var : PreRange(0), ChUp(0), ChDn(0), AtrVal(0), posHigh(0), posLow(0); # 진입 PreRange = (dayHigh(1)-dayLow(1))*RangeMult; ChUp = dayOpen + PreRange; ChDn = dayOpen - PreRange; If CrossUp(C, ChUp) Then buy(); If CrossDown(C, ChDn) Then sell(); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition == 1 Then ExitLong("ATR1", AtStop, PosHigh - ATRVal); If MarketPosition == -1 Then ExitShort("ATR2", AtStop, PosLow + ATRVal); 위추적청산수식을 두번동시에 매매할수있는식으로부탁합니다
프로필 이미지
큰바위얼굴
2015-09-10
115
글번호 90216
시스템
답변완료

메뉴얼 공부 중 질문드립니다.

수고하십니다. 예스스팟 글로벌 메뉴얼 '5장 예스스팟 사용시 주의사항'에서 질문입니다. 1. "3) 잔고(Balance), 미체결(Unfill), 체결(NotifyFill)등 계좌관련 객체 사용시 주의 사항"을 보면 가원장 상태가 실제 원장과 동기화 될 수 있도록 '잔고조회'를 하라고 나와 있는데요, 여기서 잔고조회를 어떻게 합니까? 시스템 수식안에서 잔고조회 라는 명령어가 있나요? 아니면 수동 매매창(일반창)에서 잔고조회를 하면 시스템 수식도 자동으로 연동되어 잔고조회가 되나요? 랭귀지에서는 함수 중 Marketposition 이 1,0,-1 이냐 하는 것이 잔고조회인가요? 2. "8) 예스스팟은 서버에 과도한 부하를 줄이기 위해 시세조회와 계좌 조회를 15초당 60회로 제한하고 있습니다."이라고 나와있는데요, 이런 제한이 랭귀지 시스템에도 적용되나요? 랭귀지 함수 Marketposition 이 계좌 조회에 해당하나요? 3. "9) 예스스팟은 주문 오작동을 막기 위해 15초당 90회까지만 주문이 가능합니다."라고 나와있는데요, 분할주문의 경우는 어떻게 됩니까? 예를 들어 시그널이 났을때 5계약을 한꺼번에 주문하는게 아니라 1계약 주문을 5번 연속으로 내는 방식 말입니다. 이런 방식의 경우 1회 주문인가요 5회 주문인가요? 이런 제한이 랭귀지 시스템에도 적용되나요?
프로필 이미지
로봇짱
2015-09-10
186
글번호 90215
시스템