커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

항상 노고에 감사드립니다. 예스트레이더에서 챠트상에 당일(또는 과거) 권리락/배당락을 종목검색이나 강조표시로 구현하고 싶은데... 예스랭귀지로 로직을 못 잡겠습니다. 또는 다른 방법이 있으면 부탁드리겠습니다
프로필 이미지
동동스나
2021-04-15
743
글번호 148072
종목검색
답변완료

수식어를 부탁드립니다

Input : Period(14), LPercent(30), SPercent(70); Var : value(0); value = RSI(Period); # 매수/매도청산 If CrossUP(value, LPercent) Then { Buy(); } # 매도/매수청산 If CrossDown(value, SPercent) Then { Sell(); } if sdate != sdate[1] Then SetStopEndofday(55000); if bdate != bdate[1] Then SetStopEndofday(0); ------------------------------- input : StartTime1(080000),EndTime1(150500),xtime1(151000); var : Tcond1(false); if (sdate != sdate[1] and stime >= EndTime1) or (sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then Tcond1 = False; if (sdate != sdate[1] and stime >= StartTime1) or (sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then { Tcond1 = true; SetStopEndofday(xtime1); } INPUT : LENGTH(60); VAR : upv(0), dnv(0); upv = HIGHEST(HIGH, LENGTH); dnv = LOWEST(LOW, LENGTH); if Tcond1 == true Then { if MarketPosition <= 0 and L > dnv Then Buy("b1",AtLimit,dnv); if MarketPosition >= 0 and H < upv Then sell("s1",AtLimit,upv); } input : StartTime2(151500),EndTime2(050000),xtime2(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond2(false); if sDate != sDate[1] then SetStopEndofday(xtime2); if (sdate != sdate[1] and stime >= EndTime2) or (sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then Tcond2 = False; if (sdate != sdate[1] and stime >= StartTime2) or (sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then { Tcond2= true; SetStopEndofday(0); } 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2; var1 = Disparity(60); if Tcond2 == true Then { if 전환선 > 기준선 and crossup(전환선,선행스팬1) and var1 >= 99 Then buy("b2"); if MarketPosition == 1 then { if 전환선 < 기준선 and CrossDown(전환선,선행스팬2) and var1 >= 99 Then exitlong("bx2"); } if 전환선 < 기준선 and CrossDown(전환선,선행스팬1) and var1 <= 100 Then sell("s2"); if MarketPosition == -1 then { if 전환선 > 기준선 and CrossUp(전환선,선행스팬2) and var1 <= 100 Then ExitShort("sx2"); } } ----------------------------- 상기 2개의 수식어를 합체 부탁드립니다
프로필 이미지
푸른
2021-04-15
822
글번호 148070
시스템
답변완료

수식어를 부탁드립니다

Input : Period(14), LPercent(30), SPercent(70); Var : value(0); value = RSI(Period); # 매수/매도청산 If CrossUP(value, LPercent) Then { Buy(); } # 매도/매수청산 If CrossDown(value, SPercent) Then { Sell(); } if sdate != sdate[1] Then SetStopEndofday(55000); if bdate != bdate[1] Then SetStopEndofday(0); -------------------------------------- input : P1(5),P2(20); input : sto1(12),sto2(26),sto3(5); Input : trixp(12), sigPeriod(9); INPUTS: LENGTH(5); input : short(12),long(26),sig(9); input : StartTime(070000),EndTime(055000); var : Tcond(false); var : mav1(0),mav2(0),stok(0),stod(0); var : trixv(0),trixs(0),TEMA(0),macdo(0); if sDate != sDate[1] Then SetStopEndofday(Endtime); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; SetStopEndofday(0); } mav1 = ma(C,P1); mav2 = ma(C,P2); stok = StochasticsK(sto1,sto2); stod = StochasticsD(sto1,sto2,sto3); trixv = trix(trixp); trixs = ema(trixv,sigPeriod); TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) + (Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH)); macdo = macd_osc(short,long,sig); var1 = 0; var2 = 0; if stok > stod Then var1 = var1+1; if trixv > trixs Then var1 = var1+1; if c > tema Then var1 = var1+1; if macdo > 0 Then var1 = var1+1; if stok < stod Then var2 = var2+1; if trixv < trixs Then var2 = var2+1; if c < tema Then var2 = var2+1; if macdo < 0 Then var2 = var2+1; if Tcond == true Then { if crossup(mav1,mav2) and var1 >= 3 Then buy(); if CrossDown(mav1,mav2) and var2 >= 3 Then sell(); } --------------------- 상기 2개의 수식어를 합체 부탁드립니다
프로필 이미지
푸른
2021-04-15
800
글번호 148069
시스템
답변완료

