커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

행복; 수식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 종목검색식 관련입니다 주기; 30분봉 < 조건 > - 하루 종일 양봉의 개수는 13개 인데 - 당일 양봉 개수가 7개 이상이고 음봉 개수가 6개 이하 - 양봉 길이의 합이 음봉 길이의 합보다 긴 종목 - (양봉 길이) = (종가 - 시가) - 오늘부터 N 일전에 위의 조건이 맞는 종목을 검색 수식 작성 바랍니다 수고하십시요^^
프로필 이미지
행복한가방
2018-07-06
177
글번호 120335
종목검색
답변완료

수식 수정 의뢰드려요

안녕하세요! 수식 수정 좀 부탁드려요! input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4),Per6(100),Per7(123.6),Per8(138.2),Per9(150),Per10(161.8); var : cnt(0),HH(0),LL(0),RR(0); HH = dayhigh(1); LL = daylow(1); RR = HH-LL; plot1(HH,"고점"); plot2(LL,"저점"); plot3(HH-RR*(Per1/100),"23.6%"); plot4(HH-RR*(Per2/100),"38.2%"); plot5(HH-RR*(Per3/100),"50.0%"); plot6(HH-RR*(Per4/100),"61.8%"); plot7(HH-RR*(Per5/100),"76.4%"); plot8(HH-RR*(Per6/100),"100%"); plot9(HH-RR*(Per7/100),"123.6%"); plot10(HH-RR*(Per8/100),"138.2%"); plot11(HH-RR*(Per9/100),"150%"); plot12(HH-RR*(Per10/100),"161.8%"); 위 식은 당일 고점과 저점 기준으로 피보나치를 만든건데 123.6 / 150/ 161.8 은 선으로 안나타나네요! 수식 수정 좀 부탁드립니다! 그리고 만약 당일 고점-저점 대신 저점-고점은 어떻게 해야 하나요? ---------------------------------------------------------------------------------- 2. 현재 예스에는 tema선이 세개로 표시되어 있는데 이것은 9개 선으로 추가하여 표시하고자 합니다. 부탁드려요! 감사합니다!
프로필 이미지
qha71
2018-07-06
189
글번호 120334
지표
답변완료

수식문의

안녕하세요 하기 수식에서 더 추가하고 싶어서 문의 드립니다. 1. 하기수식에서 볼린져 이평선 상단 10틱이상에서 가격이 존재하고 볼린져 oscillator가 음으로 바뀌면 매도진입하는 수식 부탁드립니다. 청산은 볼린져 밴드 하단에 닿으면 청산하는 청산식도 부탁드립니다. 볼린져 이평선 하단 10틱 이하에서 가격이 존재하고 볼린져 oscillator가 양으로 바뀌면 매수진입하는 수식 부탁드립니다. 청산은 볼린져 밴드 상단에 닿으면 청산하는 청산식도 부탁드립니다. input : Period(20),dv(2); input : ADXP(14); var : ADXv(0,data1),DP(0,data1),DM(0,data1); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1); var : BandB1(0,data1),HH1(0,data1),LL1(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2); var : T(0,data1); BBmd1 = data1(ma(C,Period)); BBdn1 = data1(BollBandDown(Period,Dv)); BBUp1 = data1(BollBandUp(Period,Dv)); BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100); BBmd2 = data2(ma(C,Period)); BBdn2 = data2(BollBandDown(Period,Dv)); BBUp2 = data2(BollBandUp(Period,Dv)); ADXv = data1(ADX(ADXP)); DP = data1(DiPlus(ADXP)); DM = data1(DiMinus(ADXP)); if crossup(BandB1,90) Then HH1 = BandB1; if BandB1 > 90 and BandB1 > HH1 Then HH1 = BandB1; if CrossDown(BandB1,10) Then LL1 = BandB1; if BandB1 < 10 and BandB1 < LL1 Then LL1 = BandB1; if CrossDown(BandB1,90) Then { T = 0; if HH1 > 100 Then T = -1; if BBup2 < BBup1 then T = -2; } if CrossUp(BandB1,10) Then { T = 0; if HH1 < 0 Then T = 1; if BBdn2 > BBdn1 then T = 2; } if T == -1 and BBup2 < BBup1 then T = -2; if T == 1 and BBdn2 > BBdn1 then T = 2; if T == -2 and T != T[1] and DP < ADXv Then { T = 0; sell("s4"); } if T == 2 and T != T[1] and DM < ADXv Then { T = 0; buy("b4"); }
프로필 이미지
softtoug
2018-07-06
173
글번호 120327
시스템
답변완료

문의드립니다.

1. 0봉전 10봉이내 구름대 상향돌파 2. 0봉전 10봉이내 단순이평 120일선 상향돌파 기존의 특정봉기준을 기간내로 변경하여 사용하고 싶습니다.
프로필 이미지
psh2255
2018-07-06
174
글번호 120326
종목검색
답변완료

