커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의

input : StartTime(223000),EndTime(0); input : Length(20), D1(2); var : Tcond(false); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; var1 = BollBandUp(Length,D1); var2 = BollBandDown(Length,D1); if Tcond == true Then { If CrossUP(H,var1) and c > o then Buy("b",OnClose,DEF,2); If CrossDown(L,Var2) and C < O then Sell("s",OnClose,DEF,2); } if MarketPosition == 1 Then { ExitLong("Bp1",AtLimit,EntryPrice+PriceScale*50,"",1,1); ExitLong("Bp2",AtLimit,EntryPrice+PriceScale*100,"",1,1); ExitLong("Bl",AtStop,EntryPrice-PriceScale*3,"",1,1); if CurrentContracts < MaxContracts and Highest(H,BarsSinceEntry) > EntryPrice+PriceScale*50 Then ExitLong("btr",AtStop,EntryPrice+PriceScale*10); } if MarketPosition == -1 Then { ExitShort("sp1",AtLimit,EntryPrice-PriceScale*50,"",1,1); ExitShort("sp2",AtLimit,EntryPrice-PriceScale*100,"",1,1); ExitShort("sl",AtStop,EntryPrice+PriceScale*3,"",1,1); if CurrentContracts < MaxContracts and lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*50 Then ExitShort("str",AtStop,EntryPrice+PriceScale*10); } IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { IF Endtime <= starttime Then { SetStopEndofday(0); } } 1. 나스닥(22시 30분 ~ 24시) 거래시간 지정 2. 매도신호가 나오는 캔들의 종가에 매도. 음봉일 때만 매도(양봉일 때는 안함) 3. 매수신호가 나오는 캔들의 종가에 매수. 양봉일 때만 매수(음봉일 때는 안함) 4. 매수와 매도, 모두 2계약을 진입합니다. 매수와 매도, 모두 2계약을 진입합니다. 1계약은 익절 50틱 종료. 남은 1계약은 익절 100틱 종료. 만약 남은 1계약이 51틱 이상 상승했다가 100틱 익절 되지 못하고 방향이 바뀌었을 시 10틱 익절로 종료. 5. 2계약의 손절은 30틱. 이 내용으로 문의 드려서 위의 수식을 주셨습니다. 데모를 해보니 2계약이 진입되어 진행되는데, 한번은 목표실현가를 도달했는데도 청산이 안되다가 지정하지 않은 가격에 익절되었고 다음 한번은 2계약 모두 목표실현가를 넘었는데 청산되지 않고 있다가 1계약은 50틱 청산 되었고 남은 1계약은 약손절 되었습니다. 어떤 문제인지,, 수식에 착오가 없는지 답변 부탁드립니다.
프로필 이미지
회원
2021-10-06
1357
글번호 152717
시스템
답변완료

부탁 드립니다.

도움에 감사 드립니다. 질문1) 검색식에서 제공되는 "횡보추세 상향돌파"식을 "횡보추세 하향돌파"식으로 수정 부탁 드립니다. Input : Period(5), Percent(10); value1 = highest(H, Period); value2 = lowest(L, Period); If C > value1[1] && C[1] <= value1[1] && value1[1] < value2[1]*(1+Percent/100) Then value3 = (C-C[1])/C[1]*100; Else value3 = 0; Find(value3); 질문2) 20 이평과 60이평이 골든 크로스 된 후, 10 봉이내 에서 다시 5이평이 20 이평을 골든 크로스 되었거나, 5/20 이평의 이격이 12% 내로 가까워진 종목 검색식으로 작성 된 것입니다. 이것을 20 이평과 60이평이 데드 크로스 된 후, 10 봉이내 에서 다시 5이평이 20 이평을 데드 크로스 되었거나, 5/20 이평의 이격이 12% 내로 가까워진 종목 검색식으로 수정 부탁 드립니다. input : n(10); var : t(0),s(0); var1 = ma(C,5); Var2 = ma(C,20); Var3 = ma(C,60); if var2 > var3 and CountIf(CrossUp(Var2,Var3),n) >= 1 and (CrossUp(var1,Var2) or (var1 <= Var2 and var1 >= var1*0.88)) Then Find(1);
프로필 이미지
yes
2021-10-06
1451
글번호 152716
지표

요타 님에 의해서 삭제되었습니다.

프로필 이미지
요타
2021-10-06
0
글번호 152715
시스템
답변완료

함수요청

