커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수고하십니다

한번 더 부탁합니다 이평선 5 20 60 사용합니다 주가가 -- 20 이평선을 돌파시 매수 1 20 이평선이 60 이평선을 골드크로스 이후 주가 긜고 5 이평선이 60 이평선을 이탈하고 5 이평선 아래 주가가 있다가 주가가 5 이평선을 돌파하고 5 이평선이 직전 5 이평선보다 높으면 매수 2 반대 매도도 부탁합니다
프로필 이미지
사이다
2020-04-06
763
글번호 137568
시스템
답변완료

시스템 수식에서 지표를 그릴수 없나요?

시스템 수식 내에서 사용하는 특정 지표를 시스템을 불러 올때 같이 차트에 그릴수 없나요? 예를 들어 볼린저 밴드를 응용한 시스템 수식이라면, 시스템 수식 실행하면 차트에 볼린저 밴드가 표현되고, 피보나치선을 이용하면, 차트에 그대로 그려지고, 매번 시스템에 입력값 넣고, 차트에는 표현이 않되니 또 똑같은 값을 지표수식 불러서 입력하려고 하니 귀찮네요. (추세선으로 만든 시스템은 검정선으로 그려 지는 것처럼요.)
프로필 이미지
마인드마스터
2020-04-06
744
글번호 137567
시스템
답변완료

수식요청

안녕하세요 늘 도움 감사합니다 아래의 지표 수식을 시스템 신호 수식으로 변경 부탁드립니다. 고점에서 양봉시가를 이탈한 음봉 을 포함한 두번째 음봉종가에 매도 신호 와 함께 15틱 단위로 텍스트가 나오도록 부탁드립니다 저점에서도 고점음봉을 돌파한 양봉을 포함한 두번째 양봉 종가에 매수신호 와 함께 15틱 단위로 텍스트 나오도록 부탁드립니다 input : Left(10),Right(0); var : HH(0),LL(0),PO(0),NH(0); if C > O Then PO = O; if C < O Then NH = H; if SwingHigh(1,PO,Left,Right,Left+right+1) != -1 Then{ HH = PO[right]; } if SwingLow(1,NH,Left,Right,Left+right+1) != -1 Then{ LL = NH[right]; } plot1(HH,"최근고점"); plot2(LL,"최근저점");
프로필 이미지
알리섬
2020-04-05
736
글번호 137566
시스템
답변완료

수식문의드립니다.

macd oscillator 단기선이 장기선을 crossup 하고, 장 단기 선의 기울기가 모두 양(+)일 때 매수 macd oscillator 단기선이 장기선을 crossdown 하고, 장 단기 선의 기울기가 모두 음(-)일 때 매도 하는 수식 문의드립니다. 감사합니다! 추가적으로 1. macd oscillator 단기선과 장기선이 모두 0이상이면(if조건문) 2. macd socillator 단기선의 기울기가 -에서 0 혹은 +로 바뀌면(if조건문) 도 같이 알려주시면 감사드리겠습니다
프로필 이미지
파랭
2020-04-05
743
글번호 137565
시스템
답변완료

간단한 질문입니다.

매수 조건중 RSI 범위를 0-15 구간 및 50-80 구간에서만 구현되게 하는 수식은 어떻게 해야할나요? 예를 들면 50-80 구간을 하려면 RSIV >50 and RSI< 80 이렇게 하면 되는것은 알고 있는데 0-15 와 50-80 구간을 하려면 RSIV>0 and RSIV<15 and RSIV >50 and RSI< 80 이렇게 하면 되나요? 이러면 안될것 같아서요 방법을 알려주세요~~
프로필 이미지
이형지
2020-04-05
757
글번호 137564
시스템
답변완료

수식 문의입니다.

시가 매수후 시가에서 -5%까지 -1%하락할때마다 1주씩 매수 -6% ~ -10%까지 -1%하락할때마다 2주씩 매수 -11% ~ -20%까지 -2%하락할때마다 5주씩 매수 -21% ~ -30%까지 -5%하락할때마다 10주씩 매수 *같은 가격에서는 재진입 금지 예) 시가대비 -3% 빠졌다 시가까지 올라온경우 -1% -2% -3%때 매수는 하지만 다시 올라온다고 -2% -1%때 매수는 안되게
프로필 이미지
오라클
2020-04-05
746
글번호 137563
시스템

관리자에 의해 시스템시장 토론실로 이동되었습니다

