커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문의 드립니다

안녕하세요 매번 감사 드립니다. [일]1봉전(중) 종가대비 0봉전 시가등락률 3%이하 [일]0봉전 Envelope(20,6) 종가가 Envelope 상한선이상 [일]0봉전 Volume Osc(5,20) 0선 이상 (변동률:[일]0봉전 당일 1봉전대비 체결강도 변동률이 20% 이상999% 이하 or 변동률:[일]0봉전 당일 2봉전대비 체결강도 변동률이 20% 이상999% 이하) 매도총잔량이 매수총잔량의 300%이상 최근 1일간(오늘) 총 체결건수 10000건 이상 [일]거래량:100000이상 999999999이하 [일]거래대금(일:백만, 분:천) 10000이상 999999999이하 변동률: 체결강도 변동률입니다. 예) 1봉전 체결강도가 100% 라고 할때 현재 체결강도가 120% 가 되면 변동률이 20% 이상 입니다.. 1. 위 종목 검색식 부탁 드립니다. 2. 1번의 종목검색이 검색 되었을때를 종목들을 기준점으로 잡고 이때부터 카운트 하여 3% 이상 올라 왔을때 종목 검색이 되게끔 가능 하시다면 부탁 드립니다. (예; 3프로일때 검색 카운트가 되었다면 해당종목이 6프로 일때 검색이 되게끔 하고싶습니다.) 3. 위 1번의 종목 검색이 되엇을때 이때 검색된 종목 들을 카운트 해서 0봉이 전일 종가 or 고가를 넘어 서거나 전일 종가 대비 3% 이상 양봉일때 검색식도 부탁 드립니다. 4.1 번의 검색된종목들이 10거래일중 3회이상(0봉포함) 검색되는 종목이 나오면 검색되는 검색식 부탁드리겠습니다. 항상 감사 드립니다. 항상 건강 하시길 바랍니다.
프로필 이미지
하루삼프로
2024-06-19
725
글번호 180773
종목검색
답변완료

시스템

안녕하세요 아래의 숫자 10의 의미을 부탁드립니다 if MarketPosition == -1 and CrossUp(c,Highest(H[1],10)) Then ExitShort("s청산2") 그리고 아래식에서 만약 매수신호 발생시 이전 10봉이내 최고점을 돌파시 매수 Input : Period(14); value1 = DIPlus(Period); value2 = DIMinus(Period); If CrossUP(value1, value2) Then { Buy(); } 감사합니다
프로필 이미지
달마7
2024-06-19
824
글번호 180772
사용자 함수
답변완료

전환 피보나치선 연장

input : 전환포인트(0.8); Array : HD[10](0),HT[10](0),HV[10](0); Array : LD[10](0),LT[10](0),LV[10](0); var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0),Trend1(0),ZigZagTL(0),TX(0),TXx(0),tx1(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0),t(0),box1(0),box2(0); Plot1 (0); HPrice = H; LPrice = L; if Index == 0 or Bdate != Bdate[1] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; trend = 0; trend1 = 0; t = 0; } Else { if Trend == 0 Then { if L < LV[0] Then { LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } if H > HV[0] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; } } UpTrend = HPrice >= LV[0]+전환포인트; DownTrend = LPrice <= HV[0]-전환포인트; if trend <= 0 and UpTrend == true Then { trend = 1; trend1 = trend[1]; For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); TL_SetColor(ZigZagTL,Gold); TL_SetSize(ZigZagTL,3); TX = Text_New(HD[0],HT[0],HV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,1); Text_SetColor(TX,Black); Text_SetSize(tx,30); Text_SetBold(tx,1); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100)); TL1 = TL_New(LD[0],LT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL2 = TL_New(LD[0],LT[0],var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(LD[0],LT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(LD[0],LT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(LD[0],LT[0],var5,NextBarSdate,NextBarStime,var5); TL6 = TL_New(LD[0],LT[0],var6,NextBarSdate,NextBarStime,var6); TL_SetColor(TL1,Magenta); TL_SetColor(TL2,Orange); TL_SetColor(TL3,Magenta); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Magenta); TL_SetColor(TL6,Orange); TL_SetSize(TL1,2); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { trend = -1; trend1 = trend[1]; For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); TL_SetColor(ZigZagTL,Gold); TL_SetSize(ZigZagTL,3); TX = Text_New(LD[0],LT[0],LV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,0); Text_SetColor(TX,Black); Text_SetSize(tx,30); Text_SetBold(tx,1); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100)); TL2 = TL_New(HD[0],HT[0],var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(HD[0],HT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(HD[0],HT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(HD[0],HT[0],var5,NextBarSdate,NextBarStime,var5); TL6 = TL_New(HD[0],HT[0],var6,NextBarSdate,NextBarStime,var6); TL7 = TL_New(HD[0],HT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(TL2,Orange); TL_SetColor(TL3,Magenta); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Magenta); TL_SetColor(TL6,Orange); TL_SetColor(TL7,Magenta); TL_SetSize(TL7,2); } Else { if trend == 1 Then { if trend1 == 0 Then { LV[0] = DayLow; } if HPrice > HV[0] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); Text_SetLocation(TX,HD[0],HT[0],HV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100)); TL_SetBegin(TL1,LD[0],LT[0],HV[0]); TL_SetBegin(TL2,LD[0],LT[0],Var2); TL_SetBegin(TL3,LD[0],LT[0],Var3); TL_SetBegin(TL4,LD[0],LT[0],Var4); TL_SetBegin(TL5,LD[0],LT[0],Var5); TL_SetBegin(TL6,LD[0],LT[0],Var6); TL_SetEnd(TL1,Sdate,Stime,HV[0]); TL_SetEnd(TL2,Sdate,Stime,Var2); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,Var5); TL_SetEnd(TL6,Sdate,Stime,Var6); } } if trend == -1 Then { if trend1 == 0 Then { HV[0] = DayHigh; } if LPrice < LV[0] Then { LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); Text_SetLocation(TX,LD[0],LT[0],LV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100)); TL_SetBegin(TL2,HD[0],HT[0],Var2); TL_SetBegin(TL3,HD[0],HT[0],Var3); TL_SetBegin(TL4,HD[0],HT[0],Var4); TL_SetBegin(TL5,HD[0],HT[0],Var5); TL_SetBegin(TL6,HD[0],HT[0],Var6); TL_SetBegin(TL7,HD[0],HT[0],LV[0]); TL_SetEnd(TL2,Sdate,Stime,Var2); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,Var5); TL_SetEnd(TL6,Sdate,Stime,Var6); TL_SetEnd(TL7,Sdate,Stime,LV[0]); } } } } 하락 피보나치에서 중간선은 그대로이고,제일 하단선만(TL7) 현재 봉을 따라 계속 우 수평 연장하다가 바로 다음 상승 피보나치 끝선(다음 하락 피보나치 시작선)까지 연장. 하단선만 한칸씩 연장되어, 떨어진 계단 모양에서 저점이 연결된 계단 모양. 상승 피보나치선도 제일 상단선만(TL1) 다음 상승 피보나치 시작선 (바로 다음 하락 피보나치 끝선)까지 우측 수평 연장. 추가:하락전환하면 직전 상승에 대한 되돌림 비율을 소숫점 한자리로 하단선 왼쪽 밑에 표기. 상승은 반대. 감사합니다.
프로필 이미지
고성
2024-06-20
1008
글번호 180771
지표

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2024-06-19
118
글번호 180770
검색
답변완료

