커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

청산식 좀 요청 드립니다.

* 좋은 주말 되십시요. (요청1) 아래 청산식 좀 부탁 드립니다. VAR1 = MA(C,5) ; VAR1 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY("SS1"); IF CrossDown(VAR1,VAR2) Then Sell("DD1") ; 수식일 경우 input:h(5); ## 진입가 대비 허용 공차 즉 300에 진입이면 285 ~ 315 까지는 진입가로계산 if MarketPosition == 1 and IsEntryName("SS1") == true Then { if 매수 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매수가 보다 큰봉 겟수(수익봉)와 ## 진입가 + h(허용공차) >= c[1] 매수가 보다 작은봉겟수(손실봉)를 ## 진입가 - h(허용공차) < c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } if MarketPosition == -1 and IsEntryName("DD1") == true Then { if 매도 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매도가 보다 작은봉 겟수(수익봉)와 ## 진입가 - h(허용공차) <= c[1] 매도가 보다 큰봉 겟수(손실봉)를 ## 진입가 + h(허용공차) > c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } (요청2) 아래 수식에서 01시~ 07시 까지 매매가 되는데 안 되게 수식 좀 수정 요청 드립니다. input : 시스템적용일(20201113), 시스템시작시간(083000) ; var : cnt(0),Xcnt(0),Ecnt(0) ; Ecnt = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then Ecnt = Ecnt+1; } if date != date[1] Then Xcnt = 0 ; var1 =ma(c,5) ; var2 =ma(c,20) ; if sdate >= 시스템적용일 and stime >= 시스템시작시간 Then { Condition1 = true; } if Condition1 == true then { if CrossUp(var1,Var2) Then buy(); if CrossDown(var1,var2) Then Sell(); } if sdate != sdate[1] Then SetStopEndofday(223000); *항상 많은 도움에 고맙습니다.
프로필 이미지
요타
2020-11-14
438
글번호 143858
시스템
답변완료

강조식 부탁드립니다

사용지표 - 볼린져밴드(20.2), 엔밸로프(20,10), 10일 이동평균선 - 강조조건 : 1. 지표 배열 : 볼린져> 이동평균선> 엔밸로프 순으로 배열 2. 볼린져, 엔밸로프는 상승추세 일것 - 강조방법 1.볼린져와 엠밸로프는 상승추세 유지하면서 2.볼린져> 이동평균선> 엔밸로프 순으로 배열된 구간을 차트 바탕화면에 블록(박스)표시 되도록 강조식 부탁합니다
프로필 이미지
파워
2020-11-13
471
글번호 143857
강조
답변완료

onpoint 예비신호에 매수/매도 를 체결할 수 있는 방법이 있나요?

onpoint 예비신호에 매수/매도 를 체결할 수 있는 방법이 있나요? 감사합니다.
프로필 이미지
holmes
2020-11-12
526
글번호 143847
시스템
답변완료

수식 요청 드립니다.

안녕하세요. 해외선물 항생 3시 야간종가와 9시15분 정규장 시가 홍콩시간 기준 매수진입 - 3시 야간종가기준, 9시15분 시가가 + 상승 하고 첫봉부터 7개봉 까지 음봉 3개이상 연속발생하고, 음봉 연속발생후 다음봉이 양봉인경우 조건만족 매수 매도진입 - 3시 야간종가기준, 9시15분 시가가 - 하락 하고 첫봉부터 7개봉 까지 양봉 3개이상 연속발생하고, 양봉 연속발생후 다음봉이 음봉인경우 조건만족 매도 위 조건만족 진입수식 요청 드립니다. 감사합니다.
프로필 이미지
dandy
2020-11-12
518
글번호 143846
시스템
답변완료

문의

당일 거래하는 위클리 옵션 행사가는 전일 kospi200 종가로 계산되나요? 금일 kospi200이 331.25로 마쳤다면 내일 weekly 옵션 등가격대는 332.50 인지요?
프로필 이미지
좌오비우오비
2020-11-12
566
글번호 143843
시스템
답변완료

