커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

input : N(30); var : cnt(0), HH(0),LL(0),Hi(0),Li(0); var : HL(0),LH(0); HH = H; Hi = 0; LL = L; Li = 0; for cnt = 0 to N-1{ if H[cnt] > HH Then{ HH = H[cnt]; Hi = cnt; } if L[cnt] < LL Then{ LL = L[cnt]; Li = cnt; } } if Li >= Hi Then{ HL = L; for cnt = 0 to Hi{ if L[cnt] < HL Then HL = L[cnt]; } plot1(HH,"고점"); plot2(LL,"저점"); plot3(HH-(HH-LL)*0.764,"76.4%"); plot4(HH-(HH-LL)*0.618,"0.618%"); } if Li < Hi Then{ LH = H; for cnt = 0 to Li{ if H[cnt] > LH Then LH = H[cnt]; } plot3(LL+(HH-LL)*0.764,"76.4%"); plot4(LL+(HH-LL)*0.618,"0.618%"); } 강조식부탁드립니다(고점저점은생략) plot3.4위에있을때 핑크 아래있을때 그린색
프로필 이미지
장군
2015-12-24
188
글번호 93772
강조
답변완료

문의드립니다.

선물차트 기준으로 문의드립니다. 1. 일목균형표의 전환선 20선이 Fibonacci Retrace지표 HRetrace선 보다 위에 있을때 두선사이를 색채우기. 2. 위 1과 반대로 전환선20선이 LRetrace 선보다 아래 있을때 두선 사이를 색채우기 를 하고자 합니다. 수식을 어떻게 작성해야 하는지요? 부탁드립니다. 수고하세요!!!
프로필 이미지
해암
2015-12-24
182
글번호 93771
지표
답변완료

문의 드립니다

input : P1(12),P2(26),sto1(5),sto2(3),sto3(3),short(12),long(26); var1 = ema(c,P1); var2 = ema(c,P2); var3 = StochasticsK(sto1,sto2); var4 = StochasticsD(sto1,sto2,sto3); var5 = MACD(short,long); if var1 > var2 Then{ if crossup(var3,var4) and var3 < 50 and C > O Then buy("b1"); if CrossDown(var3,var4) and var3 > 50 Then ExitLong("bx1"); if crossup(var5,0) and C > O Then buy("b2"); if CrossDown(var5,0) Then ExitLong("bx2"); } if var1 < var2 Then{ if CrossDown(var3,var4) and var3 > 50 and C < O Then sell("s1"); if CrossUp(var3,var4) and var3 < 50 Then ExitShort("sx1"); if CrossDown(var3,var4) and var3 > 50 and C < O Then sell("s2"); if CrossUp(var3,var4) and var3 < 50 Then ExitShort("sx2"); } 위 식에서요 macd 0선 돌파신호가 나서 매수된것이 스톡에의해 청산되어 버립니다 그리고는 스톡에의한 매수가 진행되지 않는 경우도 있습니다 0선위에서는 스톡 매수와 청산만을 0선아래서는 스톡 매도와 청산만을 하고 싶습니다 macd에 의해 청산된 것은 macd 0선에의해 청산이되고 스톡에의해 매수 된 것은 스톡에의해 청산되어 지도록 부탁드립니다 계약수가 2개가 되어도 좋습니다
프로필 이미지
원칙준수
2015-12-28
175
글번호 93770
시스템
답변완료

함수수정요청(11-1호)

안녕하세요? 아래함수를 수정요청드립니다. 3영업일에 청산한 수익과 2영업일전에 청산한 수익을 비교하여 2영업일에 청산한 수익이 더 작으면 당일매매를 하며 더 크면 당일에는 매매를 하지 않을려고 합니다. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[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]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); }
프로필 이미지
통큰베팅
2015-12-24
180
글번호 93769
시스템
답변완료

문의드립니다.

