커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

강조에 표기를 원합니다. 일목균형표에서 후행스팬이 일목균형표의 기준선을 상향 돌파시 "IL=BUY" 일목균형표에서 후행스팬이 일목균형표의 기준선을 하향 돌파시 "IL=SELL" 그리고, 5일선이 일목의 기준선 상향 돌파시 "5=BUY" 5일선이 일목의 기준선 하양 돌파시 " 5=SELL" 그리고 5일선이 볼린져밴드의 하행선을 하향으로 돌파시 "5=BSELL" 그리고 5일선이 볼린져밴드의 상행선을 하향으로 돌파시 "5=BUSELL" 그리고 5일선이 볼린져밴드의 하행선 터치하고 상향으로 돌파시 "5=BBUY" 이렇게 표기하는 수식 부탁 드립니다. 수고하세요.
프로필 이미지
백두에서한라
2020-04-08
1014
글번호 137674
강조
답변완료

dayindex=0,1,2,..일때 주문진입신호명을 b0, b1,b2... 으로 표시방법?

항상 도움주셔서 감사드립니다. dayindex=0 일때 buy 함수에서 주문진입신호명을 "b0" dayindex=1 일때 buy 함수에서 "b1" dayindex=2 일때 buy 함수에서 "b2" dayindex=3 일때 buy 함수에서 "b3" : : 으로 표시하고 싶습니다. dayindex값을 간단한 text함수로 바꿔주는 방법이 있을까요?
프로필 이미지
퀀텀프로
2020-04-07
946
글번호 137673
시스템
답변완료

수식 수정 부탁드립니다.

var : Condition1(false),Condition2(false),Condition3(false); if MarketPosition == 0 then { if NextBarSdate != sdate Then { buy("시가매수",AtMarket,dayopen,1); } } Else If MarketPosition == 1 Then { #시가 대비 -1% 하락시 -3% 까지 1주씩 매수 if dayopen *0.99 >= c and Condition1 == False then { Condition1 = True; buy("1% 하락 매수",atlimit,dayopen *0.99,1); } else if dayopen *0.98 >= c and Condition1 == false then { Condition2 = True; buy("2% 하락 매수",atlimit,dayopen *0.98,1); } else if dayopen *0.97 >= c and Condition3 == false then { Condition3 = True; buy("3% 하락 매수",atlimit,dayopen *0.97,1); } } 시가 매수후 시가에서 -3%까지 -1%하락할때마다 1주씩 매수를 해야되는데 시가 매수는 되는데 시가에서 하락할때마다 매수는 안되네요; (Condition 들은 같은 가격에서 재매수 금지를 위해 넣었습니다 이걸 뺀다고 해도 가격 하락시에 매수는 되지 않네요;) 문법상 오류는 없는거 같은데 어떤 문제때문인가요?
프로필 이미지
오라클
2020-04-07
928
글번호 137672
시스템
답변완료

지표식 문의드립니다

안녕하세요 관리자님!! 보내주신 아래서식은 잘쓰고 있습니다.. 아래의 식은 장중발생하는 (고가+저가)/2의 값을 표현하는건데 이를 응용하여 ntime 중 발생하는 (고가+신고가)/2, (저가+신저가)/2 의 값을 구현하고 싶습니다. 도와주세요!!! - 아래 - input : P(20),Dv(6),ntime(60); var : cnt(0),S1(0),D1(0),TM(0),TF(0),hh(0),ll(0),mm(0); var1 = BollBandUp(P,dv); var2 = BollBandDown(P,dv); 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 = TimeToMinutes(stime)%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { hh = h; ll = l; } if h > hh Then hh = h; if l < ll Then ll = l; mm = (hh+ll)/2; if mm != mm[1] Then { value1 = var1; value2 = var2; } plot1(value1,"상한"); plot2(value2,"하한"); }
프로필 이미지
카카
2020-04-07
880
글번호 137671
지표

