커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식작성 부탁드립니다.

안녕하세요? 간단한 수식하나 작성 부탁드려요. *진입조건 1. 양봉종가가 x틱(외부변수)봉전 이내에 존재하는 음봉종가와 같을때 매수진입. (양봉에 진입을 하는데, 그 진입봉 x틱 이내에 존재하는 음봉의 종가와 같을때만 진입입니다) 2. 진입봉 종가가 당일시가와 같거나 클때만 진입 * 청산조건 1. 익절 x틱(외부변수), 손절 x틱(외부변수) 2. TS x틱(외부변수)이상 도달후 x틱(외부변수)하락할때 청산 감사합니다.
프로필 이미지
대구어린울프
2018-10-23
233
글번호 122933
시스템
답변완료

수식변환 부탁드립니다

일목균형표의 구름대(선행스팬1,선행스팬2)가 26봉만큼 선행해서 표시되는데 9봉만 선행하게 하는 수식 부탁드립니다.
프로필 이미지
빅플랜
2018-10-23
253
글번호 122932
지표
답변완료

지표식 문의드립니다.

data1과 data2의 합의 standard deviation를 구하는 지표식을 만들고 싶습니다. 즉 standard deviation을 풀어쓴 식에다가 data1과 data2의 합을 넣고 싶습니다. 항상 감사드립니다.
프로필 이미지
한글나라
2018-10-23
231
글번호 122931
지표
답변완료

sell 문의 드립니다.

수고가 많으십니다. if(C[0] > O[0]) then //==> 현재봉이 양봉으로 끝나면 Sell("매도", AtStop, NextBarOpen-(1*PriceScale)); //==> 다음봉 (시가 - 1틱) 발생 시 매도하려고 합니다. 여기서, 다음봉이 아래꼬리(시가-1틱)가 없는 봉이 발생하면 Sell 주문은 무시되는 것 같습니다. 문의사항) 1. 다음봉, 다다음봉 등 아무때고 시가-1틱이 발생할 때까지 위 주문을 유지해서 매도하는 수식이 궁금합니다. 2. 단, 피라미딩(모든 진입 허용) 상태에서 위 조건이 발생하면 한 번만 주문이 발생해야합니다. 감사합니다.
프로필 이미지
투자
2018-10-22
224
글번호 122930
시스템
답변완료

문의드립니다

문의드립니다. 1. RSI식에 가격이 아닌 ma(c,p1)을 적용하여 얻은값을 AA 2. RSI식에 AA를 p2기간 적용하여 얻은값을 BB 3. RSI식에 BB를 p3기간 적용하여 얻은값을 RR 최종값인 RR을 plot하는 지표식 부탁드립니다.
프로필 이미지
뉴스타트
2018-10-22
239
글번호 122929
지표
답변완료

참조 데이터

제가 뭔가 참조 데이터 쓰는 법을 잘 모르나 봅니다. 다음 수식 수정 부탁드립니다 (작동을 제대로 안 합니다) 이용하는 차트 = 1분봉 참조1 (data2) = 일봉 1. 갭 메우기 오늘 시가가 어제 저가보다 낮으면 090000 매수해서 어제 저가 또는 151900 에 청산 if stime==090000 and data2(O[0]) < data2(L[1]) then buy ("B",atmarket); if marketposition == 1 and c >= data2(L[1]) then exitlong ("Ex",atmarket); if marketposition == 1 and stime==151900 then exitlong ("Ex1",atmarket); 2. 가격이 (오늘 시가 + 어제 고가, 저가의 평균값) 에 도달할 경우 그 시점에 매수, 151900에 청산 var : higher(0); higher = data2(O[0]) + (data2(H[1])+data2(L[1]))/2 ; if marketposition == 0 and c=higher then buy ("B", atmarket); if marketposition == 1 and stime == 151900 then exitlong ("Ex", atmarket); 3. 오늘 110000 가격이 오늘 시가보다 높고 AND 130000 가격이 그때까지 오늘 고가,저가의 평균값보다 높으면 130000에 매수, 151900에 청산 if MarketPosition ==0 and (C>DayOpen and stime==110000) and (stime==130000 and C>(H+L)/2 ) then buy ("B",atmarket); if marketposition == 1 and stime == 151900 then exitlong ("Ex", atmarket); 4. 151900 가격이 일봉 5MA 위면 매수, 090001 청산 if marketposition == 0 and stime ==151900 and data2(C[0]) > data2(MA(C[0],5)) then buy ("B", atmarket); if marketpostion == 1 and stime ==090001 then exitlong ("Ex", atmarket); 한수 가르침 부탁드립니다^^
프로필 이미지
lch05
2018-10-23
249
글번호 122928
지표
답변완료

문의 합니다