오랫동안 변함없이 깊이있는 답변 감사드립니다. 크루드 오일 시뮬레이션을 돌리고 있는데 한달마다 근월물과 차월물 사이에 갭이 수익이나 손실에 반영이 되는 문제점이 있습니다. 만약 포지션이 있을 때 근월물 분봉 마지막 봉에서 청산하고 차월물 첫번째 봉에서 다시 진입하도록 설계를 하면 왜곡을 좀 줄일 수 있지 않을까 싶습니다. 혹시 이 식이 가능한지 궁금하고 더 좋은 방법이 있으면 알려주시면 감사하겠습니다.
프로필 이미지
alswoxod
2015-12-24
164
글번호 93768
시스템
답변완료

부탁드립니다

지표식 하나 부탁합니다 2분봉 차트에 6분봉의 10분봉의 30분봉의 60분봉의 각각의 200일 이평선으로 나오겠금 부탁합니다 정확성을 요합니다 데이타 1 2 3 4 를 이용해야 하는것이 더 정확하면 이 방법으로 알려주어도 좋습니다 시스템식 하나 부탁합니다 2봉봉 차트에 사용할 예정입니다 역시 2분봉의 6분봉의 10분봉의 30분봉의 60분봉의 각각의 200일 이평선으로 다 돌파하면 매수 반대도 부탁합니다
프로필 이미지
효효효효효
2015-12-24
175
글번호 93767
지표
답변완료

수식부탁드립니다.

안녕하세요. 항상 정확하고 친절한 답변에 감사드립니다. If stoK < 침체 and stoK > stoK[1] and time > 시작시간 and time < 종료시간 Then Buy("매수"); ***문의사항1 : StoK의 전봉은 침체권이었으나, 현재 Stok가 상승하여 침체권을 벗어난 경우 매수주문이 되지 않습니다. 최근의 StoK가 침체권 보다 낮은적이 있고, 현재 StoK가 Stok[1] 보다 높으면 매수 주문되도록 부탁드립니다. If stoK > 과열 and stoK < stoK[1] and time > 시작시간 and time < 종료시간 Then Sell("매도"); **** 문의사항2 : StoK의 전봉은 과열권이었으나, 현재 Stok가 하락하여 과열권을 벗어난 경우 매도주문이 되지 않습니다. 최근의 StoK 중 과열권 보다 높은적이 있고, 현재 StoK가 Stok[1] 보다 낮으면 매수 주문되도록 부탁드립니다. **** 문의사항3 : 위에서 침체권보다 낮은적이 있고를... 최근 높은값(High?)를 쓰는 방법과 True or False하는 방법 모두 부탁드립니다. True or False로 할경우 Stok에 True가 입력되면 False로 변경해 주어야 할것 같은데요.. 이또한 방법을 알려주시면 감사하겠습니다. 미리 감사드립니다.
프로필 이미지
자동매매를알자
2015-12-24
152
글번호 93766
시스템
답변완료

수식 부탁드립니다.

Q1) '연속 2회 손실시 2회 매수 제한'과 같이 매수 제한 횟수를 적용하고 싶습니다. Q2) 아래 식에서 ExitDate(cnt) == sdate 구문은 무엇을 의미하는지요? Lcnt = 0; for cnt = 0 to N { if ExitDate(cnt) == sdate and PositionProfit(cnt) < 0 Then Lcnt = Lcnt+1; }
프로필 이미지
쟁쟁
2015-12-24
182
글번호 93765
시스템
답변완료

선물 목표가

안녕하세요? 선물 5분봉 복합장에서 목표가를 나타내는 지표와 이를 이용한 시스템을 아래 조건과 같이 작성하고자 합니다. 1. 지표: 옵션 가격과 같은 일정 가격을 돌파 시 목표가를 2.5P 단위로 증가시키고, 이탈 시 2.5P 단위로 감소시킴, 목표가 표시는 달성될 때까지 나타나게 함 예) 가격이 240.0을 돌파 시 목표치는 242.5, 그 다음 목표치는 245.0, 가격이 245.0을 이탈 시에는 목표치가 242.5, 그 다음은 240.0 2. 시스템: (1번 지표를 이용) 가격이 일정 가격을 돌파 시 매수, 이탈 시 매도, 이 후 목표가 도달 후 청산, 손절은 0.5P 감사합니다.
프로필 이미지
리턴
2015-12-23
208
글번호 93764
시스템