커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁 드립니다.

도움에 깊이 감사 드립니다. ADX지표에 사용되는 DIPLUS함수의 타주기 즉 1)분봉 차트에서 예를 들어 10분봉에서 60분봉지표 2)60분봉 차트에서 일봉 지표 장시간 번거로우시겠지만 부탁드리오며 미리 경배로 깊이 감사 드립니다. Inputs: Length(NumericSimple) ; Variables: Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0); If CurrentBar == 1 Then Begin MyRange = Length; DIPlus = 0; PlusDM14 = 0; TRange = 0; For Counter = 0 To MyRange - 1 Begin If High[Counter] - High[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = High[Counter] - High[Counter+1]; If Low[Counter+1] - Low[Counter] < 0 Then MinusDM = 0; Else MinusDM = Low[Counter+1] - Low[Counter]; If MinusDM >= PlusDM Then PlusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; End; If TRange <> 0 Then DIPlus = 100 * PlusDM14 / TRange; Else DIPlus = 0 ; End Else If CurrentBar > 1 Then Begin If High[0] - High[1] < 0 Then PlusDM = 0; Else PlusDM = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM = 0; Else MinusDM = Low[1] - Low[0]; If MinusDM >= PlusDM Then PlusDM = 0; If MyRange > 0 Then Begin TRange = TRange[1] - (TRange[1] / MyRange) + TrueRange; PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM; End; If TRange <> 0 Then DIPlus = 100 * PlusDM14 / TRange; Else DIPlus = 0 ; End ; 참조1) TrueRange = TrueHigh - TrueLow; 참조2) If C[1] > H then TrueHigh = C[1]; else TrueHigh = H; 참조3) If C[1] < L then TrueLow = C[1]; else TrueLow = L;
프로필 이미지
뮬리
2020-08-24
921
글번호 141751
지표
답변완료

외인 누적 선물평균가를 표시

90틱 챠트에 외국인 선물 누적 평균가를 수평선으로 표시하고 싶습니다.
프로필 이미지
오늘도수익
2020-08-24
849
글번호 141748
지표
답변완료

문의드립니다

data2 차트에서 60 봉 기간내 첫번째로 가장 낮은값 두번째로 가장 낮은값 세번째로 가장 낮은값 각각 지표식을 얻고 싶습니다 감사합니다
프로필 이미지
파인애플
2020-08-24
821
글번호 141743
지표
답변완료

수정 부탁드립니다.

안녕하세요? 아래 수식에 하루매매횟수를 외부변수로 넣고싶습니다. 감사합니다. Input : 단기(5), 장기(20), profit_pt(0.5), loss_pt(0.5), 장종료청산(151000); Variable : ent_position(0); if MarketPosition == 0 Then { var1 = 0; ent_position = 0; } If ma(C,단기)>ma(C,장기) and ( C>O and L==O ) and ent_position == 0 Then { Buy("매수",AtMarket); Var1 = NextBarOpen; ent_position = 1; } If ma(C,단기)<ma(C,장기) and ( C<O and H==O ) and ent_position == 0 Then { Sell("매도",AtMarket); Var1 = NextBarOpen; ent_position = -1; } SetStopProfittarget(profit_pt,PointStop); SetStopLoss(loss_pt,PointStop); SetStopEndofday(장종료청산);
프로필 이미지
대구어린울프
2020-08-24
739
글번호 141738
시스템
답변완료

주석요청

안녕하세요? 아래 전략이 의미하는 바가 무엇인지요? countif(C > mav1,5)[1] == 5
프로필 이미지
흰둥이아빠
2020-08-24
787
글번호 141734
시스템
답변완료

문의드립니다!