지표수식 문의드립니다

일봉 기준 5일선, 10일선을 분봉 차트에 나타내기 위한 수식 부탁드립니다. 분봉 차트는 3분봉, 5분봉, 15분봉 등 여러 분봉 차트가 될 수 있습니다. (혹시 소수점으로도 가능할까요? 예를 들어 3.25일 선 이런 식으로요) input을 넣어 변수를 조절 가능하게 해주셨으면 감사하겠습니다.
프로필 이미지
thecool
2021-04-15
701
글번호 148068
지표

해피오 님에 의해서 삭제되었습니다.

프로필 이미지
해피오
2021-04-15
14
글번호 148066
종목검색
답변완료

수식 의뢰 부탁드립니다.

안녕하세요 작성해 주신 수식 잘 쓰고 있습니다 그리고 여기에 한가지를 추가하고 싶습니다 '+1'강조 발생할 때마다 1씩 더하고 '-1'강조 발생할 때마다 1씩 빼는 수식을 추가하고 싶습니다. 그리고 최근 4개 강조만을 더해서 봉아래에 표시하고 싶습니다 예를 들어 최근 ['+1' '+2' +3' '-1'] 와 같이 강조표현이 나타났다면, 플러스 신호가 3번, 마이너스 신호가 1번 나왔으니 '3-1=2'가 되는 것 입니다. 기존 숫자는 위로하고 추고할 숫자는 아래에 표시하고 싶습니다 아래에 추가할 숫자는 굵은 글씨로 보여졌으면 합니다 감사합니다 --------------- var : LL(0),HH(0),tx1(0),tx2(0); if var2 == 0 and (LL == 0 or (LL > 0 and L > LL)) and L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2] Then { var1 = var1+1; LL = L[2]; tx1 = Text_New(sDate[2],sTime[2],LL,"+"+NumToStr(var1,0)); Text_SetStyle(tx1,2,1); PlotPaintBar(H,L,"강조",gray); } else { if L < LL Then { var1 = 0; ll = 0; } } if var1 == 0 and (HH == 0 or (HH > 0 and H < HH)) and H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2] Then { var2 = var2+1; HH = H[2]; tx2 = Text_New(sDate[2],sTime[2],HH,"-"+NumToStr(var2,0)); Text_SetStyle(tx2,2,0); PlotPaintBar(H,L,"강조",gray); } Else { if H > HH Then { var2 = 0; hh=0; } }
프로필 이미지
산이보리
2021-04-15
974
글번호 148063
강조
답변완료

문의드림니다

설계 가능한지 궁금해서요. 설계조건 컨디션1 + a조건, b조건, c조건.(5개봉이내조건발생) 컨디션2 + d조건, e조건, f조건. 컨디션3 + g조건, h조건, i조건. 상기 검색조건을 한프로그램으로 코딩이 가능한가요.
프로필 이미지
ho2350
2021-04-15
932
글번호 148062
종목검색
답변완료

수식 검증 바랍니다

알려주신 수식으로 작성하고, Var만 숫자를 바꿔서 적용하고 60-240 Cross에서 20선이 변곡시 진입해서, 60선이 5파 변곡에서 청산을 5선이 5파변곡에서 청산으로 수정을 했습니다. 1. 신호가 중간중간 나타나기 않네요..검증 부탁합니다 2. 매수 사인을 추가로 하고 싶으면 청산에 넣었던것처럼 중괄로로 하고 똑같이 묶어주면 되는걸까요? var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0); var26 = ema(Ema(Ema(c,period1),period1),period1); //5선 var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 if CrossUp(Var26,Var27) Then U = 1; //5-20 cross if CrossDown(Var26,Var27) Then U = -1; if CrossUp(Var27,Var28) Then K = 1; //20-60 cross if CrossDown(Var27,Var28) Then K = -1; if CrossUp(Var28,Var29) Then W = 1; //60-240 cross if CrossDown(Var28,Var29) Then W = -1; if CrossUp(Var26,Var28) Then N = 1; //5-60 cross if CrossDown(Var26,Var28) Then N = -1; if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; if Var27 > var27[1] Then // U : 5-20 Cross X : 5선 Y = 1; // K : 20-60 Cross Y : 20선 if Var27 < var27[1] Then // W : 60-240 cross Z : 60선 Y = -1; // N : 5-60 cross if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; If MarketPosition <= 0 and W == 1 and C > O and Y == 1 and Y != Y[1] Then Buy("콜"); if MarketPosition == 1 Then { if U == 1 and CountIf(U == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) == 3 Then ExitLong("콜청산"); if Y == -1 and C < O and (C+O) <= var27 Then ExitLong("콜정산"); } if MarketPosition >= 0 and W == -1 and C < O and Y == -1 and Y != Y[1] Then Sell("풋"); if MarketPosition == -1 Then { if U == -1 and CountIf(U == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) == 3 Then ExitShort("풋청산"); if Y == 1 and C > O and (C+O)/2 >= Var27 Then ExitShort("풋정산"); } SetStopEndofday(153000); 안녕하세요 예스스탁입니다. var : X(0),Y(0),Z(0); var1 = ma(C,20); var2 = ma(C,60); Var3 = ma(C,240); if CrossUp(Var2,Var3) Then X = 1; if CrossDown(Var2,Var3) Then X = -1; if Var1 > var1[1] Then Y = 1; if Var1 < var1[1] Then Y = -1; if Var2 > var2[1] Then Z = 1; if Var2 < var2[1] Then Z = -1; if MarketPosition <= 0 and X == 1 and C > O and Y == 1 and Y != Y[1] Then Buy(); if MarketPosition == 1 Then { if X == 1 and CountIf(X== -1,BarsSinceEntry) == 0 and Z == -1 and Z != Z[1] and CountIf(Z == -1 and Z != Z[1],BarsSinceEntry) == 3 Then ExitLong(); if var1 < Var2 and Y == -1 and Y != Y[1] Then ExitLong(); } if MarketPosition >= 0 and X == -1 and C < O and Y == -1 and Y != Y[1] Then Sell(); if MarketPosition == -1 Then { if X == -1 and CountIf(X== 1,BarsSinceEntry) == 0 and Z == 1 and Z != Z[1] and CountIf(Z == 1 and Z != Z[1],BarsSinceEntry) == 3 Then ExitShort(); if var1 > Var2 and Y == 1 and Y != Y[1] Then ExitShort(); } SetStopEndofday(153000); 즐거운 하루되세요 > 중추신경 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 매수조건 : 장시작이후, 장마감이전 60선과 240선이 정배열이 된 직후로부터 20선의 기울기가 음에서 양으로 바뀌는 양봉에서 진입 (60과 240이 정배열이 됐더라도 20선이 변곡없이 그대로 양으로 상승이라면 진입하지 않고, 기다렸다가 반드시 기울기가 음에서 양으로 바뀌면 진입) 매수청산 : 장마감 or 60과 240선이 정배열된 이후 60선이 5파에서 기울기가 음으로 바뀌는 음봉 (즉, 정배열이후 60선의 기울기가 음으로 바뀌는 3번째 지점) or 60선 아래에서 20선이 기울기가 양에서 음으로 바뀌는 음봉에서 (반드시, 60선 아래에서 20선이 60선과 Cross가 난이후 20선이 양에서 음으로 바뀌는 음봉에서) 매도 조건이 매수와 반대입니다. 중요포인트는 60과 240이 Cross난 이후, 20선의 기울이가 변곡이 나오는구간입니다 그리고 파동을 count 할수 있을지가 의문이네요.. 매수시점이 다시보면 20선이 240선을 Crossup해서 꺽이고 난뒤 240선 위에서 다시 변곡이 나오는 3파동째가 진입구간입니다 항상 감사드립니다
프로필 이미지
중추신경
2021-04-15
1011
글번호 148059
시스템
답변완료

