커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

피라미딩과 추가진입에 대해 질문드립니다.

안녕하세요. 늘 친절한 답변에 감사드립니다. yesfx를 활용하여 잘 공부하고 있습니다. 다름이 아니라 1. 매수진입신호 발생 후 즉시 다음 봉 시가에서 시장가로 진입을 하고 그 다음에 매수진입가격보다 0.015 높은 가격으로 역지정가 주문을 내서 매수포지션의 최대 보유 개수를 2개로 제한하려고 합니다. 매도의 경우도 같이 적용하려고 다음과 같이 식을 적용해보았습니다. Input : Period(14), LPercent(30), SPercent(70); Var : value(0); value = RSI(Period); # 매수/매도청산 If MarketPosition<>1 and CrossUP(value, LPercent) Then { buy("매수1"); } if MarketPosition == 1 Then{ if CurrentEntries == 1 Then{ buy("매수2",AtStop, EntryPrice+0.015);}} # 매도/매수청산 If MarketPosition<>1 and CrossDown(value, SPercent) Then { sell("매도1"); } if MarketPosition == -1 Then{ if CurrentEntries == 1 Then{ sell("매도2",Atstop,EntryPrice-0.015);}} 오류가 있는지 제대로 작동을 하지 않습니다. 그리고 다른 질문입니다. 매수1은 첫번째 매수신호에 진입한 이후 첫번째 매도신호에 청산하도록 하고 매수2는 두 번째 매수신호에 진입한 후 첫 번째 매도신호가 경과한 후 두 번째 매도신호에 청산을 하도록 하고 마찬가지로 매도도 이렇게 분할진입에 분할청산을 하도록 하려면 어떻게 해야할까요? 2. 그리고 yesfx의 시스템트레이딩설정창의 피리미딩 설정(중복진입)탭의 의 3가지 선택란(허용안함, 다른진입신호만허용,모든진입신호허용)이 선택할 수 없도록 비활성화되어 있는데 왜 그런지 모르겠습니다. 그리고 수식에서 피라미딩 설정을 하고 설정창에서는 선택을 안하면 어떻게 적용이 되는지요? (수식의 설정과 시스템트레이딩 설정창의 조건이 다를 경우 어느 것이 우선이지 궁금합니다) 3. 그리고 시스템트레이딩 설정을 할 때 트레일링스톱을 설정을 하고 시뮬레이션을 돌리면 진입신호가 발생한 봉의 고가나 저가에서 설정한 최대수익폭 하락만큼 빼고 결과가 나와서 실제 모의 거래로 돌려보면 중간에 봉의 형성 중에 스톱이 되는 것과 다른 결과가 나오는데 맞는지 모르겠습니다. 감사합니다. 안녕히 계세요..
프로필 이미지
만법귀일
2011-07-24
699
글번호 41244
시스템
답변완료

안녕하세요 질문을 또 드립니다...

요새 시스템식 공부하느라고 재미에 푹 빠져있네요. 답변 해주시는 예스스탁 선생님께 감사드리면서 하나 더 여쭤볼께요. (질문1) 선물 1개를 매매하는 구좌일 경우 이미 선물1개를 매수한 상태에서 예를 들어 다음과 같이 두개의 매도관련 명령을 동시에 내릴 수 있나요? If CrossDown(c,var1) and marketposition==1 Then { exitlong("",atstop,Var1); sell("",atstop,var1); } 이럴때 첫번째 청산이 되자마자 마켓포지션은 0가 되는데 뒤의 sell 명령이 안먹히는 거 아닌가요? (질문2)위식 대신 다음식을 쓰는 것은 틀리나요? If CrossDown(c,var1) and marketposition==1 Then { sell("",atstop,var1); } (질문3)이렇게 할 경우에도 증거금은 선물1개매매대금이면 되나요?아니면 2개의 증거금이 필요한가요?
프로필 이미지
연구자
2011-07-24
644
글번호 41243
시스템
답변완료

수식질문 드립니다

MACD에 관해서 질문 드립니다. 1. MACD선과 MACD 시그널선과 이격도가 수렴한 부분을 나타내고 싶습니다. 골드가 날수도 있고 수렴했다 퍼질수도 있어서.. crossup 과 down 보다 수렴했을때를 알고 싶습니다.. 수식부탁 드립니다 2 macd 선과 시그널이 골드가 난 조건에서 Macd선 하락중 상승전환 되는 부분의 표시와.. 반대로 데드가 난 조건에서 macd 상승중 하락기울기 전환된 부분을 표시 하고 싶습니다.
프로필 이미지
파라나무
2011-07-24
732
글번호 41242
지표
답변완료

전고점 갯수

https://www.yesstock.com/SystemTrading/Example/board/view.asp?db=board100044&num=108&pageno=1&startpage=1&Site=&L_Code=12&M_Code=7 //[지표식] input : occur(1), left(3), right(3), period(30); var1 = SwingHigh(occur,H,left,right,period); //전고점 plot1(var1, "전고점"); ========================================= period 기간동안 전고점이 몇번이나 발생했는지 알아 볼려고 합니다. MessageLog("전고점 갯수=%.f", AccumN(iff(var1 <> var1[1],1,0) ,period)); 여기서 동일한 값이 두번이상 연속될 경우 즉, var1값과 var1[1]값이 동일한 값일때도 있을것 같습니다. var1 <> var1[1] 이렇게 비교하면 정확한 전고점 갯수가 안구해질것 같은데, 어떻게 구해야 하나요?
프로필 이미지
행복충전
2011-07-24
853
글번호 41241
지표
답변완료

간단한 질문.

if 조건 then {var1= 1, var1[1] = 0 ; } 내장변수 var1의 이전값 var1[1]엔 값을 할당 할순 없나요?
프로필 이미지
sjpapa
2011-07-24
764
글번호 41240
시스템
답변완료