1번 시스템 수식 input : 시작시간(090000),종료시간(152000); input : Period15(15),Period20(20),Period30(30),Period120(120),Period180(180),Period240(240),Period480(480),Period960(960),Period60(60),Period3(3),Period10(10),Period2(2),Period7(7),Period144(144),Period100(100),익절틱수(10),손절틱수(10); var : mav15(0),mav20(0),mav30(0),mav120(0),mav180(0),mav240(0),mav480(0),mav960(0),mav60(0),mav1(0),mav3(0),mav10(0),mav2(0),mav7(0),mav144(0),mav100(0),Bxcond(false),Sxcond(false); var : Tcond(false); var : T(0); mav15 = ma(c, Period15); mav20 = ma(c, Period20); mav30 = ma(c, Period30); mav120 = ma(c, Period120); mav180 = ma(c, Period180); mav240 = ma(c, Period240); mav480 = ma(c, Period480); mav960 = ma(c, Period960); mav60 = ma(c, Period60); mav3 = ma(c, Period3); mav10 = ma(c, Period10); mav2 = ma(c, Period2); mav7 = ma(c, Period7); mav144 = ma(c, Period144); mav100 = ma(c, Period100); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and (Stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간))) Then { Tcond = True; BXcond = false; SXcond = false; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if TotalTrades > TotalTrades[1] then{ BXcond = false; SXcond = false; if (IsExitName("bl",0) == true or IsExitName("bp",0) == true or IsExitName("bx",1) == true or IsExitName("bx",1) == true) Then BXcond = true; if (IsExitName("sl1",0) == true or IsExitName("sp1",0) == true or IsExitName("sx",1) == true or IsExitName("sx",1) == true) Then SXcond = true; } if Tcond == true then{ if MarketPosition <= 0 and Bxcond == false and (mav144[1] < mav144 and mav60[60] > mav60[2] and mav60[2] <= mav60[1] and mav60[1] < mav60 and mav15[1] < mav15) Then{ buy("매수",OnClose,def,1); } if MarketPosition == 1 Then{ if mav15[1] < mav15 and mav7 > mav15 and mav15 > mav30 and mav30[1] < mav30 and crossup(mav2, mav3) and CurrentContracts < 10 Then buy("매수1",OnClose,def,1); } if MarketPosition == 1 Then{ if (mav100[2] >= mav100[1] and mav100[1] > mav100) Then exitlong("수청산",OnClose,def,"매수"); if (mav100[2] >= mav100[1] and mav100[1] > mav100) Then exitlong("수청산1",OnClose,def,"매수1"); ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and Sxcond == false and (mav144[1] > mav144 and mav60[60] < mav60[2] and mav60[2] >= mav60[1] and mav60[1] > mav60 and mav15[1] > mav15) Then{ sell("매도",OnClose,def,1); } if MarketPosition == -1 then{ if mav15[1] > mav15 and mav7 < mav15 and mav15 < mav30 and mav30[1] > mav30 and CrossDown(mav2, mav3) and CurrentContracts < 10 Then sell("매도1",OnClose,def,1); } if MarketPosition == -1 then{ if (mav100[2] <= mav100[1] and mav100[1] < mav100) Then ExitShort("도청산",OnClose,def,"매도"); if (mav100[2] <= mav100[1] and mav100[1] < mav100) Then ExitShort("도청산1",OnClose,def,"매도1"); ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } } 2번 시스템 수식 input : ntime1(20),P(20); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),mav11(0),mav12(0); Array : C1[50](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 49 { C1[cnt] = C1[cnt-1][1]; } mav11 = mav1[1]; mav12 = mav11[1]; } C1[0] = C; if C1[P] > 0 then{ sum1 = 0; for cnt = 0 to P-1{ sum1 = sum1+C1[cnt]; } mav1 = sum1/P; if mav12 < mav11 and mav11 < mav1 and mav12 > 0 Then buy(); if mav12 > mav11 and mav11 > mav1 and mav12 > 0 Then sell(); } } 1번 수식에 2번 수식 함께 적용하여 하나의 수식으로 합쳐주세요 감사합니다 1번 수식에 최초 매수진입할 때 2번 수식 매수진입 수식을 합쳐주세요 (즉 1번 최초 매수진입과 1번 매수진입 만족하면 매수 진입) mav144[1] < mav144 and mav60[60] > mav60[2] and mav60[2] <= mav60[1] and mav60[1] < mav60 and mav15[1] < mav15 and mav12 < mav11 and mav11 < mav1 and mav12 > 0 1번 수식에 최초 매도진입할 때 2번 수식 매도진입 수식을 합쳐주세요 (즉 1번 최초 매도진입과 1번 매도진입 만족하면 매도 진입) mav144[1] > mav144 and mav60[60] < mav60[2] and mav60[2] >= mav60[1] and mav60[1] > mav60 and mav15[1] > mav15 and mav12 > mav11 and mav11 > mav1 and mav12 > 0
프로필 이미지
남산
2018-10-22
230
글번호 122927
시스템
답변완료

부탁 드립니다.

도움주심에 깊이 감사 드립니다. 다음 타주기 수식의 일봉 주봉 월봉지표를 분봉에 나타 나도록 부탁 드립니다. 미리 감사 드립니다.. /* Input:P4(4); VAR:VARQ1(0); VARQ1=ATR(P4); plot1(varq1); */ input : 타주기분(60),Period(10); var : S1(0),D1(0),TM(0),TF(0),cnt(0),HH(0),LL(0),CC(0),C1(0); var : sumTR(0),ATRV(0); Array : TH[100](0),TL[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { HH = H; LL = L; C1 = CC[1]; for cnt = 1 to 99 { TH[cnt] = TH[cnt-1][1]; TL[cnt] = TL[cnt-1][1]; } } if H > HH Then HH = H; if L < LL Then LL = L; CC = c; TH[0] = max(C1,HH); TL[0] = Min(C1,LL); if TH[Period-1] > 0 and TL[Period-1] > 0 then { sumTR = 0; for cnt = 0 to Period-1 { sumTR = sumTR + (TH[cnt]-TL[cnt]); } ATRV = sumTR/Period; plot1(ATRV); } }
프로필 이미지
yes
2018-10-23
243
글번호 122926
지표
답변완료

수식 부탁드립니다.

감사합니다. 수식부탁드립니다. 매수 포지션 일때 N개의 봉(캔들)의 시작가와 종가가 20틱 만큼 하락하면 청산 매수 포지션 일때 N개의 봉(캔들)의 최대값과 최소값이 20틱 만큼 하락하면 청산 매도 포시션 반대
프로필 이미지
라떼처럼
2018-10-22
212
글번호 122923
시스템