커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의

안녕하세요? data1 ~ data4 에 4개의 종목이 있습니다. a1 > 0 이면 data1의 종목을 n1개 사고, a1 <=0 이면 data1의 종목을 사지 않고, 또 그 전에 보유하고 있었으면 다 팝니다. 주식 종목이므로, 매도진입은 안합니다. 즉, 판다는 이야기는 그 종목 보유 안 한다는 말씀입니다. ... 이런식으로 a4 > 0 이면 data4의 종목을 n4개 사고, a4 <=0 이면 data4의 종목을 사지 않고, 또 그 전에 보유하고 있었으면 다 팝니다. 즉, a1 ~ a4 모두 0 이하면 다 팔고 가만히 있기에, 직전 지표값에서 수평선이 그어지고 있어야 합니다. a1, a3 > 0 이고 a2, a4 <0 이면 data1, data3 종목만 각각 n1, n3개 사서 보유합니다. 이렇게 했을 때의 손익을 그려주는 지표를 부탁드립니다. 감사합니다.
프로필 이미지
에구머니
2022-05-16
895
글번호 158876
지표
답변완료

수식부탁드립니다

a4=BBandsC(Period,D1); A=MACD(short,long); B=MACD(short,long)-eavg(MACD(short,long),signal); a3=eavg(MACD(short,long),signal); m10=ma(c,10,지수); a2= a>a3 && a>0 && a4<l && o(1)>=c(1) && o<=c && m10>l; a2 && !a2(1) period 20 d1 2 short 12 long 26 signal 9
프로필 이미지
장군777
2022-05-16
901
글번호 158875
지표
답변완료

문의

안녕하세요 해외선물 질문합니다 해외선물에서 신규매수 1계약후 이 계약을 청산하지 않은 삳태에서 신규매도 1계약 진입해서 신규매수와 신규매도 1계약이 공존하는 수식이 가능한가요? (가능한 지 여부를 알고싶습니다)
프로필 이미지
검은약
2022-05-15
826
글번호 158874
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-05-15
68
글번호 158873
시스템
답변완료

수식 수정부탁드립니다.