수식문의

안녕하세요 하기 수식 검토 드립니다. 20 이평선 5개의 평균값이 0을 넘어서 상승을 한다면, 매수 진입. 20 이평선 5개의 평균값이 0을 내려가서 하락을 한다면 매도 진입. 하기 수식에서 변환점 0을 기준으로 매수 또는 매도 진입하고 싶습니다. 그런데 하기식은 너무 많은 진입을 하고 있어서 제가 생각한 것처럼 작동이 되지 않고 있습니다. input : P(20); var1 = ma(c,P); var2 = var1-var1[1]; if var2 >= PriceScale*10 Then var3 = 1;#plot1(var2,"등락",RED); Else if var2 < PriceScale*10 and var2 > 0 Then var3 = 2;#plot1(var2,"등락",magenta); else if var2 <= 0 and var2 > -PriceScale*10 Then var3 = -1;#plot1(var2,"등락",clay); Else if var2 <= -PriceScale*10 Then var3 = -2;#plot1(var2,"등락",blue); if crossup(var3,0) Then buy("b1"); if CrossDown(var3,0) Then sell("s1"); 감사합니다.
프로필 이미지
softtoug
2018-07-06
159
글번호 120324
시스템
답변완료

질문드립니다.

1 아래 시스템은 다음 봉 시가가 5%이상일 경우와 아닌 경우 분할 매매 시스템식입니다. if MarketPosition == 1 Then { #봉완성시 다음봉 시가가 진입가 대비 5% 이상 상승하면 true if NextBarOpen >= EntryPrice*(1+Per/100) Then OpenCond = true; #BP1 청산이 발생하면 Xcond1은 true if LatestExitName(0) == "BP1" Then Xcond1 = true; #BP2 청산이 발생하면 Xcond2은 true if LatestExitName(0) == "BP2" Then Xcond2 = true; #BP3 청산이 발생하면 Xcond3은 true if LatestExitName(0) == "BP3" Then Xcond3 = True; #OpenCond가 false일때 if OpenCond == false Then { if Xcond1 == false then ExitLong("BP1",atlimit,EntryPrice(0)*1.03,"",Floor(MaxContracts*0.3),1); if Xcond2 == false then ExitLong("BP2",atlimit,EntryPrice(0)*1.04,"",Floor(MaxContracts*0.4),1); if Xcond3 == false then ExitLong("BP3",atlimit,EntryPrice(0)*1.05); } #OpenCond가 true일&#46468; if OpenCond == true Then { #BP1로 청산이 안된 경우만 발생 if Xcond1 == false Then ExitLong("BP6",atlimit,EntryPrice*(1+(Per+3)/100),"",Floor(MaxContracts*0.3),1); #BP2로 청산이 안된 경우만 발생 if Xcond2 == false Then ExitLong("BP7",atlimit,EntryPrice*(1+(Per+4)/100),"",Floor(MaxContracts*0.4),1); #BP3로 청산이 안된 경우만 발생 if Xcond3 == false Then ExitLong("BP8",atlimit,EntryPrice*(1+(Per+5)/100)); #5%이하로 가격하락하면 전량처산 exitlong("BP5",AtStop,EntryPrice*(1+Per/100)); } } #매수포지션이 아니면 모두 false로 초기화 if MarketPosition != 1 Then{ OpenCond = false; Xcond1 = false; Xcond2 = false; Xcond3 = false; } 다음 봉 시가가 5%이상일때 트레일링 스탑을 적용하고 5%미만으로 상승폭이 떨어질때 전량청산으로 수정하려면 Opencond이 true인 부분만 아래와 같이 수정할 경우 사용가능한지 문의드립니다 #OpenCond가 true일&#46468; if OpenCond == true Then { SetStopTrailing(2,5,PercentStop,1); #5%이하로 가격하락하면 전량처산 exitlong("BP5",AtStop,EntryPrice*(1+Per/100)); } 2 SetStopTrailing은 분할로 사용이 불가하죠? 3 분봉상 큰폭으로 상승할때 수익극대화할수 있는 방법에 SetStopTrailing말고 다른 함수가 있는지도 문의드립니다.(분할로 매매가 가능한)
프로필 이미지
가이츠
2018-07-06
177
글번호 120313
시스템
답변완료

시간설정 수식부탁합니다.

해선 크루드오일을 주로 거래합니다. 매주 수요일 현지시각으로 11시에는 거래를 안하고 싶은데 이를 수식으로 부탁합니다. 즉, 수요일, 목요일 이틀동안 10시 50분에 모두 청산, 11시 20분까지는 거래 안함. 감사합니다.
프로필 이미지
Pooh
2018-07-06
180
글번호 120309
시스템
답변완료

수정요청 드립니다.

안녕하세요? 아래와 같은 시스템 작성하여주셨고, 먼저 깊은 감사의 마음 전달드립니다. 아래에 기존 작성해주신 시스템에서 수정할 부분이 있어 요청드립니다. ***수정요청 사항 1) 진입조건에서 "중간에 도지1개는 허용"을 " 중간에 도지 모두 허용" 으로 수정 2) 진입조건에서 몸통길이를 외부변수로 넣을수있게 하여서 잘 사용중입니다. 하지만 문제가 외부변수를 진입방법 한가지 밖에 없습니다. 현재는 매도진입과 매수진입 모두 동일한 한가지 변수로 밖에 진입이 안됩니다. 매수도 매도를 각각 분리하여 외부변수 넣을수 있게 부탁드리겠습니다. 그럼 부탁드립니다. 감사합니다. -------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : 음봉틱수(10),양봉틱수(0),손절틱수(10),익절틱수(10); var1 = abs(C-O); if C < O and var1 == PriceScale*음봉틱수 and C[1] > O[1] and var1[1] == PriceScale*양봉틱수 Then sell(); if C > O and var1 == PriceScale*양봉틱수 and C[1] < O[1] and var1[1] == PriceScale*음봉틱수 then Buy(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요 > 대구어린울프 님이 쓴 글입니다. > 제목 : 시스템작성 부탁드립니다. > 안녕하세요? 간단한 수식작성 부탁드립니다. 더운데 건강챙기시고, 감사합니다.^^ # 손절,익절 : 외부변수 # 진입후 청산이후 재진입 반복 ( 익절이든 손절이든 하기전에 신규진입 금지) # 진입조건 (중간에 도지 1개는 허용) 1. 몸통길이 (외부변수)틱 양봉 다음 몸통길이 (외부변수)틱 음봉 나오면 매도 2. 몸통길이 (외부변수)틱 음봉 다음 몸통길이 (외부변수)틱 양봉 나오면 매수
프로필 이미지
대구어린울프
2018-07-06
163
글번호 120308
시스템
답변완료

수식 질문 드립니다

그림으로는 간단해 보이는데 작성하려고 하니까 꽤 어렵네요..ㅠ 그림1 은 제가 생각한것을 차트에 다 표시한거구요 (설명 드리기 위해) 차트 하단에 사용 한 보조지표는 투자심리선(simrido) 입니다. 저기 빨간색 표시한 부분은, 주변보다 높은 꼭대기 부분이고 초록색 표시한 부분은, 주변보다 낮은 바닥 부분입니다 지표상 빨간 부분(높을 때) 일때는, 해당하는 봉 중 젤 높은 고가 초록 구역(낮을 때)에서는, 해당하는 봉 중 젤 낮은 저가를 표시하고 싶습니다. 이평선 처럼, 변곡점 윗부분이 딱 한곳이면 ( A[2] < A[1] ) and ( A[1] > A ) 이렇게 나타낼수 있겠으나 여긴 한 점일때도, 아닐때도 있죠. if조건으로 심리 지표 높은 변곡점을 찾는다면 A = simrido(10) ( A[2] < A[1] ) and ( A[1] > A ) ( A[3] < A[2] ) and ( A[2] == A[1] ) and ( A[1] > A ) ( A[4] < A[3] ) and ( A[3] == A[2] ) and ( A[2] == A[1] ) and ( A[1] > A ) ( A[4] < A[3] ) and ( A[4] == A[3] ) and ( A[3] == A[2] ) and ( A[2] == A[1] ) and ( A[1] > A ) ............ 이런식으로 약 A[50] 정도 까지 조건 걸어주면 될거같다고 생각했어요, 반복구문이라 for문을 사용 가능한지도 여쭙고 싶네요, 조건 만족하는 결과 나오면 break되게요, 조건은 한 50개 정도 걸면 될거같아요. 낮은 점 찾는거는 부등호 반대로 하면 될거같구요,, 가능한한 스윙함수 말고 해주셨으면 좋겠습니다, 스윙이 꼭! 들어가야 한다면 어쩔수없지만요.. 심리도 상의 가장 높은, 낮은 영역을 찾아 그 구간을 valuewhen, highest, lowest이랑 합치면 될듯한데,, 이 정도 까지 생각 하다가 막혔네요 ㅠ_ㅠ 만약 진짜 차트위에 표시되게 한다면, 그림 2번처럼 투자심리선 가장 높은지점, 낮은지점을 최근에 발생한거만 불러와서 낮을땐 저가, 높을땐 고가 표시만 하고싶습니다. 도와주세요....ㅠㅠ
프로필 이미지
뚜비뚜밥
2018-07-06
207
글번호 120307
사용자 함수