커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

호가잔량식

호가잔량 이평 오실레이트가이전일보다 많으면 매수 호가잔량 이평 오실래이트가이전일보다 적으면 매도
프로필 이미지
큰바위얼굴
2014-11-03
211
글번호 79997
시스템
답변완료

일봉과 분봉연계

Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 위수식에서 일봉에서매수시에 30분봉서매수만 일봉에서매도시에는30분봉서매도만한다 수식부탁합니다
프로필 이미지
큰바위얼굴
2014-11-02
169
글번호 79996
시스템
답변완료

시스템중지

Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 위수식에서 손실이 5번이상나면 3번까지매매중지한다, 부탁합니다
프로필 이미지
큰바위얼굴
2014-11-02
171
글번호 79995
시스템
답변완료

문의 드립니다.

안녕하세요. 항상 수고 많으십니다. 질문-1 입니다---------------------------- A라는 전략식을 시뮬레이션 실행시키면 첨부 파일과 같은 에러가 나면서 예스트레이더가 강제로 종료됩니다. 다른 전략식은 시뮬레이션을 실행시키면 다 잘 실행되는데, 유독 이 전략식만 실행시키면 예스트레이더가 버벅거리며 강제로 종료됩니다. 무슨 문제인지 알 수가 있을까요? 도움 부탁드립니다. 질문-2 입니다 --------------------------- 예스트레이더와 우리트레이더에 같은 전략식을 시뮬레이션 해보면 예스트레이더가 훨씬 빨리 시뮬레이션을 처리합니다. 우리트레이더는 많이 느리게 처리되구요. 똑같은 프로그램으로 알고 있는데, 왜 그런지 이유를 알 수 있을까요? 미리 감사드립니다.
프로필 이미지
샐리짱
2014-11-02
180
글번호 79994
시스템
답변완료

지표식 문의

안녕 하세요. 옵션 시스템매매를 구현코져 아래와 같이 질문드리오니 바쁘신가운데라도 답변하여 주시오면 감사하겠습니다. 먼저 예를 들겠습니다. <예1>콜옵션 252의 당일최저점이 2.25라고 가정하면 1차고점 : 2.25*1.2125 = 2.72 (2.728125인데 소수점 2자리미만은 절사) <예2>풋옵션 252의 당일최고점이 2.25 라면 1차저점 : 2.25*0.6185 = 1.39 (1.391625인데 소수점 2자리미만은 절사) 위와같은 방법으로 <콜옵션> 은 1차고점 : 당일최저점*1.2125= ( ) 빨강색 수평선으로 표시 2차고점 : 당일최저점*1.3212= ( ) " 3차고점 : 당일최저점*1.5596= ( ) " 4차고점 : 당일최저점*1.7214= ( ) " 5차고점 : 당일최저점*2.2354= ( ) " (1-5차 고점은 콜옵션만해당) ***그리고 당일고점이나 저점과는 상관없이 고정된 숫자로 1.25, 2.5, 5.0, 7.5 수치에는 파랑색(blue) 수평선으로 나타나게 하여주시고 굵기는 위의선보다 한단계 더굵은 2번선으로 하여주시고 <풋옵션> 은 1차저점 : 당일최고점*0.6185= ( ) 파랑색수평선으로 표시 2차저점 : 당일최고점*0.4326= ( ) " 3차저점 : 당일최고점*0.3254= ( ) " (1-3차 저점 은 풋옵션만해당) ***당일고점이나 저점과는 상관없이 고정된 수치로 1.25, 2.5, 5.0, 7.5 수치에는 빨강색(red) 수평선으로 나타나게 하여 주시고 굵기는 위의 선보다 굵은 2번선으로 하여주시면 감사하겠습니다. 분봉차트에 당일고점과 저점이 상하로 변화함에따라 수평선도 자동으로 상하로 변동되게 하고져 합니다 바쁘신데 수고를 끼처드려 송구 스럽습니다. 그리고 지표식을 차트에 적용하는 방법좀 간단히 부탁 드립니다. 건강하시고 날마다 웃음이 넘쳐나는 화목한 가정이 되시길 기원합니다. 이메일 : jdk365@naver.com
프로필 이미지
천진암
2014-11-02
955
글번호 79993
지표
답변완료

문의드립니다.