상승갭

https://www.yesstock.com/SystemTrading/Example/board/view.asp?db=board100044&num=101&pageno=1&startpage=1&Site=&L_Code=12&M_Code=4 [검색 내용] 상승갭이 발생한 이후 장중 상승갭을 메우지 않고 상승갭이 유지되는 종목 검색 [검색식] - 상승갭 if dayOpen(0) > Dayhigh(1) and dayLow(0) > dayHigh(1) then var1 = 1; Else var1 = 0; find(var1); ============================= 질문1) if dayOpen(0) > Dayhigh(1) and dayLow(0) > dayHigh(1) then 을 if dayLow(0) > dayHigh(1) then 이렇게 바꾸면 결과가 달라지나요? 질문2) [검색 내용]의 설명이 맞나요?
프로필 이미지
행복충전
2011-07-24
839
글번호 41239
검색

연구자 님에 의해서 삭제되었습니다.

프로필 이미지
연구자
2011-07-23
35
글번호 41237
시스템
답변완료

그물망차트

https://www.yesstock.com/SystemTrading/Example/board/view.asp?db=board100044&num=40&pageno=1&startpage=1&Site=&L_Code=11&M_Code=4 Input : Period(5); Plot1(ma(C,Period*1), "이동평균1"); Plot2(ma(C,Period*2), "이동평균2"); Plot3(ma(C,Period*3), "이동평균3"); Plot4(ma(C,Period*4), "이동평균4"); Plot5(ma(C,Period*5), "이동평균5"); Plot6(ma(C,Period*6), "이동평균6"); Plot7(ma(C,Period*7), "이동평균7"); Plot8(ma(C,Period*8), "이동평균8"); Plot9(ma(C,Period*9), "이동평균9"); Plot10(ma(C,Period*10), "이동평균10"); Plot11(ma(C,Period*11), "이동평균11"); Plot12(ma(C,Period*12), "이동평균12"); Plot13(ma(C,Period*13), "이동평균13"); Plot14(ma(C,Period*14), "이동평균14"); Plot15(ma(C,Period*15), "이동평균15"); Plot16(ma(C,Period*16), "이동평균16"); Plot17(ma(C,Period*17), "이동평균17"); Plot18(ma(C,Period*18), "이동평균18"); Plot19(ma(C,Period*19), "이동평균19"); Plot20(ma(C,Period*20), "이동평균20"); Plot21(ma(C,Period*21), "이동평균21"); Plot22(ma(C,Period*22), "이동평균22"); Plot23(ma(C,Period*23), "이동평균23"); Plot24(ma(C,Period*24), "이동평균24"); Plot25(ma(C,Period*25), "이동평균25"); Plot26(ma(C,Period*26), "이동평균26"); Plot27(ma(C,Period*27), "이동평균27"); Plot28(ma(C,Period*28), "이동평균28"); Plot29(ma(C,Period*29), "이동평균29"); Plot30(ma(C,Period*30), "이동평균30"); Plot31(ma(C,Period*31), "이동평균31"); Plot32(ma(C,Period*32), "이동평균32"); Plot33(ma(C,Period*33), "이동평균33"); Plot34(ma(C,Period*34), "이동평균34"); Plot35(ma(C,Period*35), "이동평균35"); Plot36(ma(C,Period*36), "이동평균36"); Plot37(ma(C,Period*37), "이동평균37"); Plot38(ma(C,Period*38), "이동평균38"); Plot39(ma(C,Period*39), "이동평균39"); Plot40(ma(C,Period*40), "이동평균30"); Plot41(ma(C,Period*41), "이동평균41"); Plot42(ma(C,Period*42), "이동평균42"); Plot43(ma(C,Period*43), "이동평균43"); Plot44(ma(C,Period*44), "이동평균44"); Plot45(ma(C,Period*45), "이동평균45"); Plot46(ma(C,Period*46), "이동평균46"); Plot47(ma(C,Period*47), "이동평균47"); Plot48(ma(C,Period*48), "이동평균48"); Plot49(ma(C,Period*49), "이동평균49"); Plot50(ma(C,Period*50), "이동평균50"); ======================================== 위식을 간단하게 구현하는 방법이 있나요? 아래처럼 하니까 에러납니다 Input : Period(5); for var1= 1 to 50 { (Plot+NumToStr(var1))(Ma(C,Period*var1), "이동평균"+NumToStr(var1)); } 만약 안된다면 위 식처럼 처리되도록 예스랭귀지를 수정하는것은 힘들겠죠?
프로필 이미지
행복충전
2011-07-24
933
글번호 41236
지표
답변완료

라인 구분, 툴팁

질문) [그림1]에서 4개의 라인이 각각 무슨 라인인지 답변 주십시요 (툴팁에서 확인해 보아도 색상별 라인 구분은 안되어 있습니다) 빨강 ? 파랑 ? 검정 ? 마젠타 ? 색상별로 각각 답변 주십시요. [그림2]는 타증권사 이미지입니다. 색상별로 무슨 라인인지 한눈에 알아 볼수 있습니다. 만약 라인 구분을 못하겠다면 라인 구분이 가능하도록 예스랭귀지를 수정해 주십시요. ======================================= 또 한가지... 캔들 위에 마우스 올리면 나타나는 툴팁이 약5초 후에 사라져 버리는것 같은데, 마우스를 올리고 있는동안은 사라지지 않게 수정해 준다고 했습니다. 언제쯤 가능한가요? 툴팁은 정보를 확인하기 위해서 만들어 놓았을 것이라고 생각합니다. 볼려고 하면 사라져 버리니 불편합니다
프로필 이미지
행복충전
2011-07-23
850
글번호 41235
지표