커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

강제청산 수식 좀 부탁드립니다

수고하십니다 예스글로벌 사용하는 1인입니다. 다름이 아니라 기본 시스템에서 강제청산에 관한 것인데 복사기능이 없어서 엑셀 첨부해서 올리겠습니다 수고하십시요
프로필 이미지
회원
2014-06-18
206
글번호 75908
시스템
답변완료

문의드립니다

안녕하세요 1.지표식 ADX P1(10) black P2(20) red P3(40) blue P4(60) green P5(80) magenta 기준선 10 5개의 기간을 plot시 각각의 지표값이 직전값보다 클때 선굵기 3, 그외의 경우는 선굵기 1 로 plot 되게 부탁드립니다. 2.검색식 Stochastics(5,3,3)에서 K값이 100 일때 red K값이 0 일때 blue 3.강조식 Stochastics(5,3,3)에서 K값이 100 일때 red K값이 0 일때 blue 수고하세요
프로필 이미지
뉴스타트
2014-06-18
161
글번호 75907
지표
답변완료

수식 추가 부탁드립니다

항상 도움을 주셔서 감사를 드립니다 아래의 식에서 손절방법을 추가하고자 합니다. 그림에서 처럼 매수포지션 진입후 진입캔들 이전 10개 캔들안에서 최저가격을 확인하고 그 최저가격보다 -0.5 더 떨어지면 Exitlong하는 방법입니다. 또한 매도포지션 진입후 진입캔들 이전 10개 캔들내에서 최고가격을 확인하고 그 가격보다 +0.5 이상 상승하면 Extishort하는 방법입니다 그리고 일봉 스토케스틱이 dSK1[0] > dSD1[0] 구간이 시작되면 "매수게임 구간" dSK1[0] > dSD1[0] 구간이 시작되면 "매도게임 구간" 이라고 챠트에 표시할 수는 없을까요? ================================================================================== Input : Period(25), Period1(6), Period2(6), MAP(5),수량1(1),수량2(2); input : Atime1(240),Atime2(30),StoPeriod(25), StoPeriod1(6), StoPeriod2(6); var : StoK(0),StoD(0),vol1(0),vol2(0),mav(0),SH(0),cross(0),Dncnt(0),Gncnt(0); Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),BuySetup2(true),SellSetup(true),SellSetup2(true),ExitSetup1(false),ExitSetup2(false),ExitSetup3(false),ExitSetup4(false); var : cnt(0),TF(0),Hvalue1(0), Lvalue1(0),sum1(0),sum2(0); Array : HH[50](0),LL[50](0),FK1[50](0),SK1[50](0),SD1[50](0); var : wHvalue1(0),wLvalue1(0),wsum1(0),wsum2(0); Array : WHH[50](0),WLL[50](0),wFK1[50](0),wSK1[50](0),wSD1[50](0); Array : dHH[50](0),dLL[50](0),dFK1[50](0),dSK1[50](0),dSD1[50](0); var : nTF(0),nHvalue1(0),nLvalue1(0),nsum1(0),nsum2(0); Array : nHH[50](0),nLL[50](0),nFK1[50](0),nSK1[50](0),nSD1[50](0); var : dHvalue1(0),dLvalue1(0),dsum1(0),dsum2(0); #주봉 스토케스틱 if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ wHH[0] = H; wLL[0] = L; for cnt = 1 to 49{ wHH[cnt] = wHH[cnt-1][1]; wLL[cnt] = wLL[cnt-1][1]; wFK1[cnt] = wFK1[cnt-1][1]; wSK1[cnt] = wSK1[cnt-1][1]; wSD1[cnt] = wSD1[cnt-1][1]; } } if H > wHH[0] Then wHH[0] = H; if L < wLL[0] Then wLL[0] = L; if wHH[StoPeriod] > 0 Then{ wHvalue1 = wHH[0]; wLvalue1 = wLL[0]; for cnt = 0 to StoPeriod-1 { if wHH[cnt] > wHvalue1 then wHvalue1 = wHH[cnt]; if wLL[cnt] < wLvalue1 then wLvalue1 = wLL[cnt]; } wFK1[0] = (C-wLvalue1)/(wHvalue1-wLvalue1)*100; } if wFK1[StoPeriod1] > 0 Then{ wsum1 = 0; for cnt = 0 to StoPeriod1-1{ wsum1 = wsum1+wFK1[cnt]; } wSK1[0] = wsum1/StoPeriod1; } if wSK1[StoPeriod2] > 0 Then{ wsum2 = 0; for cnt = 0 to StoPeriod2-1{ wsum2 = wsum2+wSK1[cnt]; } wSD1[0] = wsum2/StoPeriod2; } #일봉 스토케스틱 #N일간 최고가 및 최저가 if date != date[1] Then{ dHH[0] = H; dLL[0] = L; for cnt = 1 to 49{ dHH[cnt] = dHH[cnt-1][1]; dLL[cnt] = dLL[cnt-1][1]; dFK1[cnt] = dFK1[cnt-1][1]; dSK1[cnt] = dSK1[cnt-1][1]; dSD1[cnt] = dSD1[cnt-1][1]; } } if H > dHH[0] Then dHH[0] = H; if L < dLL[0] Then dLL[0] = L; if dHH[StoPeriod] > 0 Then{ dHvalue1 = dHH[0]; dLvalue1 = dLL[0]; for cnt = 0 to StoPeriod-1 { if dHH[cnt] > dHvalue1 then dHvalue1 = dHH[cnt]; if dLL[cnt] < dLvalue1 then dLvalue1 = dLL[cnt]; } dFK1[0] = (C-dLvalue1)/(dHvalue1-dLvalue1)*100; } if dFK1[StoPeriod1] > 0 Then{ dsum1 = 0; for cnt = 0 to StoPeriod1-1{ dsum1 = dsum1+dFK1[cnt]; } dSK1[0] = dsum1/StoPeriod1; } if dSK1[StoPeriod2] > 0 Then{ dsum2 = 0; for cnt = 0 to StoPeriod2-1{ dsum2 = dsum2+dSK1[cnt]; } dSD1[0] = dsum2/StoPeriod2; } #차트의 스토케스틱 Lvalue = lowest(L,Period); Hvalue = highest(H,period); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; StoK = ma(FK,Period1); StoD = ma(StoK,Period2); mav = ma(C,MAP); #타분봉1 스토케스틱 TF = TimeToMinutes(stime)%Atime1; if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; FK1[cnt] = FK1[cnt-1][1]; SK1[cnt] = SK1[cnt-1][1]; SD1[cnt] = SD1[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[StoPeriod] > 0 Then{ Hvalue1 = HH[0]; Lvalue1 = LL[0]; for cnt = 0 to StoPeriod-1 { if HH[cnt] > Hvalue1 then Hvalue1 = HH[cnt]; if LL[cnt] < Lvalue1 then Lvalue1 = LL[cnt]; } FK1[0] = (C-Lvalue1)/(Hvalue1-Lvalue1)*100; } if FK1[StoPeriod1] > 0 Then{ sum1 = 0; for cnt = 0 to StoPeriod1-1{ sum1 = sum1+FK1[cnt]; } SK1[0] = sum1/StoPeriod1; } if SK1[StoPeriod2] > 0 Then{ sum2 = 0; for cnt = 0 to StoPeriod2-1{ sum2 = sum2+SK1[cnt]; } SD1[0] = sum2/StoPeriod2; } #타분봉2 스토케스틱 nTF = TimeToMinutes(stime)%Atime2; if dayindex == 0 or (nTF < nTF[1] and stime > stime[1]) Then{ nHH[0] = H; nLL[0] = L; for cnt = 1 to 49{ nHH[cnt] = nHH[cnt-1][1]; nLL[cnt] = nLL[cnt-1][1]; nFK1[cnt] = nFK1[cnt-1][1]; nSK1[cnt] = nSK1[cnt-1][1]; nSD1[cnt] = nSD1[cnt-1][1]; } } if H > nHH[0] Then nHH[0] = H; if L < nLL[0] Then nLL[0] = L; if nHH[StoPeriod] > 0 Then{ nHvalue1 = nHH[0]; nLvalue1 = nLL[0]; for cnt = 0 to StoPeriod-1 { if nHH[cnt] > nHvalue1 then nHvalue1 = nHH[cnt]; if nLL[cnt] < nLvalue1 then nLvalue1 = nLL[cnt]; } nFK1[0] = (C-nLvalue1)/(nHvalue1-nLvalue1)*100; } if nFK1[StoPeriod1] > 0 Then{ nsum1 = 0; for cnt = 0 to StoPeriod1-1{ nsum1 = nsum1+nFK1[cnt]; } nSK1[0] = nsum1/StoPeriod1; } if nSK1[StoPeriod2] > 0 Then{ nsum2 = 0; for cnt = 0 to StoPeriod2-1{ nsum2 = nsum2+nSK1[cnt]; } nSD1[0] = nsum2/StoPeriod2; } # 매수포지션 진입============================================ # %k가 25을 하향돌파하면 BuySetup은 true if BuySetup == false and CrossDown(stok,25) Then{ BuySetup = true; } #%k가 60이상 상승하면 BuySetup은 false if stok >= 80 Then BuySetup = false; #BuySetup이 true일때 if BuySetup == true Then{ #매수조건 : 스톡케스틱 골든크로스 and 일봉 골든크로스 구간 if crossup(stok,stod) and stok[1] < stod[1] and dSK1[0] > dSD1[0] and MarketPosition == 0 Then buy("1차매수",OnClose,def,수량1); } ##매수청산 if MarketPosition == 1 Then{ #매수포지션에 진입하면 BuySetup은 false BuySetup = false; #80을 상향돌파한 이후에 첫번째 D.C 발생시 청산 if CrossUp(stok,80) Then ExitSetup1 = true; if ExitSetup1 == true and CrossDown(stok,stod) and stok[1] > stod[1] Then ExitLong("매수청산"); } Else //매수포지션이 아니면 ExitSetup1을 false로 초기화 ExitSetup1 = false; # 매도포지션 진입============================================ # %k가 80을 상향돌파하면 SellSetup은 true if SellSetup == false and CrossUp(stok,80) Then{ SellSetup = true; } #%k가 40이하 하락하면 SellSetup은 false if stok <= 40 Then SellSetup = false; #SellSetup이 true일때 if SellSetup == true Then{ #매도조건 : 스톡케스틱 데드크로스 and 일봉 데드크로스 구간 if CrossDown(stok,stod) and stok[1] > stod[1] and dSK1[0] < dSD1[0] and MarketPosition == 0 Then Sell("1차매도",OnClose,def,수량1); } ##매도 포지션 청산 if MarketPosition == -1 Then{ #매도포지션에 진입하면 SellSetup은 false SellSetup = false; #20을 하향돌파한 이후에 첫번째 D.C 발생시 청산 if CrossDown(stok,20) Then ExitSetup2 = true; if ExitSetup2 == true and CrossUp(stok,stod) and stok[1] < stod[1] Then ExitShort("매도청산"); } Else{ //매도포지션이 아니면 ExitSetup2를 false로 초기화 ExitSetup2 = false; }
프로필 이미지
뽄때
2014-06-17
242
글번호 75906
시스템

