커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식질문드립니다.

1.작년을 4등분한것인데여... 딱 작년이라고 단정짓지않고, 예를 들어 100개,150개,200개,300개 등등 봉들의 고가저가를 4등분한다. 이렇게 기간을 변수로정해서 변수만 바꿔가며 쓰고싶습니다. 수식을 어떻게 해야할까요.(분봉,일봉,주봉 모두에 쓰고싶습니다) 2. 그리고 그렇게 n개봉 동안의 고가저가를 4등분을 했다고하면, 4등분한 지점(저점,25%,50%,75%,고점) 이렇게 생길텐데요 75%지점에 1%내외로 근접한 종목을 찾는 종목검색식도 궁금합니다. (분봉,일봉,주봉 모두에 쓰고싶습니다) 초보라..매번 염치없이 죄송합니다 ㅜㅜ if sdate > sdate[1]+1000 Then{ var1 = H; var2 = L; var11 = var1[1]; var12 = var2[1]; var13 = (var11-var12)/4; } if H > var1 Then var1 = H; if L < var2 Then var2 = l; if var11 > 0 and var12 > 0 Then{ plot 이하생략.
프로필 이미지
철옹성
2016-04-06
189
글번호 96890
지표
답변완료

수식 수정 부탁합니다.

안녕하세요? 만들어주신 수식입니다. 1번조건에 어제 만들어 주신 2번 청산조건을 수정할려고 하니 잘안되어서 문의 드립니다. 기존 청산조건 수정 부탁드립니다. 기존청산조건; 익절:50 손절:25 stop:+20수익후 +1틱에 stop 수정요청내용; 1) 진입조건 기존동일하구요 ① 진입신호 유지시 -20틱일때 추가 한계약. 진입신호 이탈시 추가매수 안함. (예를 들어 매수시 60MA가 상승기울기인데 -20일때 상승기울기이면 추가 한계약 하락 기울기 이면 추가 매수 안함_현재가기준) ② 매매시작은 진입신호 발생시 진입하고 그이후 익절이든 손절이든 청산후 5개봉이후부터 신호발생시 진입 2)청산조건. 익절 :한계약은 기존동일하구요 나머지 한계약은 60 이평선을 이탈(돌파)후 5개째봉에서 재 돌파하지 못하면 청산. 이때 매수후 청산전까지 진입신호는 나오지 않게 부탁합니다. 손절:25 stop:+20수익후 +1틱에 stop(2게약모두청산) 항상 감사드립니다. 1. var : T(0); var1 = ma(C,20); var2 = ma(C,60); if var2 > var2[1] Then T = 1; if var2 < var2[1] Then T = -1; if stime >= 230000 or stime < 030000 then{ if MarketPosition <= 0 and T == 1 and NextBarOpen < var1 Then buy("b",AtStop,NextBarOpen+PriceScale*3,2); if MarketPosition >= 0 and T == -1 and NextBarOpen > var1 Then sell("s",AtStop,NextBarOpen-PriceScale*3,2); } if MarketPosition == 1 Then{ ExitLong("bp1",AtLimit,EntryPrice+PriceScale*50,"",1,1); ExitLong("bp2",AtLimit,EntryPrice+PriceScale*100); ExitLong("bl",AtStop,EntryPrice-PriceScale*25); if CurrentContracts == MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then{ ExitLong("bx1",AtStop,EntryPrice+PriceScale*1); } if CurrentContracts < MaxContracts Then{ ExitLong("bx2",AtStop,EntryPrice+PriceScale*1); } } if MarketPosition == -1 Then{ ExitShort("sp1",AtLimit,EntryPrice-PriceScale*50,"",1,1); ExitShort("sp2",AtLimit,EntryPrice-PriceScale*100); ExitShort("sl",AtStop,EntryPrice+PriceScale*25); if CurrentContracts == MaxContracts and Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 Then{ ExitShort("sx1",AtStop,EntryPrice-PriceScale*1); } if CurrentContracts < MaxContracts Then{ ExitShort("sx2",AtStop,EntryPrice-PriceScale*1); } } 2. var1 = ma(C,60); if MarketPosition == 1 and countif(CrossDown(c,var1),BarsSinceEntry) >= 1 and countif(C<var1,5) == 5 Then exitlong(); if MarketPosition == -1 and countif(Crossup(c,var1),BarsSinceEntry) >= 1 and countif(C>var1,5) == 5 Then ExitShort(); 진입후 청산전까지 진입신호 무시는 진입식에 조건을 추가하셔야 합니다. 사용하는 수식의 지입조건식에 MarketPosition == 0 조건을 추가하시면 됩니다.
프로필 이미지
상중하
2016-04-06
190
글번호 96889
시스템
답변완료

