커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템식 문의

5분봉 기준으로 데이트레이딩 시스템 문의합니다. 참조 데이타 [ data2(c)+data3(c)+ {data4(c)+data5(c)}/100 ] 값의 9시 장시작부터 현재까지 (어제의 값은 절대로 들어가서는 안됩니다.) 진동폭(최고값 - 최저값)의 90% 값을 하향돌파하면 매도하고, 진동폭(최고값 - 최저값)의 90% 값을 상향돌파하면 매수하라! 는 시스템식을 가르쳐 주세요!!! 초보라 잘 안됩니다. 부탁합니다.
프로필 이미지
대호
2012-04-18
357
글번호 50226
시스템

항상여유있게 님에 의해서 삭제되었습니다.

프로필 이미지
항상여유있게
2012-04-18
14
글번호 50225
지표
답변완료

종목검색식부탁

LRS지표로 종목을 검색 할 수 있는 종목검색식 부탁합니다.
프로필 이미지
대주발
2012-04-18
285
글번호 50219
검색
답변완료

질문 드립니다.

아래의 수식을 코덱스 레버리지에 적용하면 2010년 9월 17일 이후에는 거래가 일어나지 않고 있습니다. 어디를 수정하면 거래가 현재까지 진행되는지 궁금합니다. if dayindex == 0 Then{ if bids > asks Then buy("b",AtMarket); if bids < asks Then sell("s",AtMarket); }
프로필 이미지
앙두
2012-04-18
328
글번호 50218
시스템
답변완료

find함수 등 질문입니다..

1. find 함수 괄호 안에 매개변수를 여러개 지정은 안되는가요?? 예를 들면 스토캐스틱, rsi, macd 3개 다 표시하도록은 안되는가요? 2. 아~ 그리고 분봉 검색주기는 임의로 변경 불가능한가요? 3분봉 이라던가 7분봉이라던가 예스트레이더 리딩스타 우리트레이더 전부 임의 변경 불가인가요? 3. 차트 분봉으로 표시할때 3시 동시호가봉만 따로 표시되는데 봉 시간이 균등한 봉이 되도록 하는 방법은 없는가요?? 예를 들면 120분봉으로 표시하면 4개 봉으로 하루가 완성되어 나오잖아요. 근데 첫 3개봉은 2시간 간격으로 표시되는데 마지막 봉 1개는 동시호가 끝날 때 순간봉(이건 시간 간격이 1분? 1초인가요?)으로 표시가 되는데 이거 어떻게 해결 안되나요? 10분 30분 60분 90분 전부 마찬가지인거 같은데 해결 방안 좀 부탁드립니다..^^
프로필 이미지
불꼰놀이
2012-04-18
321
글번호 50217
검색
답변완료

문의드립니다.