Pooh 님에 의해서 삭제되었습니다.

프로필 이미지
Pooh
2014-06-17
0
글번호 75905
시스템
답변완료

수식문의

안녕하십니까. 시스템거래를 준비하고 있습니다. 아래와 같이 수식을 만들고자 합니다. 1틱차트에서.. 1. 거래량이 150개이상 이고 2. 3틱이상(예로 260.30에서 26.40으로) 상승속도가 0.5초 이내면 매수. 1. 거래량이 150개이상이고 2. 3틱이상(예로 260.30에서 26.20으로) 하락속도가 0.5초 이내면 매도. 매수상태에서 어느 틱에서 2초이상의 시간동안 거래량인 100개이하일때 청산 또는 매수상태에 서 고점대비 2틱하락이면 청산 매도상태에서 어느 틱에서 2초이상의 시간동안 거래량인 100개이하일때 청산 또는 매도상태에서 저점대비 2틱상승이면 청산 이상과 같이 수식을 부탁드립니다.
프로필 이미지
Pooh
2014-06-17
176
글번호 75904
시스템
답변완료

지표 질문드립니다.

if Data2(C) < Data3(C) Then { if CrossUp( data2(L), data3(L) ) Then var1 = C; } 이란 지표를 만들었는데 지표가 당일 장시작후 조건이 만족된 값만 표시하려합니다. 지표를 적용하면 어제값이 그대로 나와있어서 그렇게 안하고 하루하루 값만 표기 되도록 변결할수있는 방법있을까요?
프로필 이미지
수다리
2014-06-17
165
글번호 75903
지표
답변완료