수식어 부탁드립니다

input : P1(5),P2(20); input : sto1(12),sto2(26),sto3(5); Input : trixp(12), sigPeriod(9); INPUTS: LENGTH(5); input : short(12),long(26),sig(9); var : mav1(0),mav2(0),stok(0),stod(0); var : trixv(0),trixs(0),TEMA(0),macdo(0); mav1 = ma(C,P1); mav2 = ma(C,P2); stok = StochasticsK(sto1,sto2); stod = StochasticsD(sto1,sto2,sto3); trixv = trix(trixp); trixs = ema(trixv,sigPeriod); TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) + (Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH)); macdo = macd_osc(short,long,sig); var1 = 0; var2 = 0; if stok > stod Then var1 = var1+1; if trixv > trixs Then var1 = var1+1; if c > tema Then var1 = var1+1; if macdo > 0 Then var1 = var1+1; if stok < stod Then var2 = var2+1; if trixv < trixs Then var2 = var2+1; if c < tema Then var2 = var2+1; if macdo < 0 Then var2 = var2+1; if crossup(mav1,mav2) and var1 >= 3 Then buy(); if CrossDown(mav1,mav2) and var2 >= 3 Then sell(); ------------------- 07 : 00~익일 05 : 50 매매시간의 수식어 추가 부탁드립니다
프로필 이미지
푸른
2021-04-15
889
글번호 148054
시스템