커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표표시와 소리나는 것간의 불일치문제는 어찌 해결하나요?

안녕하세요.. 해외선물(오일)거래에서 "지료" 로서 #1. 당일 시가 plot1(dayopen,"당일시가"); #2. 당일 중간값 plot2((dayhigh+daylow)/2,"당일중간"); #3. 당일 1/3중심 plot3((dayhigh+daylow+dayopen)/3,"당일1/3"); 를 차트에 나타나게 해서 보고있고요 아울러 현재가가 위 가격에 도달하면 소리가 나도록 별도로 "검색"식을 var1=(dayhigh+daylow+dayopen)/3; var2=(dayhigh+daylow)/2; #1. 당일 시가 터치 if crossup(C,dayopen) or crossdown(C,dayopen) Then PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 시가터치.wav"); #2. 당일 1/3중심 터치 if crossup(C,var1) or crossdown(C,var1) Then PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 3분의1터치.wav"); #3. 당일 중간값 터치 if crossup(C,var2) or crossdown(C,var2) Then PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 중심터치.wav"); 이렇게 정하고 파일을 만들어 보관 및 위치지정을 해줌으로써 소리가나서 알려주도록 만들었습니다. 처음에는 딱딱 잘 맞아 제대로 작동을 했는데요 시간이 흐르다보니 어느샌가(지표나 검색 양측 어느 하나도 건들지않았습니다. 거래 월물이 바뀌면서 달라지는 걸까요??) 둘이 완전히 따로도는 상황이 되어버렸습니다(차트에 시가로 표시되는 곳에 현재가가 닿은것도 아니고 완전히 저 멀리있음에도 소리는 시가에 닿았다라고 소리가 나요.) 왜 그럴까 전혀 모르겠습니다. 그러다보니 해결책도 모르겠는데 좋은 방책좀 알려주세요 답답하네요. 아참! 이러한 문제는 NH선물 예스트레이더(해외선물 오일)에서도 그렇고 하이투자 예스트레이더(코스피선물)에서도 똑같은 문제가 발생하고있습니다.
프로필 이미지
지혜샘
2016-07-21
163
글번호 100271
지표
답변완료

고가와저가사이추격금지구역

input : HP(5),LP(5); var : cnt(0),HH(0),LL(0); HH = dayhigh(1); for cnt = 1 to HP{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); } LL = dayLow(1); for cnt = 1 to LP{ if daylow(cnt) < LL Then LL = dayLow(cnt); } if crossup(c,HH) then buy(); if CrossDown(c,LL) Then sell(); input : AtrMult(5), AtrPeriod(5); var : AtrVal(0), posHigh(0), posLow(0); ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+2); PosLow = Lowest(L,BarsSinceEntry+2); #5일고가와 5일저가사이 추격상하 매매 금지 If MarketPosition == -1 and C > HH Then buy("ATR6", AtStop, PosLow + ATRVal); If MarketPosition == 1 and C < LL Then sell("ATR5", AtStop, PosHigh - ATRVal); If MarketPosition == 0 and C < HH Then buy("ATR8", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal); If MarketPosition == 0 and C > LL Then sell("ATR7", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal); 위수식에서 5일고가와 5일저가사이에서는 추격안되록하였습나다 그런데 추적이 나오는데 잘못된걸 좀 고쳐주세요 감사합니다
프로필 이미지
큰바위얼굴
2016-07-21
165
글번호 100270
시스템
답변완료

수식 작성(수정) 요청드립니다.

안녕하세요.. 아래 macd divergence를 rsi divergence로 변경하고 싶은데요.. 부탁드립니다. Input : Period(60), ShortPeriod(12), longPeriod(26), Highperiod(30); Var : MACDV(0),LL(0),HH(0),ML(0),MH(0); MACDV = macd(shortPeriod,longPeriod); ML = lowest(MACDV,Period); MH = highest(MACDV,Period); LL = Lowest(L,Period); HH = highest(H,Period); #매수진입/매도청산 if MACDV > MACDV[1] and MACDV[1] <= MACDV[2] and ML[2] < MACDV[1] and (L < LL[1] or L[1] < LL[2] or L[2] < LL[3]) Then buy(); #매도진입/매수청산 if MACDV < MACDV[1]and MACDV[1] >= MACDV[2] and MH[2] > MACDV[1]and (H > HH[1] or H[1] > HH[2] or H[2] > HH[3]) Then sell();
프로필 이미지
yunmx
2016-07-21
164
글번호 100269
시스템
답변완료

문의 드립니다