안녕하세요! 1, 지난주에 수정해주신 아래 수식1에서 다음사항을 보완수정 부탁드립니다 즉, 봉과 상대선의 만남의 형태가 1) 하방에서 상방으로 2) 상방에서 하방으로.. 이렇게 2가지 경우가 있는데 현재수식에서는 어느 한가지 방향에서의 만남시에만 신호가 발생되는것같습니다 예를들어서 1) 콜봉이 상대고점과 만남시 하방에서 상방으로 향한경우에는 신호가 발생 상방에서 하방으로 향한경우에는 신호가 미발생됩니다 2) 콜봉이 상대저점과 만남시 하방에서 상방으로 향한경우에는 신호가 미발생 상방에서 하방으로 향한경우에는 신호가 발생됩니다 * 풋봉의 경우도 똑같은 이치로서 한가지 경우에만 신호가 발생됩니다 수고스러우시겠지만 모든경우에 다 신호가 발생토록 보완수정 부탁드리겠습니다 2, 아래 수식2에서 선의 이름이 화면 왼쪽에서 발생되도록 수정 부탁드립니다 매번 도와주심에 진심으로 다시한번 감사드립니다 !!! ------------------------------------------------------------------------------------ (수식 1) input : N(0),굵기(3); var : H1(0,data1),L1(0,data1),H2(0,Data1),L2(0,Data1); var : TL1(0,data1),TL2(0,data1),TL3(0,data1),TL4(0,data1); H1 = data1(DayHigh(0)); L1 = data1(DayLow(0)); H2 = data2(HighD(0)); L2 = data2(LowD(0)); Plot1(H1,"data1 최고"); Plot2(L1,"data1 최저"); Plot3(H2,"data2 최고"); Plot4(L2,"data2 최저"); #data1가격이 상승해 Data2 최고가-N틱을 만날때 if data1(H) >= H2-PriceScale*N and data1(H[1]) < H2[1]-PriceScale*N Then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); TL1 = TL_new(sDate,sTime,99999999,sDate,sTime,0); TL_SetSize(TL1,굵기); TL_SetColor(TL1,RED); } #data1가격이 하락해 Data2 최저가+N틱을 만날때 if data1(L) <= L2+PriceScale*N and data1(L[1]) > L2[1]+PriceScale*N Then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); TL2 = TL_new(sDate,sTime,99999999,sDate,sTime,0); TL_SetSize(TL2,굵기); TL_SetColor(TL2,BLUE); } #data2가격이 상승해 Data1 최고가-N틱을 만날때 if data2(H) >= H1-PriceScale*N and data2(H[1]) < H1[1]-PriceScale*N Then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); TL3 = TL_new(sDate,sTime,99999999,sDate,sTime,0); TL_SetSize(TL3,굵기); TL_SetColor(TL3,MAGENTA); } #data2가격이 하락해 Data1 최저가+N틱을 만날때 if data2(L) <= L1+PriceScale*N and data2(L[1]) > L1[1]+PriceScale*N Then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); TL4 = TL_new(sDate,sTime,99999999,sDate,sTime,0); TL_SetSize(TL4,굵기); TL_SetColor(TL4,CYAN); } (수식 2) var : 당일시가(0),전일시가(0),금일종가(0),전일종가(0); var : 금일고가(0),전일고가(0),금일저가(0),전일저가(0); var : 금일중간가격(0),전일중간가격(0),천정대칭가격(0),바닥대칭가격(0); var : Tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0); var : Tx7(0),tx8(0),tx9(0),tx10(0),tx11(0),tx12(0); 당일시가 = dayopen; 전일시가 = dayopen(1); 금일종가 = dayclose; 전일종가 = dayclose(1); 금일고가 = dayhigh; 전일고가 = dayhigh(1); 금일저가 = daylow; 전일저가 = daylow(1); 금일중간가격 = (dayhigh + daylow)/2; 전일중간가격 = (dayhigh(1)+daylow(1))/2; 천정대칭가격 = dayhigh + (dayhigh - dayhigh(1)); 바닥대칭가격 = daylow - (daylow-daylow(1)); Plot1(당일시가); Plot2(전일시가); Plot3(금일종가); Plot4(전일종가); Plot5(금일고가); Plot6(전일고가); Plot7(금일저가); Plot8(전일저가); Plot9(금일중간가격); Plot10(전일중간가격); Plot11(천정대칭가격); Plot12(바닥대칭가격); if Index == 1 or Bdate != Bdate[1] Then { tx1 = Text_New_Self(sDate,sTime,당일시가,"당일시가 "+NumToStr(당일시가,2)); tx2 = Text_New_Self(sDate,sTime,전일시가,"전일시가 "+NumToStr(전일시가,2)); tx3 = Text_New_Self(sDate,sTime,금일종가,"금일종가 "+NumToStr(금일종가,2)); tx4 = Text_New_Self(sDate,sTime,전일종가,"전일종가 "+NumToStr(전일종가,2)); tx5 = Text_New_Self(sDate,sTime,금일고가,"금일고가 "+NumToStr(금일고가,2)); tx6 = Text_New_Self(sDate,sTime,전일고가,"전일고가 "+NumToStr(전일고가,2)); tx7 = Text_New_Self(sDate,sTime,금일저가,"금일저가 "+NumToStr(금일저가,2)); tx8 = Text_New_Self(sDate,sTime,전일저가,"전일저가 "+NumToStr(전일저가,2)); tx9 = Text_New_Self(sDate,sTime,금일중간가격,"금일중간가격 "+NumToStr(금일중간가격,2)); tx10 = Text_New_Self(sDate,sTime,전일중간가격,"전일중간가격 "+NumToStr(전일중간가격,2)); tx11 = Text_New_Self(sDate,sTime,천정대칭가격,"천정대칭가격 "+NumToStr(천정대칭가격,2)); tx12 = Text_New_Self(sDate,sTime,바닥대칭가격,"바닥대칭가격 "+NumToStr(바닥대칭가격,2)); } Else { Text_SetLocation(tx1,NextBarSdate,NextBarStime,당일시가); Text_SetLocation(tx2,NextBarSdate,NextBarStime,전일시가); Text_SetLocation(tx3,NextBarSdate,NextBarStime,금일종가); Text_SetLocation(tx4,NextBarSdate,NextBarStime,전일종가); Text_SetLocation(tx5,NextBarSdate,NextBarStime,금일고가); Text_SetLocation(tx6,NextBarSdate,NextBarStime,전일고가); Text_SetLocation(tx7,NextBarSdate,NextBarStime,금일저가); Text_SetLocation(tx8,NextBarSdate,NextBarStime,전일저가); Text_SetLocation(tx9,NextBarSdate,NextBarStime,금일중간가격); Text_SetLocation(tx10,NextBarSdate,NextBarStime,전일중간가격); Text_SetLocation(tx11,NextBarSdate,NextBarStime,천정대칭가격); Text_SetLocation(tx12,NextBarSdate,NextBarStime,바닥대칭가격); }
프로필 이미지
유로파54
2020-08-24
902
글번호 141722
지표
답변완료