수식지왕님의 인공지능 수식인데 여기에 아래와 같은 청산로직을 추가하고 싶습니다. 현물로만 매매할 예정입니다. [추가하고 싶은 청산로직] ================================================================================== if CodeCategory == 1 Then{ if BasePrice < 50000 Then 매도수량 = int(int(MaxContracts*0.4)/10)*10; Else 매도수량 = int(MaxContracts*0.4); } if CodeCategory == 2 Then 매도수량 = int(MaxContracts*0.4); if CurrentContracts == MaxContracts Then exitlong("청산5",atlimit,EntryPrice*1.05,"",매도수량,1); if CurrentContracts < MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.05 Then{ exitlong("청산3",AtStop,EntryPrice*1.03); exitlong("청산10",atlimit,EntryPrice*1.1, "", 매도수량, 1); } if CurrentContracts == MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.03 Then{ exitlong("청산0",AtStop,EntryPrice*1); } [수식지왕님의 인공지능 시스템식에 위의 청산로직을 추가하고 싶습니다.] ================================================================================== #==========================================# # 시스템명 : Golden_Dead Cross (자동최적화) # 이동평균 + 지수이동평균 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:수수료(0.02),거래세(0.3),슬리피지(0.0); //현물에 맞춤 Var:shortPeriod(0), longPeriod(0), indicators(0), j(0),n(0),최적변수(0), 매수(10),매도(-10),매수비용(0),매도비용(0),평가일(False); Array:shortMa[1001](0),longMa[1001](0), 누적수익[1001](0),모의횟수[1001](0),모의진입[1001](0),모의수익률[1001](0), 모의방향[1001](0),모의이익[1001](0),모의승수[1001](0),확정손실폭[1001](0), 모의승률[1001](0),보상비율[1001](0),잠재손실[1001](0),최대손실폭[1001](0); #=========================================================# # 초기처리 (Initialize Routine) #=========================================================# 매수비용 = 1 + 수수료/100; 매도비용 = 1 - (수수료+거래세)/100; If (BarInterval==1 && Int(Date/100)[1] < Int(Date/100) //매월마다 최적 변수 search //&& (Int(Date/100)-Int(Date/10000)*100)%3 == 0 //또는 분기 1회 ) || (BarInterval > 1 && //분봉일 때는 Date[1] < Date && DayOfWeek(Date[1]) >= DayOfWeek(Date)) //매주마다 Then 평가일 = True; Else 평가일 = False; #=========================================================# # 메인처리 (Main Routine) #=========================================================# For n = 1 To 1000 { indicators = Int((n-1)/(25*20))%2; //이평구분(0~1) shortPeriod = Int((n-1)/25)%20+10; //10~29 longPeriod = (n-1)%25*2+20; //20~69 If shortPeriod < longPeriod Then //장기 기간이 단기 기간보다 더 클때만 진행 { #이동평균 계산 If indicators == 0 Then { shortMa[n] = Ma(C, shortPeriod); longMa[n] = Ma(C, longPeriod); } #지수이동평균 계산 If indicators == 1 Then { If Index == 1 Then { shortMa[n] = C; //shortMa[n] = Ema(C, shortPeriod); longMa[n] = C; //longMa[n] = Ema(C, longPeriod); } //값이 틀리게 나오므로 Else //지수이평도 아래와 같이 풀어서 써야 한다. { shortMa[n] = C * (2/(shortPeriod+1)) + shortMa[n][1] * (1-(2/(shortPeriod+1))); longMa[n] = C * (2/(longPeriod+1)) + longMa[n][1] * (1-(2/(longPeriod+1))); } } //if n==1834 /*and date == 19920727*/ Then //print("검증1.csv",",%.2f,%.2f,%.2f,%.2f",sP,lP,shortMa[n],longMa[n]); //MessageLog("검증1,%.2f,%.2f,%.2f,%.2f",shortMa[n][1],longMa[n][1],shortMa[n],longMa[n]); #=========================================================# # 시뮬레이션 평가 #=========================================================# If 모의방향[n] == 매수 Then { 모의이익[n] = (C*매도비용 - 모의진입[n]*매수비용) - (슬리피지*2); 잠재손실[n] = Min(잠재손실[n],(L*매도비용 - 모의진입[n]*매수비용) - (슬리피지*2)); } Else If 모의방향[n] == 매도 Then { 모의이익[n] = (모의진입[n]*매도비용 - C*매수비용) - (슬리피지*2); 잠재손실[n] = Min(잠재손실[n],(모의진입[n]*매도비용 - H*매수비용) - (슬리피지*2)); } Else { 모의이익[n] = 0; 잠재손실[n] = 0; } 최대손실폭[n] = Min(최대손실폭[n],확정손실폭[n]+잠재손실[n]); # 매수/매도청산 # If CrossUP(shortMa[n], longMa[n]) Then //For문 안에서 계산상 오류가 생기므로 If shortMa[n][1] <= longMa[n][1] && //풀어서 사용 shortMa[n] > longMa[n] Then { If 모의방향[n][1] == 매도 Then { 누적수익[n] = 누적수익[n] + 모의이익[n]; If 모의이익[n] > 0 Then 모의승수[n] = 모의승수[n] + 1; 모의수익률[n] = 모의이익[n]*100/모의진입[n]; 모의횟수[n] = 모의횟수[n] + 1; 모의승률[n] = 모의승수[n]*100/모의횟수[n]; 보상비율[n] = 누적수익[n]/Abs(최대손실폭[n]); 모의방향[n] = 0; 확정손실폭[n] = Min(확정손실폭[n]+모의이익[n],0); 잠재손실[n] = 0; //if n == 1834 then print("거래내역.csv",",매도청산1,%.2f,%.2f,%.2f,%.2f",C,모의이익[n],누적수익[n],모의수익률[n]); } If 모의방향[n] == 0 && Iff(BarInterval==1,1,Iff(Time<142000,1,0))==1 //분봉이 아니면 무조건 적용 Then { 모의방향[n] = 매수; 모의진입[n] = C; //if n == 1834 then print("거래내역.csv",",매수,%.2f",모의진입[n]); } } # 매도/매수청산 # If CrossDown(shortMa[n], longMa[n]) Then If shortMa[n][1] >= longMa[n][1] && shortMa[n] < longMa[n] Then { If 모의방향[n][1] == 매수 Then { 누적수익[n] = 누적수익[n] + 모의이익[n]; If 모의이익[n] > 0 Then 모의승수[n] = 모의승수[n] + 1; 모의수익률[n] = 모의이익[n]*100/모의진입[n]; 모의횟수[n] = 모의횟수[n] + 1; 모의승률[n] = 모의승수[n]*100/모의횟수[n]; 보상비율[n] = 누적수익[n]/Abs(최대손실폭[n]); 모의방향[n] = 0; 확정손실폭[n] = Min(확정손실폭[n]+모의이익[n],0); 잠재손실[n] = 0; //if n == 1834 then print("거래내역.csv",",매수청산1,%.2f,%.2f,%.2f,%.2f",C,모의이익[n],누적수익[n],모의수익률[n]); } If CodeCategory() > 2 && //파생상품 모의방향[n] == 0 && Iff(BarInterval==1,1,Iff(Time<142000,1,0))==1 Then { 모의방향[n] = 매도; 모의진입[n] = C; //if n == 1834 then print("거래내역.csv",",매도,%.2f",모의진입[n]); } } If 평가일 == True Then { If 보상비율[최적변수] < 보상비율[n] && //이부분은 개발자 맘대로 설정 // If 누적수익[최적변수] < 누적수익[n] && //보상비율 대신 누적수익으로 대체 모의승률[n] > 40 Then 최적변수 = n; } } } #==========================================# # 시뮬레이션 결과 검증용 #==========================================# /*If LastBarOnChart == 1 Then { For j = 1 to 1000 { var1 = Int((j-1)/(25*20))%2; //이평구분(0~1) var2 = Int((j-1)/25)%20+10; //10~29 var3 = (j-1)%25*2+20; //20~68 Print("시뮬보고서.csv",",%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f",j,var1,var2,var3, 누적수익[j],모의횟수[j],모의승수[j],모의승률[j],최대손실폭[j],보상비율[j]); } }*/ #==========================================# # 시스템식 #==========================================# If 최적변수 > 0 Then { #현재 적용되고 있는 변수 값을 알고 싶을 때 아래 주석을 풀고 디버깅한다. if 최적변수[1] != 최적변수 Then { var1 = Int((j-1)/(25*20))%2; var2 = Int((최적변수-1)/25)%20+10; var3 = (최적변수-1)%25*2+20; // MessageLog(",%.2f,%.2f,%.2f,%.2f",최적변수,var1,var2,var3); Print("최적변수.csv",",%.2f,%.2f,%.2f,%.2f",최적변수,var1,var2,var3); } value1 = shortMa[최적변수]; //이미 위에서 계산해 놓은 값을 이용 value2 = longMa[최적변수]; # 매수/매도청산 If CrossUP(value1, value2) Then { ExitShort(); If 누적수익[최적변수] > 0 Then Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { ExitLong(); If 누적수익[최적변수] > 0 Then Sell(); } }
프로필 이미지
엠제이
2012-04-18
638
글번호 50216
시스템
답변완료