특정이평선(예를 들면 20이평선)의 기울기나 강도를 알 수 있는 그런 지표가 있을까요 ? 즉 20이평선이 강하게 솟아 오르거나 하락하면... 그 강도나 기울기를 수치나 지표로 알고 싶습니다. 감사합니다
프로필 이미지
회원
2016-07-21
179
글번호 100268
지표
답변완료

행복; 시스템식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 작성 바랍니다 << 조건 >> - 시뮬레이션 목적 입니다 - 주기; 일봉 - 고가 == 상한가 - 종가 < 상한가 < 매수 > - 매수금액; 천만원 - 당일 고가(상한가) < 매도 > - 매도수량; 전량 - 당일 종가 수고하십시요^^
프로필 이미지
행복한가방
2016-07-21
159
글번호 100267
시스템

그리금강산 님에 의해서 삭제되었습니다.

프로필 이미지
그리금강산
2016-07-21
1
글번호 100266
시스템
답변완료

수식 부탁드립니다

(1)시스템 파라볼릭 상단 저항선을 고가로 터치하고 음봉 발생 캔들에 매도...음봉 시가 돌파 매수 파라볼릭 하단 지지선을 저가로 터치하고 양봉 발생 캔들에 매수...양봉 시가 붕괴 매도 (2)지표 음봉 시가 가격 파란색 선으로 표시 양봉 시가 가격 빨간색 선으로 표시 (3)시스템 20 캔들 최고가와 40 캔들 최고가가 같은 값이고 이 값을 돌파시 매수 20 캔들 최저가와 40 캔들 최저가가 같은 값이고 이 값을 붕괴시 매도 (4)시스템 20 캔들 최고가와 40 캔들 최고가가 같은 값이고 이 값을 터치할 때 매도 20 캔들 최저가와 40 캔들 최저가가 같은 값이고 이 값을 터치할 때 매수 감사합니다
프로필 이미지
회원
2016-07-21
203
글번호 100264
시스템
답변완료

함수변환요청(300)

안녕하세요? 아래는 키움증권에서 사용했던 함수입니다. 예스에서 사용가능하도록 함수 변환 요청드립니다. 전략은 박스권을 설정하여 고점매수, 저점매도입니다. <사용자함수> Param : BarsBack( Num ); Var : ii( 0 ), st( 0 ), et( 0) ; Var : Summercond(False); Value1 = (10000 * Year(D)) + (100 * 3) + 1; Value2 = 15 - dayofweek(value1); // 3월 두번째 일요일 날짜 value3 = (10000 * Year(D)) + (100 * 11) + 1; value4 = 8 - dayofweek(value3); // 11월 첫번째 일요일 날짜 Summercond = date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4; If Summercond = true Then Begin CME_StartTime = 070000; // 써머타임 적용 시, 장시작 시간 et = 060000; // 써머타임 적용 시, 장종료 시간 End Else Begin CME_StartTime = 080000; // 장 시작 시간 et = 070000; // 장 종료 시간 End; <시스템함수> var : TradingStartTime(0),TradingEndTime(0),myDayIndex(0); TradingStartTime = CME_StartTime(0); TradingEndTime = TradingStartTime - 10000; if time >= TradingStartTime Or time < TradingEndTime Then Begin myDayIndex = myDayIndex + 1; if myDayIndex > 10 Then Begin if C > Highest(C[1],10)*1.003 And False = cond1 Then Begin Buy("Buy",AtMarket); cond1 = true; End Else if C < Lowest(C[1],10) *0.9997 And False = cond2 Then Begin Sell("Sell",AtMarket); cond2 = true; End; End; End Else Begin myDayIndex = 0; cond1 = False; cond2 = False; if SignalPosition <> 0 Then Begin ExitLong(); ExitShort(); End; End;
프로필 이미지
통큰베팅
2016-07-21
177
글번호 100258
시스템
답변완료

교차에서 다음 교차까지

아래의 수식을 크로스업한 값을 저장하고 다음 크로스업할때까지 수평선을 그리고 크로스다운한 값을 저장하고 다음 크로스다운할때까지 수평선을 그리는 수식으로 수정 부탁합니다. var : T(0),P(0),A(0),B(0); #P가 A를 상향돌파 #구분값1 #P값 저장 if crossup(P,A) then{ T = 1; var1 = P; } #P가 B를 하향이탈 #구분값1 #P값 저장 if CrossDown(P,B) then{ T = -1; var1 = P; } #구분값이 1인 구간에서는 빨간색으로 var1값 출력 if T == 1 Then plot1(var1,"1",RED); #구분값이 -1인 구간에서는 파란색으로 var1값 출력 if T == -1 Then plot2(var1,"1",blue);
프로필 이미지
jdavid
2016-07-21
181
글번호 100257
지표