항상 도움 주셔서 감사합니다. 스탑로스에 대해 문의 드립니다. 문1) 일단 정상적으로 매수 매도 청산 로직에 맨 하단에 스탑로스를 코딩하였습니다. 스탑로스 코딩 위치는 상단 또는 중간에 코딩 해도 되나요? 아니면 보통 맨 하단에 코딩하는게 맞나요? 문2) 매수, 매도 청산이 "목표수익청산" 청산 이후 재진입은 스탑로스 폭을 다르게 하고 싶습니다. if 문을 사용해서 다르게 스탑로스가 가능한가요? 문3) 스탑로스 대신에 가격조건으로 스탑로스를 하려고 했지만 어떻게 해야할지 모르겠습니다. 이 부분에 대한 오류 수정 부탁드립니다. 예문 참조 부탁드립니다. 좋은 아이디어 부탁드립니다. 문4) 해외 통화선물인데 시간설정에 대해 청산이 되지 않습니다. 성능보고서 상에는 당일 청산이 되어 있는데 실제로는 청산이 안되었습니다. 또 11월1일(토요일) 새벽에는 성능보고서 뿐만 아니라 실제 청산 자체가 안되었습니다. 거래종목은 유로FX입니다. 왜 그런것일까요? 예문) 거래종목:유로FX매매 시간: 7시부터~익일 6시까지 거래계약수 : 1계약 input : 손절(20), 수익(20) ,재진입손절(10), 재진입수익(10); var : 이평5(0), 이평10(0), 이평20(0) ; 이평5 = ma(c,5); 이평10 = ma(c,10); 이평20 = ma(c,20); #거래시간 if sTime >= 070000 or stime < 060000 Then { # 매매 if MarketPosition == 0 then # 매수 if crossup(이평5,이평10) then buy("buy"); if MarketPosition == 0 and isexitname("StopProfitTarget") == true then # 매수재진입 if crossup(이평5,이평20) then buy("buy2"); if MarketPosition == 1 then # 매수청산 if crossdown(이평5,이평10) then exitlong("ext"); if MarketPosition == 1 and IsEntryName("buy2") == true then #재진입청산 ExitShort("buy_Loss",AtStop,EntryPrice-PriceScale*10); # 이부분이 로직오류 ExitShort("buy_profit",AtStop,EntryPrice+PriceScale*10); if crossdown(이평5,이평20) then exitlong("ext2"); ------------------------------------------------------------------------------- if MarketPosition == 0 then # 매도 if crossdown(이평5,이평10) then sell("sell"); if MarketPosition == 0 and isexitname("StopProfitTarget") == true then # 매도재진입 if crossdown(이평5,이평20) then sell("sell2"); if MarketPosition == -1 then # 매도청산 if crossup(이평5,이평10) then exitshort("out"); if MarketPosition == -1 and IsEntryName("sell2") == true then #재진입청산 ExitShort("sell_Loss",AtStop,EntryPrice+PriceScale*10); # 이부분 로직오류 ExitShort("sell_profit",AtStop,EntryPrice-PriceScale*10); if crossdown(이평5,이평20) then exitlong("out2"); # 거래시간 종료 } # 포지션 청산 if stime == 060000 or (stime > 060000 and stime[1] < 060000) Then{ ExitLong("매수청산"); ExitShort("매도청산"); } # 스탑로스 SetStopProfittarget(수익,PointStop); SetStopLoss(손절,PointStop); # 프로그램 중간에 재진입 청산로직이 생각이 안나서 맨하단에 스탑로스를 다르게 코딩해 보았습니다. if isentryname("buy2") == true or isentryname("sell2") == true then{ SetStopProfittarget(10,PointStop); SetStopLoss(10,PointStop); { else { SetStopProfittarget(20,PointStop); SetStopLoss(20,PointStop); } 문5) 스탑로스를 위와 같이 코딩하는게 맞는지요? if문 사용시 스탑로스가 미치는 범위는 어디까지 인가요? 문6) 재진입 청산로직에 대해 아래와 같이 가격조건으로 청산하거나 스탑로스 if문을 써서 재진입은 다르게 스탑로스 하고 싶습니다. 아랜) ExitShort("SLoss",AtStop,EntryPrice-PriceScale*10); ExitShort("Sprof",AtStop,EntryPrice+PriceScale*10); 문7) 위 예문에 대해 로직이나 플로우에 틀린부분이 있으면 수정 부탁드립니다. 한번에 많은 질문을 드려 죄송합니다. 도움 부탁드립니다.
프로필 이미지
양치기
2014-11-02
246
글번호 79992
시스템
답변완료

부탁드립니다

