커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

라떼처럼 님에 의해서 삭제되었습니다.

프로필 이미지
라떼처럼
2017-09-28
2
글번호 113187
시스템
답변완료

부탁드립니다

수식 질문합니다. 1) 3봉전 시가가 5이평을 가지고 매수 매도식 부탁드립니다 150틱 차트를 사용합니다 2) 5이평 골든크로스 이후 rsi 50을 상향하면 매수 반대로 5이평 데드크로스 이후 rsi 50을 하향돌파하면 매도식 부탁합니다. 3) macd 골든크로스 발생이후 5이평 골든크로스 발생하면 매수 macd 데드크로스 발생이후 5이평 데드크로스 발생하면 매도
프로필 이미지
시월
2017-09-28
147
글번호 113186
시스템
답변완료

진입과 청산

안녕하세요. ^^ 아래 로직을 해보려고 하는데, 잘 안되네요. 해결 해주시면 감사하겠습니다. 1. 전 봉의 평균 단가로 지정가 매수/매도 요청 2. 현재 호가로 매수/매도 요청 3. 수익 발생 중 일 때, 3.1 최고/최저에서 5틱이 반등하면 청산 3.2 진입가 +2틱에서 청산 3.3 +20틱 수익나면 청산 4. 5틱 손실 발생하면 강제 청산 5. 08:55~12:00 해당 시간에만 진입 6. 매수/매도로 발생되는 수익을 5틱 단위로 "5틱","10틱" 화면에 표시 감사합니다. ^^
프로필 이미지
아타락시아
2017-09-28
168
글번호 113185
시스템
답변완료

수정부탁드립니다

식 확인 및 수정 부탁드립니다. (매수로만 설명드립니다 매도는 반대 동일조건으로 해주세요) 1. 아래식의 경우 매수진입하여 익절이 되면 바로 다시 매수로 재진입 되는 경우가 있습니다.(그림1) 익절 후에도 매수 조건이라서 재진입이 되는거 같은데, 바로 같은 포지션으로 재진입이 되지 않도록 해주세요. (시뮬레이션에는 재진입이 없습니다. 실 매매에서만 재진입이 이루어 집니다.) 2. 매수 진입하여 손절되면 매도 조건시 진입 (단, 매도 진입은 Data2의 20일선이 100일선 위에 있고 80일선이 상방일때만) 3. 포지션 진입 후 익절이되면 당일 매매 끝 4. 진입회수를 2로 하면 1번과같은 조건이든 매수(청산), 매도(청산) 조건 진입이든 2번만 거래가 이루어 집니다. 진입은 2번항목 조건에 의해서 두번까지만 되게 해주시고, 첫번째 매매에서 익절이 되면 당일 매매는 종료하게 해주세요. input : short(12),long(26),sig(9),P1(3),P2(20),P3(100); input : 시작시간(102000), 종료시간(172000); input : 진입회수(2); var : mav1(0,data1),mav2(0,data1),mav3(0,data1); var : Tcond(False,data1),Bcount(0,data1),Scount(0,data1); var : MACDO2(0,data2), MACDO1(0,data1); var : BH(0,data1),SL(0,data1); MACDO2 = data2(MACD_OSC(short,long,sig)); MACDO1 = data1(MACD_OSC(short,long,sig)); mav1 = data1(ma(c,P1)); mav2 = data1(ma(c,P2)); mav3 = data1(ma(c,P3)); if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{ Tcond = true; Bcount = 0; Scount = 0; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; } //진입회수 if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcount = Bcount+1; if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scount = Scount+1; //진입 if Tcond == true Then{ if Bcount < 진입회수 and MACDO2 > MACDO2[1] and crossup(mav2,mav3) Then buy("Buy"); if Scount < 진입회수 and MACDO2 < MACDO2[1] and CrossDown(mav2,mav3) Then sell("Sell"); } //청산1 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if BH >= EntryPrice+PriceScale*60 and BH < EntryPrice+PriceScale*80 Then ExitLong("B익절1",AtStop,BH-PriceScale*30); if BH >= EntryPrice+PriceScale*80 Then ExitLong("B익절2",AtStop,BH-PriceScale*20); ExitLong("B손절",AtStop,EntryPrice-PriceScale*40); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if SL <= EntryPrice-PriceScale*60 and SL > EntryPrice-PriceScale*80 Then ExitShort("S익절1",AtStop,SL+PriceScale*30); if SL <= EntryPrice-PriceScale*80 Then ExitShort("S익절2",AtStop,sL+PriceScale*20); ExitShort("S손절",AtStop,EntryPrice+PriceScale*40); } if 종료시간 <= sTime or sTime < 시작시간 then { if MarketPosition == 1 then{ ExitLong("B장종료"); } if MarketPosition == -1 then{ ExitShort("S장종료"); } }
프로필 이미지
라떼처럼
2017-09-28
197
글번호 113184
시스템
답변완료

수식작성