프로필 이미지
orora
2020-04-05
9
글번호 137562
시스템
답변완료

함수식부탁입니다

$,안녕하세요 1, N봉전(변수조절)캔들의 시가와종가의 중심선을 오른쪽 그리기로 Taxt출력 하고싶습니다 2, 현재봉의 시가가 이전봉의 시가보다 3틱이상 크고 현재봉의종가가 이전봉의 종가보다 3틱이상 작을때 두 조건만족시에 현재봉 완성시 현재봉고가,저가라인을 표시합니다. 3, 현재봉의 시가가 이전봉의 시가보다 3틱이상 작고 현재봉의종가가 이전봉의 종가보다 3틱이상 클때 두 조건만족시에 현재봉 완성시 이전봉의 고가,저가라인을 표시합니다. 4, 2,3번의 고가,저가라인은 라인발생이후 5개봉까지 유지하면좋겠습니다. 함수식 도움 부탁드립니다. $,고맙습니다.
프로필 이미지
회원
2020-04-05
762
글번호 137561
지표
답변완료

수식 변경 요청드립니다.

안녕하세요. 아래 수식은 진입 시 3 계약이 동시에 진입하여 3차례에 걸쳐서 나누어 분할 익절되고 손절 시 15틱 일괄 청산 되도록 되어 있습니다. 이것을 역으로, 진입 시 3계약 동시 진입하여 N 틱수 이익 시 3계약 모두 일괄 청산되고, 손실 시 손절틱수1(10), 손절틱수2(15), 손절틱수3(20) 이 되도록 변경하여 주시면 감사 하겠습니다. input : 거래시간 (1), 시작시간 (220000), 끝시간 (045000),익절틱수1(10),익절틱수2(15),익절틱수3(20),손절틱수 (15); Input : 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52), short(12), long(26), sig(9),BBP(120), 당일누적손실틱수 (100); Var : MACDv(0), MACDsig(0),macdosc(0), Condition3(false); var : 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0), Xcond(false),N1(0),daypl(0),당일누적손실 (0); var1 = MACD(short, long); var2 = ema(MACDv,sig); var3 = ma(C,BBP); 전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2; 기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2; 기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2; 선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ; 선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2; if 거래시간 == 1 then condition3 = (stime>=시작시간 or stime<=끝시간); Else if 거래시간 == 2 then condition3 = (stime>=시작시간 and stime<=끝시간); Else condition3 = true; if 거래시간 == 1 or 거래시간 == 2 then { if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Xcond = false; N1 = NetProfit; } } else { if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } } 당일누적손실 = PriceScale*당일누적손실틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then Xcond = true; # 매수/매도청산 if MarketPosition == 0 and TotalTrades == TotalTrades[3] and Xcond == false and Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then { Buy("b",OnClose,def,3); ExitLong("bp1.",atlimit,C+PriceScale*익절틱수1,"",1,1); ExitLong("bp2.",atlimit,C+PriceScale*익절틱수2,"",1,1); ExitLong("bp3.",atlimit,C+PriceScale*익절틱수3); } # 매도/매수청산 if MarketPosition == 0 and TotalTrades == TotalTrades[3] and Xcond == false and Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then { Sell("s",OnClose,def,3); ExitShort("sp1.",atlimit,C-PriceScale*익절틱수1,"",1,1); ExitShort("sp2.",atlimit,C-PriceScale*익절틱수2,"",1,1); ExitShort("sp3.",atlimit,C-PriceScale*익절틱수3); } if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수1 then ExitLong("bp1",atlimit,EntryPrice+PriceScale*익절틱수1,"",1,1); if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수2 then ExitLong("bp2",atlimit,EntryPrice+PriceScale*익절틱수2,"",1,1); if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수3 then ExitLong("bp3",atlimit,EntryPrice+PriceScale*익절틱수3); } if MarketPosition == -1 Then{ if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수1 Then ExitShort("sp1",atlimit,EntryPrice-PriceScale*익절틱수1,"",1,1); if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수2 Then ExitShort("sp2",atlimit,EntryPrice-PriceScale*익절틱수2,"",1,1); if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수3 Then ExitShort("sp3",atlimit,EntryPrice-PriceScale*익절틱수3); } SetStopLoss(PriceScale*손절틱수,PointStop); if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } if MarketPosition == 1 then { ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts)); }
프로필 이미지
고박사122
2020-04-05
709
글번호 137560
시스템