문의드립니다.

if 1+2+3 then Buy("b1",OnClosE,DeF,진입수량1); if 1+2 then Buy("b2",OnClosE,DeF,진입수량1); 위의 경우 1+2+3을 만족할 경우 bi만 진입하고 b2는 진입안하게 하는 수식좀 부탁드립니다.
프로필 이미지
산수유
2024-06-19
679
글번호 180769
시스템

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2024-06-19
115
글번호 180768
검색

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

프로필 이미지
요타
2024-06-19
2
글번호 180766
지표
답변완료

문의드립니다.

미결제약정을 공부중인데 plot(oi);출력시 종가기준으로만 나오더라구요.분봉처럼 시고저종 기준으로 표시할방법이없을까요?타주기참조해도 될것같긴한데 그러면 dayindex 첫봉시가기준이아닌 타주기종가가 시가로 표시될것같고 어떻게 작성해야할까요?답변부탁드립니다.
프로필 이미지
아싸가오리
2024-06-19
723
글번호 180765
지표
답변완료

검색식 부탁드립니다. _(_ _)_

도와주심에 감사드립니다. _(__)_ 1봉전 30봉이내에서 1수식을 만족시키는 봉이 출현하고 0봉전에서 각각 2수식과 3수식을 만족시키는 종목 검색식을 부탁드립니다. 두가지 검색식이 되겠습니다. 1수식과 2수식조건, 1수식과 3수식조건 1수식 var : m5(0),m20(0),크로스업(False),hh(0),H_high(0),ll(0),L_sum(0),ls(0),조건(false),cnt(-1); M5 = ma(c,5); M20 = ma(c,20); 크로스업 = crossup(M5,M20); if 크로스업 == true Then { hh = h; var1 = L_sum[1]; cnt = 0; } Else { if hh > 0 and h > hh Then hh = h; } if HH==HH[1] && HH > H Then H_high = HH; LL = iff(M20>L, 1, 0); L_sum = Accum(LL); Ls = L_sum-var1; 조건 = CrossUp(c, H_High) && Ls>0; if 조건 == true Then { if cnt >= 0 Then { cnt = cnt+1; if cnt == 1 Then Find(1); } } 2수식 var : Month(0), MOpen(0), 중심(0),PreMC(0), PreMO(0); Month = Floor(date/100); if Month != Month[1] Then { PreMC = C[1]; PreMO = MOpen; MOpen = O ; } 중심 = ((PreMC + PreMO)/2 + MOpen)/2; if CrossUp(C, 중심) Then Find(1); 3수식은 엔벨로프(20,10)지지선이탈후 0봉전 재돌파
프로필 이미지
한칼부르스
2024-06-19
881
글번호 180764
종목검색