문의합니다

분봉차트에서 1.지그재그 파동마다 꼭지점과 꼭지점의(고점과 저점) 사이의 사등분선이 그려지게 하여 주시고 2.지그지그추세선과 사등분선(4개선 각각)은 임의로 체크해제하여 사라질수있도록 부탁드리며 3. 기간값을 임의조정할수있게 하여 주십시요~~ 감사합니다
프로필 이미지
매화산삼
2016-04-06
297
글번호 96888
지표
답변완료

함수요청(피보나치)

안녕하세요? 지표 요청드립니다. 피보나치 조정대입니다. 1. 당일 포함하여 과거 n주간 조정대를 분봉 차트상에 그리고 싶습니다. 여기서 n주간은 주봉상입니다. 가령 당일이 월요일이라면 과거 1주간 조정대의 경우 월요일 고점과 저점을 기준으로 피보나치 조정대가 그려집니다. 2. 당일 제외하여 과거 n주간 동안 조정대를 분봉 차트상에 그리고 싶습니다.
프로필 이미지
통큰베팅
2016-04-06
282
글번호 96887
지표
답변완료

함수요청(피보니치 조정대)

안녕하세요? 1. 당일 포함 최근 n일 동안의 피보나치 조정대를 그리고 싶습니다. 2. 당일 제외 최근 n일 동안의 피보나치 조정대를 그리고 싶습니다.
프로필 이미지
통큰베팅
2016-04-06
213
글번호 96886
지표
답변완료

문의드립니다.

input: PeriodRSI(14); // Indicator period input: StepSizeFast(5); // Fast step input: StepSizeSlow(15); // Slow step var: fmin(9999),fmax(-9999); var: smin(9999),smax(-9999); var: ftrend(1),strend(1); var: RSI0(0); //---- restore values of the variables RSI0=RSI(PeriodRSI); fmax=RSI0+2*StepSizeFast; fmin=RSI0-2*StepSizeFast; if(RSI0>fmax[1]) then ftrend=1; if(RSI0<fmin[1]) then ftrend=-1; if(ftrend>0 && fmin<fmin[1]) then fmin=fmin[1]; if(ftrend<0 && fmax>fmax[1]) then fmax=fmax[1]; smax=RSI0+2*StepSizeSlow; smin=RSI0-2*StepSizeSlow; if(RSI0>smax[1]) then strend=1; if(RSI0<smin[1]) then strend=-1; if(strend>0 && smin<smin[1]) then smin=smin[1]; if(strend<0 && smax>smax[1]) then smax=smax[1]; if(ftrend>0) then var3=fmin+StepSizeFast; if(ftrend<0) then var3=fmax-StepSizeFast; if(strend>0) then var4=smin+StepSizeSlow; if(strend<0) then var4=smax-StepSizeSlow; plot1(RSI0,"RSI"); plot2(var3,"Fast_Metro"); plot3(var4,"Slow_Metro"); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(70, "기준선 70"); ......................................................................................... 상기지표에서 plot1(RSI0,"RSI"); plot2(var3,"Fast_Metro"); plot3(var4,"Slow_Metro"); 위 세선에 색깔을 넣어 주세요 즉 RSI0선이 상승하면 빨간색, 하락하면 파란색 마찬가지로 var3,"Fast_Metro선이 상승하면 빨간색 하락하면 파란색 var4,"Slow_Metro선이 상승하면 빨간색 하락하면 파란색을 넣어주세요 감사합니다
프로필 이미지
회원
2016-04-06
213
글번호 96884
지표
답변완료

부탁드림니다.

안녕하세요..예스스탁에 항상감사합니다. 선물차트라인부탁드림니다. 1.전일고점라인.전일저점라인.전일종가라인.전일시가라인. 2.야간고점라인.야간저점라인.야간종가라인.야간시가라인. 3.당일고점라인.당일저점라인.당일시가라인 당일고점저점의75%라인. 당일고점저점의50%라인. 당일고점저점의25%라인. 수고하세요..꾸벅
프로필 이미지
보인다
2016-04-05
203
글번호 96883
지표
답변완료