안녕하세요? 아래 글번호 73686번 재질문입니다. 답변주신 아래의 스크립트에 전략을 변경하여 작성 요청드립니다. 국내선물 3분봉으로 일중거래를 하고자 합니다. (9시 개장 후에 첫신호가 나오면 진입하고 당일 청산으로 거래를 마감하고자 합니다.) - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡고 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 양의 값이되 증가하면 장중 현주가가 고점(HH)돌파하면 조건 만족 즉시 매수 진입 - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡고 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 음의 값이되 그 음의 절대 값이 증가하면 장중 현주가가 저점(LL)이탈하면 조건 만족 즉시 매도 진입 - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡고 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 양의 값이되 감소하면 장중 현주가가 저점(LL)이탈하면 조건 만족 즉시 매수 진입 - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡고 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 음의 값이되 그 음의 절대 값이 감소하면 장중 현주가가 고점(HH)돌파하면 조건 만족 즉시 매도 진입 - 진입봉과 청산봉이 동일한 봉에서 동시에 신호가 생성되서는 안되며 15시 15분 완성 익봉 강제 청산하고자 합니다. *data1,2 이렇게 참조함수를 사용하지 않고 주종목 3분봉만을 사용하여 스크립트를 작성 요청드립니다. Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; if MACDO > 0 Then { T = 1; HH = H; LL = L; } if MACDO < 0 Then { T = -1; HH = H; LL = L; } } Else { if T != 0 Then { if H > HH Then HH = H; if L < LL Then LL = L; } if T == 1 and MACDO < 0 Then { T = 2; var1 = HH; Var2 = LL; } if T == -1 and MACDO > 0 Then { T = -2; var1 = HH; Var2 = LL; } if T == 2 and H > var1 and sTime < 151500 Then { T = 3; Buy("b",AtMarket); } if T == -2 and L < var2 and sTime < 151500 Then { T = -3; Sell("s",AtMarket); } if MarketPosition == 1 and BarsSinceEntry >= 1 and DayClose(1) > DayOpen(1) and C > DayHigh(1) Then ExitLong("bx1",AtMarket); if MarketPosition == -1 and BarsSinceEntry >= 1 and DayClose(1) < DayOpen(1) and C < DayLow(1) Then ExitShort("sx1",AtMarket); if sTime == 151500 Then { if MarketPosition == 1 Then ExitLong("bx2",AtMarket); if MarketPosition == -1 Then ExitShort("sx2",AtMarket); } }
프로필 이미지
흰둥이아빠
2021-10-06
1192
글번호 152714
시스템
답변완료

수식작성 도움좀 부탁드립니다.

안녕하세요. 종가가 (1)일목균형표 구름대와 (2)20일 이동평균선을 상승돌파하면 매수하도록 전략을 작성하고 싶습니다. (1), (2)번의 선후관계는 전혀 고려하지 않구요. 예를 들어 첨부파일과 같은 경우 입니다. 제 나름 머리를 써서 지표를 한 번 작성해보았으나 (아래처럼) 아무 시그널도 뜨지 않습니다. Inputs: TurnLen(9), StdLen(26), PrdLen(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), span1(0), span2(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 후행스팬 = Close ; span1 = (전환선 + 기준선) / 2 ; span2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2; if C > ma(C,20) and C > max(span1,span2) Then { Buy("매수진입"); } 도움을 주시면 정말 감사드리겠습니다 !
프로필 이미지
멍드래곤
2021-10-06
1061
글번호 152713
시스템
답변완료

수식 부탁드립니다

수식중 "xx"라는 이름으로 음봉 청산을 했는데, "xx" 청산이후 재진입 조건은 - "xx"음봉의 고점보다 높은 양봉에 재진입 하는 수식 부탁드립니다 제가 해보는데 xx 청산의 고점을 어떻게 표현할지 몰라서요.. *청산의 저점 수식도 부탁드립니다 (var1=5ma) IF MarketPosition() == 1 THEN { If EntryPrice > MA(Close, 20)[BarsSinceEntry] And C < O And var1<var1[1] and c<c[3] and c<var1 and disparity(period2) >= 104 THEN ExitLong("xx"); } ## 재매수 if MarketPosition == 0 and IsExitName("xx",1) == True and c>o and o>Var1 Then Buy("RX");
프로필 이미지
knp116
2021-10-06
1154
글번호 152712
시스템
답변완료

문의 드립니다.

당일 스토케스틱 크로스가 여러 번 발생할 때 매수 매도 식 부탁드립니다. 매수 : 당일 마지막 스토케스틱 크로스 다운 시 선물 종가를 기준으로 현재가가 그것 보다 1 이상 작으면서 스토케스틱 크로스 업 하면 매도 : 당일 마지막 스토케스틱 크로스 업 시 선물 종가를 기준으로 현재가가 그것 보다 1 이상 크면서 스토케스틱 크로스 다운 하면
프로필 이미지
초보자
2021-10-06
1021
글번호 152711
시스템
답변완료

수식 문의드림니다

수고하심니다 후행스팬이 타증권사의tema(12)선을 돌파하면서 당일 단순종가 20이평이 타증권사의tema(12)선을 돌파하는수식좀 만들어주세요 감사함니다
프로필 이미지
밤톨123
2021-10-06
839
글번호 152710
검색
답변완료

문의

Input : Length(20), D1(2); # 매수/매도청산 If CrossUP(H,BollBandUp(20, 2)) then Buy(); # 매도/매수청산 If CrossDown(L,BollBandDown(20, 2)) then Sell(); 1]매수/매수1계약식 진입 2]손절30틱/익절50틱 -------------------------- 아직공부중이라서 용어해석부탁드립니다 Tcond sdate != sdate[1] and stime >= EndTime ?같지않다 크지않다? sdate != sdate[1] and stime >= StartTime
프로필 이미지
회원
2021-10-06
794
글번호 152709
시스템