커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

Array 변수를 사용한 일일 수익률 저장

안녕하십니까? 25일간의 일일 수익률을 Array를 사용하여 저장해보려고 다음과 같이 수익을 작성해보았는데 메모리 쪽 에러가 나는지 전략 실행시 YT가 셧다운됩니다 ㅠ var : cnt(0); Arrays : dailyY[100](0); dailyY[0]=C/C[1]; for cnt = 1 to 24{ dailyY[cnt]=dailyY[cnt-1][1]; } 수식 작성 잘 되었는지 확인 부탁드리고 추가로 1. 25일간 수익률 저장시 최소 메모리 확보 위해서는 Arrays : dailyY[24](0); 아니면 Arrays : dailyY[25](0); 로 선언해야하는지 2. Array 변수를 MA 등 가격과 기간 값을 같이 불러들이는 함수와 어떻게 함께 사용가능한지 궁금합니다 감사합니다
프로필 이미지
blah
2012-12-20
260
글번호 57438
시스템
답변완료

검색

답변에 늘깊은감사을드립니다. 종목검색시 60일전저점 보다 같거나 위에있는종목검색되게 부탁합니다 첨부한그림에서 macd지표의 전고점을 돌파하는 검색식 부탁합니다 시그널선은 무시해도됩니다 macd전고점돌파하는 검색부탁합니다 그림에서는 macd두번을 돌파하는 모습입니다 *전고점 잡기가 어려우면 봉갯수로(20~60개)잡아주시길 부탁합니다 예"10개봉전에macd전고점을 돌파하였는데20봉으로 잡으면은 10개봉전에 돌파한후 macd가 전고점을 유지또는상승에서(이탈하였다가다시전고점이상시) 20개봉날에들어오면은 검색해주심됩니다
프로필 이미지
질갱이
2012-12-20
243
글번호 57436
검색
답변완료

지표문의

if stime < 100000 Then{ var1 = dayhigh; var2 = daylow; var3 = var1-var2; } plot1(var1,"고가",RED); plot2(var2+var3*0.75,"75%",MAGENTA); plot3(var2+var3*0.5,"50%",GRAY); plot4(var2+var3*0.25,"25%",MAGENTA); plot5(var2,"저가",RED); 당일 9시부터 10시까지의 가격으로 4등분선을 만들었습니다. 그런데 plot1 위로도 4개의 선을 더 긋고 plot5아래로도 4개의 선을 더 긋고 싶어요. plot1위로 그으려면 1.25%/1.5%/1.75%/2%하면 되는데 plot5아래로 그으려면 어떻게 수식을 해야할지 모르겠어요 조언해주세요^^;;;;;;; 그리고 plot1, plot5는 선 굵기 굵게 안되나요?
프로필 이미지
우쭈쭈
2012-12-20
271
글번호 57430
지표
답변완료

알고리즘을 작성해서 설정하면...

수고 많으십니다. 저는 저만의 확고한 매매법을 가지고 매매하고 있습니다. 제가 매매하는 자리가 대부분 '숫자'로 표현(계산)할 수 있을 것 같아서 여쭤봅니다. 1. 제 매매법을 수식화(알고리즘?)해서 몇몇 증권사에서 제공하는 예스트레이더 프로그램에 입력하면 제가 설정한 조건에 맞는 종목을, 조건에 맞는 자리에서 컴퓨터가 자동으로 매수하고, 매도하도록 하는 것이 가능한가요? 2. 컴퓨터가 자동으로 매매하진 못하더라도, 그때그때 매매신호를 제공해주긴 하나요? 3. 수익(알고리즘?)을 작성하면.. 그대로 매매했을 때 얼마나 수익(또는 손실)을 낼 수 있는지 시뮬레이션 하는 것이 가능한가요?
프로필 이미지
기본
2012-12-20
254
글번호 57429
시스템
답변완료

틱챠트에서 즉시 진입 수식

수고많으십니다. 지금이 9시 5분입니다. 시스템을 적용시키지 않고 있다가 예스트레이더에서 시스템을 적용시키면 즉시 현재봉이 완성되자 마자 매수 혹은 매도 진입을 할 수 있는 루틴이 가능한가요?
프로필 이미지
선행
2012-12-20
217
글번호 57428
시스템
답변완료