수식 문의드립니다.

안녕하세요. ETF를 이용한 시스템 매매 계획중에 있습니다. 제가 하고자 하는 시스템은 9시부터 9시 30분까지 선물지수(data2)를 모니터링하여 시초가보다 9시 30분의 종가가 올랐을 경우 9시 31분에 ETF 레버리지(data1)를 계좌 금액의 30%만 매수하고 14시 20분에 전량 매도하는 예스랭귀지 구상주에 있습니다. 상기 시스템에 대하여 예스 랭귀지로 구현부탁드립니다.
프로필 이미지
doubleh
2016-04-05
194
글번호 96882
시스템
답변완료

시스템검증에서 손절이 제대로 안됩니다

1. var1 = highest(H,20)[1]; var2 = lowest(L,20)[1]; var3 = atr(20); var4 = ma(C,25); var5 = ma(C,350); if var4 > var5 then{ if MarketPosition <= 0 and crossup(C,var1) Then buy("b",OnClose,def,1); if MarketPosition == 1 then{ if MaxEntries == 1 Then{ buy("bb",AtStop,EntryPrice+var3*(1/2),1); ExitLong("bx1",AtStop,EntryPrice-var3*2); } if MaxEntries == 2 Then{ ExitLong("bx2",AtStop,EntryPrice-var3*2+var3*(1/2)); } ExitLong("Bx3",AtStop,lowest(L,10)); } } if var4 < var5 then{ if MarketPosition >= 0 and CrossDown(C,var2) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if MaxEntries == 1 Then{ sell("ss",AtStop,EntryPrice-var3*(1/2),1); ExitShort("sx1",AtStop,EntryPrice+var3*2); } if MaxEntries == 2 Then{ ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2)); } ExitShort("sx3",AtStop,Highest(H,10)); } } 2. var1 = highest(H,20)[1]; var2 = lowest(L,20)[1]; var3 = atr(20); var4 = ma(C,25); var5 = ma(C,350); if var4 > var5 then{ if MarketPosition <= 0 and crossup(C,var1) Then buy("b",OnClose,def,1); if MarketPosition == 1 then{ if MaxEntries == 1 Then{ buy("bb",AtStop,EntryPrice+var3*(1/2),1); ExitLong("bx1",AtStop,EntryPrice-var3*2); } if MaxEntries == 2 Then{ ExitLong("bx2",AtStop,EntryPrice-var3*2+var3*(1/2)); } ExitLong("Bx3",AtStop,Highest(C,BarsSinceEntry)-var3*3); } } if var4 < var5 then{ if MarketPosition >= 0 and CrossDown(C,var2) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if MaxEntries == 1 Then{ sell("ss",AtStop,EntryPrice-var3*(1/2),1); ExitShort("sx1",AtStop,EntryPrice+var3*2); } if MaxEntries == 2 Then{ ExitShort("sx2",AtStop,EntryPrice+var3*2-var3*(1/2)); } ExitShort("sx3",AtStop,Lowest(c,BarsSinceEntry)+var3*3); } } 1. 돈키언 추세 시스템 종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입 이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가. 1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갔을 때) 손절 2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정 가격 수준이 10일 신저(고)가일 때 청산 25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만 2. 돈키언 추세 시스템+ 샹들리에 청산 시스템 종가가 최근 20일 신고(저)가일때 매수(매도) 1계약 진입 이후 가격 수준이 1/2*(20)ATR 올라갈때(내려갈 때) 한번 1계약 추가. 1차 진입이후 가격 수준이 2*(20)ATR 내려갔을 때(올라갈을 때) 손절 2차 진입시 손절가를 이전 손절가+-1/2*(20)ATR 상향(하향)조정 진입시점 이후 최고가(종가)대비 가격 수준이 3*(20)ATR 만큼 떨어졌을 때(올라갔을 때) 청산 25일 이동평균선이 350일 이동평균선을 상향 교차할 때는 매수만, 25일 이동평균선이 350일 이동평균선을 하향 교차할 때는 매도만 ======================================================================================== 추가 계약진입은 시스템 검증할때 피라미딩 체크하면 되는것 같은데, 손절은 검증이 안되고 무조건 무손절로 검증이 되어 버리네요. 해결 부탁드립니다..ㅠㅠ
프로필 이미지
마틸다
2016-04-05
202
글번호 96881
시스템