커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템 수식 부탁드려요

1) 오후2시 시가 기준 진입인데요 딱한번만 진입 기준은 이전 봉 10개 최저점과 최고점 합의 중간값보다 크면 매수 작으면 매도 진입 청산은 매수일경우 볼린자밴드 상단값이 50%값에서 청산 매도일경우 볼린자밴드 하단값이 50%값에서 청산 예외사항은 진입당시 볼밴 상하단값이 틱수가 40틱 이하일떄 진입금지인 시스템 부탁드려요 2) 다른내용은 위와 같고 청산만 매수일경우 볼밴 상단 값에서 매도일경우 볼밴 하단값에서청산 3) 다른내용은 위와 같고 진입은 2개 기준으로 1개는 매수일경우 상단선 매도일경우 하단값 기준으로 1개는 50%에서 청산 1개는 상단, 하단선에서 청산될수있는 시스템 부탁드려요
프로필 이미지
가날
2017-10-22
114
글번호 113535
시스템
답변완료

수식 작성 문의 드립니다.

안녕하세요. 실시간 검색을 통한 자동매매 아이디어가 있어서 5분봉 거래 수식 작성을 문의드립니다. 제가 장을 보고 있을 수가 없어서 실시간 검색, 매수, 매도를 시스템이 자동으로 할 수 있게끔 시스템을 만들어 보고 싶습니다. 종목검색과 거래가 한 번에 될 수 없으면 어떤 식으로 진행해야하는지도 함께 알려주시면 좋겠습니다. 항상 감사드립니다. * 시간 기준 : 10시 30분 이전까지만 진입, 미청산 종목이 있으면 당일 3시에 일괄 청산 * 종목 수 : 하루에 최대 10종목까지만 진입(종목당 1회) * 금액 : 종목당 100만원 1. 거래량 조건 - 당일 첫봉(5분봉) 거래량이 전일 거래량 대비 20% 이상(2만주 이상) or - 9:30까지의 거래량이 전일 거래량 대비 50% 이상(5만주 이상) or - 10시까지의 거래량이 전일 거래량 대비 200% 이상(20만주 이상) * 봉완성 상관 없이 달성 순간 거래량 조건은 만족되는 것으로 판단 => 당일에 거래량이 폭증하는 종목을 선택 2. 봉 조건 - 몸통 길이가 5% 이하인 양봉 and - 윗꼬리 길이가 3% 이하(없어도 되며, 윗꼬리가 아랫꼬리보다 길면 안됨) and - 아랫꼬리 길이가 3% 이하(없어도 됨) and - 양봉의 시가가 일목균형표 전환선 대비 3% 이상 차이가 나면 안됨//몸통이 전부 전환선 위에 존재 - 전환선이 기준선 위에 있어야하며 전환선이 구름대를 빠져나와야함 * 봉완성 전에 거래량 조건이 만족할 경우, 직전 봉이 봉조건을 만족하면 봉완성을 기다릴 필요 없이 봉 조건 만족되는 것으로 판단 => 일목 전환선을 올라온 종목을 선택하되 전환선에서 너무 떨어져 있는 상황에서 진입하는 것을 방지 3. 주가범위 - 천원 이상 4. 청산 조건 - 진입 후 4% 이상 수익시 or - 주가가 상승한 후 기준선까지 하락 시 or - 진입 후 4% 하락 시
프로필 이미지
깜피
2017-10-22
127
글번호 113534
시스템
답변완료

문의 드립니다.

안녕하세요 Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); If CrossUP(value1, value2) Then { buy("bMACD"); } If CrossDown(value1, value2) Then { sell("sMACD"); } } 상기 수식에서 매수 진입후 최대 수익 대비 하락으로 익절을 낸 후 가격의 위치가 볼린져 밴드 중앙 이평 아래에 있을 경우 재진입하는 수식 추가 부탁드립니다. 매도 진입후 최대 수익 대비 하락으로 익절을 낸 후 가격의 위치가 볼린져 밴드 중앙 이평 위에 있을 경우 재진입하는 수식 추가 부탁드립니다. 감사합니다.
프로필 이미지
softtoug
2017-10-22
99
글번호 113533
시스템
답변완료

부탁 드립니다.