38453 중국선물 상하한가청산 관련 상세한 답변 감사합니다 종목별로 상한가를 입력하여 적용하면 되는거죠 ? ExitLong("선물매수하한청산",AtStop,BP-int(BP*(Per/100)/PriceScale)*0.05); 에서 // BP, 0.05 // 설명부탁드립니다 .. 다음은 시스스템보안 설정에관해서 여쭤보고싶습니다 비밀번호 설정은 다른사람이전략을열어못보는 용도로 알고잇습니다 다른사람이로직을 &#48820;가도 초기설정만료일 지나면 사용불가능한거죠 ? 시스템로직이 제 컴퓨터에서만 작동할수잇는 방법은 없나요 .. 다른사람이 &#48820;가면 다른컴퓨터에서 사용자체가 불가능하게요 .. 이용자 설정은 어떤 작용을 하나요 ? 시급히 대안이 필요한 상황이여서 완벽한 시스템보안 솔루션부탁드립니다 ... 수고해주세요 감사합니다
프로필 이미지
CSI300
2014-11-01
241
글번호 79991
시스템
답변완료

신호가 발생하지 않는 시스템식 오류수정 부탁드립니다.

안녕하세요 다음과 같은 매매식을 만들었는데 오류수정 부탁드립니다. Input: EntryStart(93000), EntryClose(143000), MaxTradeN(1), ExpiryDay(0); Var: Counter(0); // General Variables // 전역 변수를 선언한다 // 현재의 매매횟수, 장종료시간, 진입필터와 트리거, 청산트리거 등 Var: NthTrade(0), EndOfDay(150400); Var: LongFilter(False), ShortFilter(False), GeneralFilter(False); Var: LongTrigger(False), ShortTrigger(False), xLongTrigger(False), xShortTrigger(False); //Initialization //초기화 // 새로운 하루가 시작된다 If DayIndex == 0 || BarIndex == 0 Then { If ExpiryDay == 1 Then { EndOfDay = 144900; } NthTrade = 0; } // What to Do before TradingBarIndex If sTime < EntryStart Then { GeneralFilter = False; } // What to Do while Trading Else If sTime>=EntryStart && sTime<=EntryClose Then { GeneralFilter = True; } // What to Do after Last Entry // 신규진입이 거절된 이후 시간에 해야 할 일들을 정리한다 // 잔여 포지션의 청산 관련 Else { GeneralFilter = False; } // 기본 진입조건의 검증 // 분봉 상태에서 거래횟수 제한을 검증한다 GeneralFilter = GeneralFilter && DataCompress == 2 && NthTrade < MaxTradeN; // ENTRY // 기본적인 진입환경이 만족되면 진입을 위한 작업을 개시한다 // 선물 1계약 기준 If MarketPosition == 0 && GeneralFilter Then { // Filter Verification // 진입필터의 적용 LongFilter = data2(c)<0 and data3(c)<0 and data4(c)>0 ; ShortFilter = data2(c)>0 and data3(c) >0 and data4(c)<0; // 진입과 동시에 매매횟수 증가 If LongFilter && LongTrigger Then { Buy("B",AtMarket); NthTrade = NthTrade+1; } If ShortFilter && ShortTrigger Then { Sell("S",AtMarket); NthTrade = NthTrade+1; } } // EXIT //Else If MarketPosition != 0 Then //( // Long Exit // 매수 포지션의 청산 규칙 적용 If MarketPosition == 1 and (data2(c)>0 or data3(c)>0 or data4(c)<0) Then { ExitLong(); } // Short Exit // 매도 포지션의 청산 규칙 적용 If MarketPosition == -1 and (data2(c)>0 or data3(c)>0 or data4(c)<0) Then { ExitShort(); } //} // End of Day // 어쨌든 당일 청산 SetStopEndofday(EndOfDay);
프로필 이미지
봉자
2014-11-01
253
글번호 79988
시스템

강조식을 알고 싶습니다.

var1 = H-L; var2 = C-L; var3 = var2/var1*100; plot1(var3); var4 = Text_New(sdate,stime,H+PriceScale,NumToStr(var3,2)); Text_SetStyle(var4,2,2); 위의 식이 일봉의 캔들에서 고가와 저가의 폭에서 종가의 위치를 비율로 표시하는 식으로 알고 있는데.... 텍스트가 아닌 점으로 표시하는 식으 알고 싶습니다. var3 이 0 <= ,25 >= 면 빨강색 25 <= , 50 >= 면 주황색 50 <= , 75 >= 면 노랑색 75<= , 100 >= 면 녹색 을 표시하고 싶습니다.... 부탁드립니다.
프로필 이미지
바이오해피존
2014-11-01
181
글번호 79987
강조