지표문의드립니다.

지표문의 드립니다. 만든 지표값이 평소엔 0이고 특정조건이 나타날때는 그때의 선물지수로 나타나게하는 지표를 만들었는데 이걸 선물지수에 겹치기를 할려니깐 0까지 표시가 되어 차트가 납짝해서 보이질않습니다. 해결방법없나요? if CrossUp( data2(L), data3(L) ) Then var1 = C; } plot1(Var1);
프로필 이미지
수다리
2014-06-17
144
글번호 75898
지표
답변완료

atm 옵션에 대해서...

atm 옵션차트를 이용하고 있는데요 atm으로 결정되는 원리가 무엇인가요? 코200지수로 알고 있는데, 어제를 예로들면 전일 코200시가가 258.16입니다. 그러면 등가가 257로 잡혀야 되는것 아닌가요? 전일 atm이 260으로 잡힌건 무슨 연유에서 인거죠?
프로필 이미지
회원
2014-06-17
155
글번호 75897
지표
답변완료

타주기 표시 문의

수식 부탁드립니다. 1) 120틱 차트에 1분봉과 3분봉 저가를 라인으로 표시하고 라인사이를 분홍색으로 칠함 1분봉과 3분봉 고가를 라인으로 표시하고 라인사이를 하늘색으로 칠함 2) 120틱 차트에 1분봉과 3분봉의 3봉 최저가를 라인으로 표시하고 라인사이를 분홍색으로 칠함 1분봉과 3분봉의 3봉 최고가를 라인으로 표시하고 라인사이를 하늘색으로 칠함 감사합니다..
프로필 이미지
홀로서기
2014-06-17
166
글번호 75891
지표