도움 주심에 감사 드립니다. 분봉 타주기에 사용 하던 수식을 질문1)분봉에서 일봉 지표를 질문2)분봉에서 주봉 지표를 질눈3)분봉에서 월봉 지표를 질문4)일봉에서 주봉 지표를 질문5)일봉에서 월봉 지표를 볼려고 합니다. 수정 부탁 드립니다. input : 분주기(60),P100(50); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : HV1(0),HV2(0),HV3(0); var : HH1(0),HH2(0),HH3(0); var : LL1(0),LL2(0),LL3(0); Array : HH[100](0),LL[100](0),OO[100](0),CC[100](0),VV[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(100000); 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{ OO[0] = O; HH[0] = H; LL[0] = L; VV[0] = 0; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; VV[cnt] = VV[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; VV[0] = VV[0]+v; if HH[P100] > 0 Then{ HV1 = VV[0]; HH1 = HH[0]; LL1 = LL[0]; for cnt = 0 to P100-1{ if VV[cnt] > HV1 Then HV1 = VV[cnt]; if HH[cnt] > HH1 Then HH1 = HH[cnt]; if LL[cnt] < LL1 Then LL1 = LL[cnt]; } HV2 = 0; HV3 = 0; HH2 = 0; HH3 = 0; LL2 = 9999999999; LL3 = 99999999; ///////////////////////////////////////// ######################################### for cnt = 0 to P100-1{ if VV[cnt] > HV2 and VV[cnt] < HV1 Then HV2 = VV[cnt]; if HH[cnt] > HH2 and HH[cnt] < HH1 Then HH2 = HH[cnt]; if LL[cnt] < LL2 and LL[cnt] > LL1 Then LL2 = LL[cnt];} ///////////////////////////////////////////////////////////////////////////// ############################################################################ ///////////////////////////////////////// ######################################### for cnt = 0 to P100-1{ if VV[cnt] > HV3 and VV[cnt] < HV2 Then HV3 = VV[cnt]; if HH[cnt] > HH3 and HH[cnt] < HH2 Then HH3 = HH[cnt]; if LL[cnt] < LL3 and LL[cnt] > LL2 Then LL3 = LL[cnt];} ///////////////////////////////////////////////////////////////////////////// ############################################################################ }}
프로필 이미지
yes
2017-10-22
113
글번호 113532
지표
답변완료

볼린저밴드

볼린저밴드 상단에 다아을때 매도신호 볼린저밴드 하단에 다아을때 매수신호 부탁드립니다
프로필 이미지
터닝
2017-10-22
184
글번호 113531
시스템
답변완료

TRIX지표

TRIX 지표 에서 TRIX선과 시그날선 교차 하면서 골드크러스에는 빨강 데드클로스에서는 청색선으로 변동되는 수식을 원합니다
프로필 이미지
그라시아스
2017-10-22
139
글번호 113530
지표
답변완료

부탁드립니다

수고하십니다 해외선물오일틱챠트에서 오전10시에 시작되는 시가선을 1일전~5일전동안 긋고 오른쪽으로 연장하는 가격표시 수식을부탁드립니다
프로필 이미지
파생돌이
2017-10-21
134
글번호 113529
지표
답변완료

부탁드립니다

수고하십니다 아래수식을 5지그재그선에중간에선을긋고오른쪽으로연장하는가격표시수식을부탁드립니다 Input:length(12),X(1); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0),TL11(0),tx11(0),t(0),TL22(0),Tx22(0),tx23(0),tx24(0),tl23(0),tl24(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } if X == 1 Then{ TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); } TL_Delete(TL11); TL11 = TL_New(sDate[sBar],sTime[sBar],(저점[1,1]+고점[1,1])/2,sDate[eBar],sTime[eBar],(저점[1,1]+고점[1,1])/2); TL_SetExtRight(TL11,true); Text_Delete(tx11); tx11 = Text_New(sdate,stime,(저점[1,1]+고점[1,1])/2,NumToStr((저점[1,1]+고점[1,1])/2,2)); if H < 고점[2,1] Then TL_SetColor(TL1,red); Else TL_SetColor(TL1,MAGENTA); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); #추가부분 if T[1] != T Then{ TL22 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],(고점[2,1]+저점[1,1])/2,sDate[index-저점[1,2]],sTime[index-저점[1,2]],(고점[2,1]+저점[1,1])/2); TL_SetExtRight(TL22,true); tx22 = Text_New(TL_GetEndDate(TL22),TL_GetEndTime(TL22),(고점[2,1]+저점[1,1])/2,NumToStr((고점[2,1]+저점[1,1])/2,2)); TL23 = TL22[1]; TL24 = TL23[2]; TL_Delete(TL24); Tx23 = Tx22[1]; Tx24 = Tx23[2]; Text_Delete(Tx24); } If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; TL_SetExtLeft(TL2,false); TL_SetExtRight(TL2,false); if X == 1 Then TL2 = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL2,BLUE); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); } } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } if X == 1 Then{ TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); } TL_SetColor(TL1,blue); TL_Delete(TL11); TL11 = TL_New(sDate[sBar],sTime[sBar],(저점[1,1]+고점[1,1])/2,sDate[eBar],sTime[eBar],(저점[1,1]+고점[1,1])/2); TL_SetExtRight(TL11,true); Text_Delete(tx11); tx11 = Text_New(sdate,stime,(저점[1,1]+고점[1,1])/2,NumToStr((저점[1,1]+고점[1,1])/2,2)); if L > 저점[2,1] Then TL_SetColor(TL1,blue); Else TL_SetColor(TL1,cyan); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); #추가부분 if T[1] != T Then{ TL22 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],(저점[2,1]+고점[1,1])/2,sDate[index-고점[1,2]],sTime[index-고점[1,2]],(저점[2,1]+고점[1,1])/2); TL_SetExtRight(TL22,true); tx22 = Text_New(TL_GetEndDate(TL22),TL_GetEndTime(TL22),(저점[2,1]+고점[1,1])/2,NumToStr((저점[2,1]+고점[1,1])/2,2)); TL23 = TL22[1]; TL24 = TL23[2]; TL_Delete(TL24); Tx23 = Tx22[1]; Tx24 = Tx23[2]; Text_Delete(Tx24); } If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; TL_SetExtLeft(TL3,false); TL_SetExtRight(TL3,false); if X == 1 Then TL3 = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL3,RED); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); } } } TL_SetSize(TL1,3); TL_SetSize(TL2,2); TL_SetSize(TL3,2); plot1(T);
프로필 이미지
파생돌이
2017-10-20
128
글번호 113528
지표
답변완료

문의 드립니다.

좋은 주말 보내세요.. 질문 : 매수 시점의 지표값 현재 시점의 지표값 매수 시점의 지표값을 var1 이라 하고 현재시점의 지표값을 var2 라 했을때 현재 수익이고 지표값도 상승하였을때 예를들어 var2 - var1 이 200 보다 작다면 청산 부탁 드립니다. 질문 2 ; 현재거래가 오늘 두번째 거래이고 동일방향이라면 즉, 매수만 두번째라면 0.5 이상 수익일때 무조건 청산 부탁 드립니다.
프로필 이미지
지킴이
2017-10-20
103
글번호 113527
시스템