수식어 부탁드립니다

Input : short(12), long(26), signal(9),Profit(20),Drop(10); input : StartTime(70000),EndTime(55000); var : Tcond(false); Var : MACDv(0), MACDs(0),macdo(0) ; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Tcond == true then { if MarketPosition <= 0 and crossup(MACDO,0) Then buy("b"); if MarketPosition >= 0 and CrossDown(MACDO,0) Then sell("s"); if MarketPosition == 1 then { if highest(H,BarsSinceEntry) >= EntryPrice+Profit then { ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-drop); } } if MarketPosition == 1 then { if Lowest(L,BarsSinceEntry) <= EntryPrice-Profit then { ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+drop); } } } if EndTime > StartTime Then SetStopEndofday(EndTime); Else { if sdate != sdate[1] Then SetStopEndofday(EndTime); if bdate != bdate[1] Then SetStopEndofday(0); } ---------------------------- 수식어를 통한 특정기간,시간의 진입 신호가 나오질 않아서 문의 드립니다
프로필 이미지
푸른
2020-08-24
1126
글번호 141716
시스템
답변완료

수식어 부탁드립니다

if MarketPosition <= 0 Then buy("b",atlimit,dayhigh-PriceScale*90); if MarketPosition == 1 Then exitlong("bx",atlimit,lowest(L,BarsSinceEntry)+PriceScale*50); if MarketPosition >= 0 Then sell("s",atlimit,daylow+PriceScale*600); if MarketPosition == -1 Then ExitShort("sx",atlimit,Highest(H,BarsSinceEntry)-PriceScale*57); if sdate != sdate[1] Then SetStopEndofday(55000); if bdate != bdate[1] Then SetStopEndofday(0); ------------------------------------- 위 수식어에서 청산후 진입신호는 청산후 20분이 지난 캔들의 하이로우에서 다시 진입신호가 되도록 수식어를 부탁 드립니다. 늘 감사합니다.
프로필 이미지
푸른
2020-08-24
1075
글번호 141714
시스템
답변완료

차트 보조도구 저장방법 문의

안녕하세요. 차트 보조도구에 '지지저항 분석선'을 적용후에 저장하는 방법을 알고 싶습니다.(그리고 수평선 그은 것도 저장이 안되네요) 차트에 다 적용하고 설정한 후에 화면틀 저장, 차트틀 저장 했는데도 예스차트 껐다키거나 불러오기 했을 때 다 사라져 있네요. 어떻게 저장하나요?
프로필 이미지
빠른예스
2020-08-24
1021
글번호 141711
지표