시스템식 변경

항상 감사드립니다 시스템1,시스템2을 이용하여 시스템식을 변경하려합니다 시스템식 1 . Input : shortPeriod(25), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); If CrossUP(value1, value2) Then { buy(); } If CrossDown(value1, value2) Then { if MarketPosition == 0 Then Sell(); if MarketPosition == 1 and BarsSinceEntry >= 30 Then sell(); } 시스템식2. Input : shortPeriod(25), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); If CrossUP(value1, value2) Then { if TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 30) Then Buy(); if MarketPosition == -1 and BarsSinceEntry >= 30 Then buy(); } If CrossDown(value1, value2) Then { if TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 30) Then Sell(); if MarketPosition == 1 and BarsSinceEntry >= 30 Then sell(); } SetStopLoss(PriceScale*10,PointStop); *** 시스템식 변경 **** 아래시스템식은 여러가지 합성조건을 만족시 매수 여러가지 합성조건을 만족하고 var71을 CrossDown시 매수청산하는 식입니다 챠트에 적용해보면(붙임참조) 매수 -> 매수청산1 -> 매수 ->매수청산2 나옵니다 위식을 1.매수후 30개봉 이내에서는 매수청산금지 2.매도후 30개봉 이내에서는 매도청산금지 로 변경하고 싶습니다 감사합니다 1.매수 #피봇61.8위_선행스팬2 상승추세_삼각72고가 위_macd>0 매수# if c > var19 and var52[25] < var52 and var73 < c and MACDV>0 Then buy(); 2.매수청산1 # 현재매수상태_삼각72저가 하향돌파 #매수청산_1 # if MarketPosition == 1 and c>var61 and var48[25]>var71 and CrossDown(c,var71) Then exitlong(); 3.매수청산2 #현재매수상태_선행스팬2아래_삼각72저가 하향돌파 #매수청산_2 # if MarketPosition == 1 and c<var48[25] and CrossDown(c,var71) Then exitlong(); 4.매도 # 선행스팬2 하락추세_삼각72저가아래_ macd 하락 #매도_1 # if c < var17 and var52[25] > var52 and var71 > c and MACDV<0 Then sell();
프로필 이미지
조민철
2012-12-20
298
글번호 57427
시스템
답변완료

제가 드린 질문에 답변을 주셨는데요..

아래 콜 옵션 매수시기와 풋 옵션 매수시기의 수식이 서로 다릅니다. if(Signal.signalKind == 1 ) { Buycode = Option.GetATMCallRecent(3); Main.OrderBuy(A1.number, Buycode, 1, 0, 1) if(Signal.signalKind == 3 ) { Sellcode = Option.GetATMPutRecent(3); Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1) Buycode를 넣어야하는건가요? Option.GetATMPutRecent 를 넣어야하는 건가요? ========================================= 안녕하세요 예스스탁입니다. 차트에서 진입신호 주문한 종목과 차트에서 청산신호시 주문할 종목의 코드가 같아야 합니다. 현재 식은 각 신호별로 그때의 ATM+3종목에 주문을 내므로 진입시와 청산시 같은 종목이 아닐수 있습니다. 진입신호시 주문할 종목을 변수에 저장해서 청산시 이용하셔야 합니다. var Buycode; var Sellcode; function C1_OnRiseSignal(Signal) { if(Signal.signalKind == 1 ) { Buycode = Option.GetATMCallRecent(3); Main.OrderBuy(A1.number, Buycode, 1, 0, 1) } if(Signal.signalKind == 2 ) { Main.OrderSell(A1,number,Buycode, 1, 0, 1) } if(Signal.signalKind == 3 ) { Sellcode = Option.GetATMPutRecent(3); Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1) } if(Signal.signalKind == 4 ) { Main.OrderSell(A1,number,Sellcode, 1, 0, 1) } } 즐거운 하루되세요 > 최강투자 님이 쓴 글입니다. > 제목 : 예스스팟 관련 수식 문의 > 선물챠트를 이용해서 옵션거래를 하기 위해서 예스스팟으로 시스템 식을 아래와 같이 만들어서 사용해봤는데요. 1이나 3이라는 신호가 떠서 콜옵션 매수나 풋옵션 매수는 잘 되지만, 선물챠트의 익절이나 손절조건에으로 인해 2,4의 신호가 뜰 때 옵션은 거래가 없습니다. 반대매매 조건으로 뜨는 경우에는 신호가 뜨진 하는 것 같은데, 그것도 아직 확인은 못한 상황이긴 합니다. 우선 선물의 강제청산조건을 충족할 때 옵션거래도 동일하게 수행하게 하고 싶은데요. 어떤 것을 해야하는 것인지요? 아니면 아래 수식에서 제가 잘못 넣은 것이 있는건가요? function C1_OnRiseSignal(Signal) { if(Signal.signalKind == 1 ) { Main.OrderBuy(A1.number, Option.GetATMCallRecent(3), 1, 0, 1) } if(Signal.signalKind == 2 ) { Main.OrderSell(A1,number, Option.GetATMCallRecent(3), 1, 0, 1) } if(Signal.signalKind == 3 ) { Main.OrderBuy(A1.number, Option.GetATMPutRecent(3), 1, 0, 1) } if(Signal.signalKind == 4 ) { Main.OrderSell(A1,number, Option.GetATMPutRecent(3), 1, 0, 1) } }
프로필 이미지
최강투자
2012-12-20
242
글번호 57426
시스템
답변완료