안녕하세요. 아래내용에 대해 다시한번 질문 드립니다. sooundplay 가 복수구동이 안된다 하셨는데 예스스팟에서도 똑같이 복수 구동이 안되나요? 감사합니다, -------------------- *** -------------------------------- *** ----------------- 안녕하세요 예스스탁입니다. PlaySound는 최종지정된 wav파일만 구동됩니다. 한번에 복수로 구동이 가능하지 않습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 패랭이야 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요! 다음과같이 조건만족시 sound출력 실행문을 두개 연속으로 실행 시켰을때 마지막 실행문의 소리만 출력 됩니다. PlaySound("C:₩eFriend Globa YesTrader₩efriendglobalyestrader₩data₩Sound₩alert.wav") ; PlaySound("C:₩eFriend Global YesTrader₩efriendglobalyestrader₩data₩Sound₩음성₩c비비업.wav") ; 1. 이유를 알고 싶습니다. 2. 두실행문의 소리가 다 출력 되도록 하는 방법을 알고 싶습니다. 감사합니다
프로필 이미지
패랭이야
2017-09-28
164
글번호 113183
지표
답변완료

문의 사항

안녕하세요 하기 수식에 추가적인 옵션 부탁드립니다. 1. if bbup <= bbdn+PriceScale*50 then{ if MarketPosition <= 0 and h > bbup Then sell("s11",AtStop,bbup); if MarketPosition >= 0 and l < bbdn Then buy("b11",AtStop,bbdn); } - 매수 진입시 진입가격이 볼린져 밴드 중앙이평 상단에 있으면 진입하지 않게 부탁드립니다. 매도 진입시 진입가격이 볼린져 밴드 중앙이편 하단에 있으면 진입하지 않게 부탁드립니다. 2. Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { buy("bMACD"); } # 매도/매수청산 If CrossDown(value1, value2) Then { sell("sMACD"); } 상기 수식에 의거해서 진입하여 익절을 내 다음 가격의 위치가 매수의 경우 볼린져 이평과 상단 사이에 있을경우 익절 후 다음봉 시작에 재진입 하는 수식 부탁드립니다. 매도의 경우 볼린져 이평과 하단 사이에 있을경우 익절 후 다음봉 시작에 재진입 하는 수식 부탁드립니다. 감사합니다.
프로필 이미지
softtoug
2017-09-28
149
글번호 113182
시스템
답변완료

수정 잘부탁드립니다

수정부탁드립니다 55018 라인선에한글로표시해주세요
프로필 이미지
용각산
2017-09-28
169
글번호 113181
지표
답변완료

문의드립니다.

항상 친절한 답변감사합니다. 풍성한 한가위 되시길바랍니다. 현물입니다. 매수1 : 주가가 일봉기준 0930분 현재 20이평선 위에 있을때 1차매수 (조건: 주가와 이평선의 이격이 10%이내) > 5% 하락시 매도. > 매도후 주가가 상승하여 1차 매수가격 오면 재매수 매수2 : RSI (14)기준 종가가 과매도 신호(30) 발생시 다음봉 시초가에 매수(봉완성형) 선물. 매수1 : RSI 가 0에서 30상향 돌파시 매수진입 매도1 : RSi가 100에서 70하향 돌파시 매도진입
프로필 이미지
하늘북
2017-09-28
166
글번호 113180
지표
답변완료

수정부탁드립니다.

적용해본 결과 제가원한것이아니라서ㅎ 목표틱수 를 다했을경우 매매 신호 금지 를 원합니다 예시: 익절틱수 30틱 을 설정 했으면 수익이 30틱이다 그러면 더이상 신호발생 금지(청산) 다시 한번 부탁드립니다 현제 밑에 수식은 익절틱수만 설정이되서 원하는 수익을 얻었을경우 또 신호가 나오기때문입니다 input : P(10),익절틱수(10); Input : 시작시간(103000),종료시간(170000); Var : Xcond(false),MM(0),T(0),Tcond(false),idx(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ Tcond = true; Xcond = false; idx = 0; } if (sdate != sdate[1] and stime >= 종료시간) or (sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if TotalTrades > TotalTrades[1] and IsExitName("StopProfitTarget",1) == true then Xcond = true; MM = (highest(H,P)+lowest(L,P))/2; if Tcond == true then{ idx = idx+1; if T == 0 and C > MM Then T = 1; if T == 0 and C < MM Then T = -1; if T == 1 and CrossDown(C,lowest(L,P)[1]) Then T = 0; if T == -1 and CrossUp(C,highest(H,P)[1]) Then T = 0; if idx == 1 and T == 1 then buy(); if idx == 1 and T == -1 then sell(); if idx > 1 then{ if T == 1 and T[1] != 1 Then buy(); if T == 0 and T[1] == 1 Then sell(); } if T == -1 and T[1] != -1 Then sell(); if T == 0 and T[1] == -1 Then buy(); } SetStopProfittarget(PriceScale*익절틱수,PointStop);
프로필 이미지
곽민수
2017-09-28
163
글번호 113179
시스템