수식좀 부탁드립니다

변환좀 부탁드립니다 1- highest(high,기간) lowest(low,기간) ((highest(high,기간))+(lowest(low,기간)))/2 2 - HighestSince(1,CrossUp(Trix(period),0),wavg(C,period) ) LowestSince(1,CrossDown(Trix(period),0),wavg(C,period)) A=wavg(C,period); if(A>A(1),A,0) A= wavg(C,period); if(A<A(1),A,0)
프로필 이미지
회원
2020-11-12
822
글번호 143842
지표
답변완료

수식에서 기존 보유 수량을 반영이 가능할까요?

국내 주식 예스트레이드(하이투자증권) 적용 모든 수식이 매수 후 매도 가 로직인데... 기존 보유 주식이 있는 것도 반영이 되려면 어떻게 하면 될까요? 예를 들어 RSI(14)< 30 일때 분할 매수 100개 RSI(14)> 80 일때 분할 매도 100개 이런 수식에서 기존 보유 수량이 100개 있을때 기존 보유 수량 100개 RSI(14)< 30 일때 분할 매수 100개 RSI(14)> 80 일때 분할 매도 200개 아래 수식은 현재 사용하고 있는 수식입니다. 기존 사용 수식에 보유주식 1000개 있는 상태에서 반영될수 있게 수식 수정 부탁드릴께요 input : 시작일(20200101); input : 최대투자금액(2000); input : 기준평균봉값(80); input : 최초진입하락폭(0.97); input : 추가진입하락폭(0.99); input : MFI기간(15),MFI값(86); input : 심리도기간(15),심리도값(80); input : 분할매도횟수(4); input : 분할매도율(2); input : 제1매수금액(10); input : 제2매수금액(20); input : 제3매수금액(30); input : 제4매수금액(40); input : 제5매수금액(50); input : 제6매수금액(60); input : 제7매수금액(70); input : 제8매수금액(80); input : 제9매수금액(90); input : 제10매수금액(100); input : 제11매수금액(120); input : 제12매수금액(140); input : 제13매수금액(160); input : 제14매수금액(180); input : 제15매수금액(200); input : 제16매수금액(200); input : 제17매수금액(200); input : 제18매수금액(200); input : 제19매수금액(200); input : 제20매수금액(200); input : 제21매수금액(200); input : 제22매수금액(200); input : 제23매수금액(200); input : 제24매수금액(200); input : 제25매수금액(200); input : 제26매수금액(250); input : 제27매수금액(250); input : 제28매수금액(250); var : Xcond(False,data1); var : mav(0,data2),MM(0,Data3),SS(0,Data3); var : MMM(0,Data2),SSS(0,Data2),Xcnt(0,Data2),Xvol(0,data1); mav = data2(ma(c,기준평균봉값)); MM = Data3(mfi(MFI기간)); SS = Data3(Simrido(심리도기간)); MMM = Data2(mfi(MFI기간)); SSS = Data2(Simrido(심리도기간)); if Data1(sDate) >= 시작일 Then { If AvgEntryPrice*CurrentContracts < 최대투자금액*10000 Then { if MarketPosition == 0 and (MarketPosition == 0 or (MarketPosition == 1 and Xcond == False)) and data2(CrossDown(c,mav*최초진입하락폭)) then buy("b1",atlimit,C,Floor(제1매수금액*10000/min(NextBarOpen,C))); if MarketPosition == 1 then { if MaxEntries == 1 then # 85 buy("b2",AtLimit,LatestEntryPrice(0)*추가진입하락폭,Floor(제2매수금액*10000/c)); if MaxEntries == 2 then # 80 buy("b3",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.01),Floor(제3매수금액*10000/c)); if MaxEntries == 3 then # 75 buy("b4",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.015),Floor(제4매수금액*10000/c)); if MaxEntries == 4 then # 70 buy("b5",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.02),Floor(제5매수금액*10000/c)); if MaxEntries == 5 then # 65 buy("b6",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.025),Floor(제6매수금액*10000/c)); if MaxEntries == 6 then # 85 buy("b7",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.03),Floor(제7매수금액*10000/c)); if MaxEntries == 7 then # 80 buy("b8",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.035),Floor(제8매수금액*10000/c)); if MaxEntries == 8 then # 75 buy("b9",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.04),Floor(제9매수금액*10000/c)); if MaxEntries == 9 then # 70 buy("b10",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.045),Floor(제10매수금액*10000/c)); if MaxEntries == 10 then # 65 buy("b11",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.05),Floor(제11매수금액*10000/c)); if MaxEntries == 11 then # 80 buy("b12",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.055),Floor(제12매수금액*10000/c)); if MaxEntries == 12 then # 75 buy("b13",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.06),Floor(제13매수금액*10000/c)); if MaxEntries == 13 then # 70 buy("b14",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.065),Floor(제14매수금액*10000/c)); if MaxEntries == 14 then # 65 buy("b15",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.07),Floor(제15매수금액*10000/c)); if MaxEntries == 15 then # 80 buy("b16",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.075),Floor(제16매수금액*10000/c)); if MaxEntries == 16 then # 75 buy("b17",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.08),Floor(제17매수금액*10000/c)); if MaxEntries == 17 then # 70 buy("b18",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.085),Floor(제18매수금액*10000/c)); if MaxEntries == 18 then # 65 buy("b19",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.09),Floor(제19매수금액*10000/c)); if MaxEntries == 19 then # 85 buy("b20",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.095),Floor(제20매수금액*10000/c)); if MaxEntries == 20 then # 80 buy("b21",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.1),Floor(제21매수금액*10000/c)); if MaxEntries == 21 then # 75 buy("b22",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.105),Floor(제22매수금액*10000/c)); if MaxEntries == 22 then # 70 buy("b23",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.11),Floor(제23매수금액*10000/c)); if MaxEntries == 23 then # 65 buy("b24",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.115),Floor(제24매수금액*10000/c)); if MaxEntries == 24 then # 80 buy("b25",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.12),Floor(제25매수금액*10000/c)); if MaxEntries == 25 then # 75 buy("b26",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.125),Floor(제26매수금액*10000/c)); if MaxEntries == 26 then # 70 buy("b27",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.13),Floor(제27매수금액*10000/c)); if MaxEntries == 27 then # 65 buy("b28",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.135),Floor(제28매수금액*10000/c)); } } } #================================================================================================== if MarketPosition == 1 Then { if Xcond == False and MM > MFI값 or SS > 심리도값 or MMM > MFI값 or SSS > 심리도값 Then { Xcond = true; Xcnt = 0; } if Xcond == true Then { Xcnt = Xcnt+1; if Xcnt < 분할매도횟수 then Xvol = MaxContracts*분할매도율/100 ; Else Xvol = CurrentContracts; ExitLong("bx",OnClose,DEf,"",Xvol,2); } } Else { Xcnt = 0; Xcond = False; }
프로필 이미지
이형지
2020-11-12
611
글번호 143838
시스템
답변완료

문의드립니다

var1 = dayhigh; var2 = daylow; var3 = var1-var2; plot1(var1-var3*0.236); plo2(var1-var3*0.500); plot3(var1-var3*0.764); 위수식으로 전일 고점부터 아래로피보나치 전일 저점으로부터 위로 피보나치 를 부탁드립니다 2가지를부탁드립니다~~미리감사드립니다
프로필 이미지
유선
2020-11-12
489
글번호 143835
지표
답변완료

수식 부탁드립니다

안녕하세요 현재가격이 10000원 이상이 되면 시장가 매수 1봉전 60분봉 20일선 이하로 내려가면 시장가 매도
프로필 이미지
부산사람
2020-11-12
433
글번호 143834
시스템