안녕하십니까 아래수식 잘 사용중입니다. 조건을 추가하고 싶어 글남깁니다. -------------------------------------------- var : mav(0); mav = ma(C,5); if Bdate != Bdate[1] Then { Condition1 = False; var1 = 0; Var2 = 0; } var1 = var1+v; Var2 = Var2+1; Var3 = var1/Var2; if C < DayOpen and mav < mav[1] Then Condition1 = true; if Condition1 == true and CrossUp(c,DayOpen) Then Buy(); if MarketPosition == 1 Then { # if CrossDown(C,DayOpen) Then # ExitLong(); # if v >= Var3[1]*5 then # ExitLong(); } SetStopProfittarget(2.3,PercentStop); SetStopLoss(1.8,PercentStop); SetStopEndofday(151500); ㅇ현재 매수 조건 1. 개장 후 시가 형성 후 현재 가격이 시가 아래로 떨어지고 2. 5일 이동평균 하락(분봉에 적용) 위 조건이 만족된 후 3. 현재 가격이 당일 시가를 돌파 할 경우 매수 ㅇ 수정요청 매수 조건 1. 개장 후 시가 형성 후 현재 가격이 시가 아래로 떨어지고 2. 5일 이동평균 하락(분봉에 적용) 위 조건이 만족된 후 3. 현재 가격이 당일 시가를 돌파 AND 4. MACD 오실레이터 양의 값 AND 5. 20일 가격이동평균 상승 중 AND 6. 현재가격이 볼린저밴드 상단을 돌파 하지 않았다면 바로매수 7. 현재 가격이 볼린저밴드 상단을 돌파 하였다면, 현재가격이 5일 가격이동평균선 하향돌파 하면 매수 잘부탁 드립니다. 감사합니다.
프로필 이미지
대한이
2022-05-15
1005
글번호 158872
시스템
답변완료

수식에대한 질문입니다

서머타임에 따른 매매 허용 시간에 대한 질문의 답변을 이렇게 주셨었는데요 var : ST(0),ET(0),Tcond(False); if Bdate != Bdate[1] Then { if stime >= 80000 Then { ST = 223000; ET = 053000; } else { ST = 213000; ET = 043000; } } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then Tcond = true; if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Tcond == true Then { 진입식 } 여기서 궁금한 단락이 이것입니다 (sdate != sdate[1] and stime >= ST) (sdate != sdate[1] and stime >= ET) 이 식이 왜 있는것인지 이해하기가 어렵습니다. 자정을 넘긴시점(00시00분)에서 stime값이 ST값보다 크거나 같은 상황이 있을리 없지 않습니까? ET의 경우에도 마찬가지구요. 시뮬레이션에 물려봐도 두가지 경우가 true을 띄는 경우가 없던데 이 식은 왜 들어가있는것인지요?
프로필 이미지
부동여산
2022-05-15
932
글번호 158871
시스템
답변완료

해외선물 (당일마감 문의)크루드오일 시스템 매매 중입니다.

해외선물 크루드오일 시스템 매매 중입니다. 당일 매매(오버나잇 금지) 조건식으로 알려주신대로 이렇게 운영 중인데 맞는지요? 매일 오전 06:10 에 당일 자동마감됩니다. 섬머타임 관련없이 연중 이 조건식으로 시스템운영이 가능한지요? 원하는 크루드오일 시스템 운영시간 *모두 한국시간 실시간 기준으로 요망 *시작: 매일 아침 장시작 직후 ---> 1분 59초 후 *종료: 매일 아침 장종료 직전 ---> 2분 00초 전 조건식과 그 결과물(첨부)은 아래와 같읍니다. ################################################################### input : StartTime(070159),EndTime(055800); var : Tcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } 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; IF Endtime <= starttime Then { SetStopEndofday(0); } } ################################################################### if Tcond == true Then { If ((sTime >= 070159) or (sTime < 055800)) and 매도조건식 ### <----- 매도조건식 Then Sell ("sell-stocro-01"); If ((sTime >= 070159) or (sTime < 055800)) and 매수조건식 ### <----- 매수조건식 Then Buy ("buy-stocro-01"); } ################################################################### ^^항상 감사합니다.
프로필 이미지
우후훗
2022-05-15
1100
글번호 158870
시스템
답변완료

data2에 관한 문의

input: period(20), n(2); value1 = BollBandUp(period,n) ; Value2 = BollBandDown(period,n); Value3 = ma(c,60); if CrossUp(Value2,Value3) and Value3[1] < Value3 Then Buy("ll"); if CrossDown(Value1,Value3) Then Sell("ss"); 예를 들면 이 전략을 data2에 적용하려면 data2(CrossUp(Value2,Value3) and Value3[1] < Value3 ) 이런식으로는 안되는건가요? // 위 식으로 data2에서 "ll"이 발생하고 "ss"가 발생하기 사이에 data1에서 신호가 발생하게 만들고 싶은데 방법이 있을까요? 다시 말해 긴 시간프레임의 진입신호가 짧은시간프레임의 진입 조건이 되도록 하고 싶습니다 // data1 이 3분봉 data2 가 15분봉일 경우 data2의 조건이 c>ma(c,50) 같은 지속형 조건이 아닌 crossup이라던지 c>o라던지 어떤 한 순간만 만족하는 조건일 경우 data2의 봉이 완성되는 순간 data1에서의 요구조건과 일치하는 경우에만 신호가 발생하나요? 즉 신호가 아무리 많이 발생할 수 있다고 해도 15분에 한번이 최대인가요? // data2(open) < data2(close) 와 data2(o<c) / data2(o<c)[1] 과 data2(o[1]<c[1]) 이런것들은 뭐가 맞는 표현식인가요?
프로필 이미지
초심자의행운
2022-05-15
1133
글번호 158869
시스템
답변완료

종가파라볼릭 일정폭에 알람소리

선물 거래시, 하락 종가파라볼릭이 발생하여 반등없이 계속 하락할때, 하락종가파라볼릭 최고꼭지점에서 -1p하락하면 알람 울리고 더 하락하면 -1.5p에서,또 더 하락하면 -2p에서,세 군데 알람 울리게 해주시고, 반대로 상승종가파라볼릭이 발생하여 계속 상승할때는,상승종가파라볼릭 최저꼭지점에서 +1p +1.5p +2p 세군데 도달시 알람 울리게 해주세요. 감사합니다.
프로필 이미지
고성
2022-05-14
747
글번호 158868
지표