문의 드립니다.

Input: 라인1(1.31472),Period(20),sto1(10),sto2(5),sto3(5); var1 = Disparity(Period); var2 = StochasticsK(sto1,sto2); var3 = StochasticsD(sto1,sto2,sto3); if var1 <= 100.50 and var1 >= 99.50 then{ if crossup(c,라인1) and var2 > var3 Then buy(); if CrossDown(c,라인1) and var2 < var3 Then sell(); } 위의 식에서.. 필터중 스토 케스틱의 지표값 해당 차트에서 구하는게 아니라 다른 프레임 차트의 지표값으로 설정 가능한가요 ? 예를들어.. 실행하는 차트는 타임프레임 15분이고 필터에 사용할 스토우 케스틱은 60분의 값으로 필터를 걸수 있는지 궁금합니다. 가능하다면 식도 부탁드리겠습니다.
프로필 이미지
카이스
2012-04-18
356
글번호 50207
지표
답변완료

문의드립니다.

안녕하세요. 5분봉 차트에서 Input : Period(71) ; var1 = ema(C,Period); //1일 if CrossDown(c,var1) Then var11 = var1; var21 = 1-var11/DayHigh; if DayHigh>var11 && var21 > 0.03 && c<var11*0.98 Then find(1); 위 종목검색식을 5분으로 설정한 후 검색기간을 150으로 하여 종목을 검색하면 진흥기업이 검색이 됩니다. 위 식에서 DayHigh>var11 조건 상 진흥기업이 나올 수 없습니다. 뭐가 잘못된건가요? 수고하세요.
프로필 이미지
골드드래곤
2012-04-18
318
글번호 50205
검색
답변완료

문의드립니다

아래식을 예스로 변환 부탁합니다. HighestSince(1,Crossup(C,eavg(C,20)),H) 수고하세요
프로필 이미지
뉴스타트
2012-04-18
359
글번호 50204
지표