귀사의 무궁한 발전을 기원합니다..

항상 친절하고 자상한 답변에 깊은 감사를 드립니다.. 1 가=최고값(h,기간);나=최저값(l,기간);다=(가-나)*1;라=가-다; 2 가=최고값(h,기간);나=최저값(l,기간);다=(가-나)*1.5;라=가-다; 3 가=최고값(h,기간);나=최저값(l,기간);다=(가-나)*2;라=가-다; 기간 (변수) 위수식을 예스수식으로 만들어 주시면 감사하겠습니다..
프로필 이미지
급등주
2012-12-19
256
글번호 57425
지표
답변완료

문의 드립니다

안녕하세요 아래와 같이 이평선 매매를 할려고 수식을 만들었는데 밑에 있는 각 이평선들에 값과 rsi값을 input쪽에 집어 넣을려고 합니다 가능 할까요? 우리트레이더 쓰고 있는데 나중에 편집기 이용해서 더 좋은값 찾기가 쉽지 않아서요 Input : Vol(0); Input : 간격(0.5); //ma1 var : maPeriod1(5); var : MAv1(0); MAv1 = ma(C,maPeriod1); //ma2 var : maPeriod2(10); var : MAv2(0); MAv2 = ma(C,maPeriod2); //ma3 var : maPeriod3(20); var : MAv3(0); MAv3 = ma(C,maPeriod3); //ma4 var : maPeriod4(50); var : MAv4(0); MAv4 = ma(C,maPeriod4); //ma4 var : ma청산(50); var : MAv5(0); MAv5 = ma(C,ma청산); //RSI var : rsiPeriod(7); var : RSV(0); RSV = RSI(rsiPeriod); if V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && RSV > 79 && MAv2 - MAv4 <= 간격 Then { Buy("매수", OnClose, DEF); } if V > Vol && MAv1 < MAv2 && MAv2 < MAv3 && RSV < 21 && MAv4 - MAv2 <= 간격 Then { Sell("매도1", OnClose, DEF); } //매수청산1 if C < MAv5 Then ExitLong("청산"); //매도청산1 if C > MAv5 Then ExitShort("청산1"); 아 그리고 이것도 한번 좀 봐주세요 우리투자증권에 시스템선택을 보니깐 PercentR 이라고 있던데 윌리엄스 백분율 하고 다른건가요? 수식이 아래와 같다면 풀어서 설명 한번만 좀 해주세요 각 숫자들이 의미하는 바를 모르겠습니다 감사합니다 꼭 좀 부탁 드립니다 Inputs: PercentRLen(10), OverSold(10), OverBought(90), Trigger(62);
프로필 이미지
아라미스33
2012-12-19
287
글번호 57424
시스템