수색대대 님에 의해서 삭제되었습니다.

프로필 이미지
수색대대
2020-04-07
1
글번호 137669
지표
답변완료

지표문의

1.안녕하세요 아래는 CSar지표인데요. 수평연장선이 고가지점, 저가지점 대비 2등분으로 표시 되는데 3등분으로 보구 싶어요. 지표 수정 좀해 주세요. 아울러 등분 나누는 방법두 좀 알려주세요. input : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue); input : 텍스트출력(1); var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0); var : TL1(0),TL2(0),cnt(0),count(0); var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0); Var : TL11(0),TL22(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HH = H; HD = sdate; HT = stime; HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]); TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL); TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); if 텍스트출력 == 1 then { Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2)); Text_SetStyle(tx11,2,1); Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); } } TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH); } if CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH); TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2); TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]); TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); if 텍스트출력 == 1 then { Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2)); Text_SetStyle(tx22,2,0); Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); } } TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL); } if T == 1 then { if H > HH Then { HH = H; HD = sdate; HT = stime; TL_SetEnd(TL1,HD,HT,HH); TL_SetEnd(TL11,HD,HT,HH); if 텍스트출력 == 1 then { Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); } } } if T == -1 then { if L < LL Then { LL = L; LD = sdate; LT = stime; TL_SetEnd(TL2,LD,LT,LL); TL_SetEnd(TL22,LD,LT,LL); if 텍스트출력 == 1 then { Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); } } } #추세선 두께, 색상 TL_SetSize(TL1,추세선두께); TL_SetSize(TL11,추세선두께); TL_SetSize(TL2,추세선두께); TL_SetSize(TL22,추세선두께); TL_SetColor(TL1,추세선색1); TL_SetColor(TL11,추세선색1); TL_SetColor(TL2,추세선색2); TL_SetColor(TL22,추세선색2); #연장선 두께, 색상 TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께); TL_SetSize(TL6,연장선두께); TL_SetColor(TL3,연장선색); TL_SetColor(TL4,연장선색); TL_SetColor(TL5,연장선색); TL_SetColor(TL6,연장선색); 3.그럼 수고하셍세요
프로필 이미지
성공예견
2020-04-07
873
글번호 137668
지표
답변완료

질문드립니다

input : tick(300),P(15); var : S1(0),D1(0),TM(0),TF(0),idx(0),bars(0); var : cnt(0),sum1(0),mav1(0); Array : C1[100](0); bars = floor(tick/BarInterval); if Bdate != Bdate[1] Then { idx = 0; D1 = sdate; } Else idx = idx+1; if D1 > 0 then { TF = idx%bars; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P] > 0 then{ sum1 = 0; for cnt = 0 to P-1{ sum1 = sum1+C1[cnt]; } mav1 = sum1/P; plot1(mav1); } } 위 수식으로 만들어진 선에 15이평선이 닿았을 때, 음성신호가 한번만 나오게 하고 싶습니다. 가능할까요?
프로필 이미지
견유학자
2020-04-07
741
글번호 137667
지표

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2020-04-07
11
글번호 137666
지표
답변완료

문의드립니다.

inputs: ATRLength(100), ATRMult(5), Strength(100); vars: strend(0),st(0); st = SuperTrend(ATRLength, ATRMult, Strength, strend); Plot1(st+atr(ATRLength)*ATRMult,"Up",iff(strend == 1,red,blue)); Plot2(st-atr(ATRLength)*ATRMult,"Down",iff(strend == 1,red,blue)); Plot3(st,"SuperTrend",iff(strend == 1,red,blue)); 안녕하세요 상기 지표를 컴파일하려고 하는데 4번째 줄, 6열에서 선언되지 않은 이름 'SuperTrend'이(가) 사용되었습니다 라는 문구가 뜨고 있습니다. 어떻게 수정해야 검증할 수 있을지 문의드립니다. 감사합니다.
프로필 이미지
thegin
2020-04-07
701
글번호 137665
지표