커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템식 해석부탁드립니다

항상 감사드립니다. 아래수식은 라떼처럼님이 문의하신 시스템식입니다.. 지표식과의 상관관계 추정이 어려워 해석을 요청합니다.. Input : short(12), long(26), signal(9); Var : MACDV(0) , MACDS(0),MACDO(0); var : hh(0),hd(0),ht(0),ll(0),ld(0),lt(0); var : hh1(0),hd1(0),ht1(0),ll1(0),ld1(0),lt1(0); var : tl1(0),tl2(0); MACDV = MACD(short, long); MACDS = ema(MACDV,signal); MACDO = MACDV-MACDS; Condition1 = MACDV > 0 and MACDV > MACDS; Condition2 = MACDV < 0 and MACDV < MACDS; if Condition1 == true and Condition1[1] == false Then { hh = macdv; hd = sdate; ht = stime; hh1 = hh[1]; hd1 = hd[1]; ht1 = ht[1]; if hd1 > 0 and hh > hh1 then { buy("b1"); } } if Condition2 == true and Condition2[1] == false Then { ll = macdv; ld = sdate; lt = stime; ll1 = ll[1]; ld1 = ld[1]; lt1 = lt[1]; if ld1 > 0 and ll < ll1 then { sell("s1"); } } if Condition1 == true then { if macdv > hh Then { hh = macdv; hd = sdate; ht = stime; if hh > hh1 Then buy("b2"); } } if Condition2 == true then { if macdv < ll Then { ll = macdv; ld = sdate; lt = stime; if ll < ll1 Then sell("s2"); } } 감사합니다.
프로필 이미지
조민철
2018-07-22
203
글번호 120781
시스템
답변완료

현재 종목검색이안됩니다

평소에 잘되던것들도 안돌고 혹시나싶어 아주 간단한 식을만들어서 돌려도 검색바가 0에서 올라가지않습니다 서버에 문제가생긴것인 가요 아님 서버 점검중인가요??
프로필 이미지
여유로운투자
2018-07-22
218
글번호 120780
종목검색
답변완료

주간고저문의

늘 감사합니다. 아래수식을 data2에 사용 수식으로 변경해 주세요 var : cnt(0); Array : WeekO[10](0),WeekH[10](0),WeekL[10](0),WeekC[10](0); Array : MonthO[10](0),MonthH[10](0),MonthL[10](0),MonthC[10](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ WeekO[0] = O; WeekH[0] = h; WeekL[0] = L; for cnt = 1 to 9{ WeekO[cnt] = WeekO[cnt-1][1]; WeekH[cnt] = WeekH[cnt-1][1]; WeekL[cnt] = WeekL[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; if H > WeekH[0] Then WeekH[0] = H; if L < WeekL[0] Then WeekL[0] = L; if bdate > bdate[1]+30 Then{ MonthO[0] = O; MonthH[0] = h; MonthL[0] = L; for cnt = 1 to 9{ MonthO[cnt] = MonthO[cnt-1][1]; MonthH[cnt] = MonthH[cnt-1][1]; MonthL[cnt] = MonthL[cnt-1][1]; MonthC[cnt] = MonthC[cnt-1][1]; } } MonthC[0] = C; if H > MonthH[0] Then MonthH[0] = H; if L < MonthL[0] Then MonthL[0] = L; if WeekH[1] > 0 and WeekL[1] > 0 Then{ plot1(WeekO[0],"전주시가"); plot2(WeekH[1],"전주고가"); plot3(WeekL[1],"전주저가"); plot4((WeekH[1]+WeekL[1])/2,"전주중간"); } if MonthH[1] > 0 and MonthL[1] > 0 Then{ plot5(MonthO[0],"당월시가"); plot6(MonthH[1],"전월고가"); plot7(MonthL[1],"전월저가"); plot8((MonthH[1]+MonthL[1])/2,"전월중간"); }
프로필 이미지
상암동
2018-07-22
231
글번호 120779
지표
답변완료

오류수정 부탁드립니다.

안녕하세요? 금요일날 오전에 답변 받고나서 바로 실전으로 돌려보았읍니다. 도지에 진입을 하는매매가 몇개 나와서 다시 글 올립니다. 그림판에 간단하게 그림을 그려보았읍니다. 이부분만 완벽히 되면 되는데 너무 아쉽습니다. 검토후 수정부탁드립니다. 감사합니다. -------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 식을 수정했습니다. 안녕하세요 예스스탁입니다. 식을 수정했습니다. input : 몸통길이틱수(10),익절틱수(10),손절틱수(10); var : T(0); var1 = abs(C-O); if C > O Then { T = 1; value1 = var1; value2 = value1[1]; } if C < O Then { T = -1; value3 = var1; value4 = value3[1]; } if MarketPosition == 0 and countif(T == -1,2) == 2 and value3 == value4 and value3 == PriceScale*몸통길이틱수 then { sell("s"); } if MarketPosition == 0 and countif(T == 1,2) == 2 and value1 == value2 and value1 == PriceScale*몸통길이틱수 then { Buy("b"); } SetStopProfittarget(익절틱수*PriceScale,PointStop); SetStopLoss(손절틱수*PriceScale,PointStop); 즐거운 하루되세요 > 대구어린울프 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다. > 안녕하세요? 더운데 수고많으십니다. 아래와 같은 수식에서 오류가 발생하여 도움 요청드립니다. 안되는 점을 말씀드릴테니, 살펴보시고 수정 부탁드립니다. - 오류나는 부분 - 1. 진입조건이 "몸통길이가 같은" 인데, 몸통길이가 서로 달라도 진입을 합니다. 반드시 연속음봉2개가 서로 몸통길이가 같을때 진입해야하고, 연속양봉2개가 서로 몸통길이 가 같을때 진입해야 합니다. 2. 실전매매를 해보았는데 도지에 진입을 하는경우가 많습니다. 연속음봉2개 또는 연속양봉2개 출현시 2번째 봉에서 진입의 조건입니다. 추가사항으로 연속음봉 또는 연속양봉 사이에 도지가 있더라도 무방하고, 도지가 여러개 있 어도 무방합니다. (예를들면 양봉 도지 도지 양봉 진입, 음봉 도지도지도지 음봉 진입_단 첫번째봉과 두번쨰 진입봉의 몸통길이가 같다는 전제조건) 반드시 두번째봉에서 진입을 해야하는데, 실제로 돌려보니 연속캔들 이후 도지에 진입되는 경우가 많습니다. **진입조건 1.몸통 길이가 같은 연속 음봉 2개 매도 2.몸통 길이가 같은 연속 양봉 2개 매수 (연속음봉 또는 연속 양봉 사이에 도지가 끼어있더라도 무방함, 도지 여러개 또한 상관없음) #몸통길이 : 외부변수 **청산조건 1.손/익절 : 외부변수 #진입후 청산 이후 재진입 반복. (익절이든 손절이든 하기전에 신규진입 금지, 스위칭 방지) input : 몸통길이틱수(10),익절틱수(10),손절틱수(10); var : T(0); var1 = abs(C-O); if C > O Then { T = 1; value1 = var1; value2 = value1[1]; } if C < O Then { T = -1; value3 = var1; value4 = value3[1]; } if MarketPosition == 0 and countif(T == -1,2) == 2 and value3 == value4[1] and value3 == PriceScale*몸통길이틱수 then { sell("s"); } if MarketPosition == 0 and countif(T == 1,2) == 2 and value1 == value2[1] and value1 == PriceScale*몸통길이틱수 then { Buy("b"); } SetStopProfittarget(익절틱수*PriceScale,PointStop); SetStopLoss(손절틱수*PriceScale,PointStop);
프로필 이미지
대구어린울프
2018-07-21
223
글번호 120778
시스템
답변완료

매매시점의 보조지표 값

ar : 전환선(0),기준선(0),후행스팬(0),선행스팬1(0),선행스팬2(0); 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 후행스팬 = C; 선행스팬1 = (전환선[25]+기준선[25])/2; 선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2; var1 = max(선행스팬1,선행스팬2); var2 = min(선행스팬1,선행스팬2); if crossup(c,var1) and C > O Then buy(); 위와 같은 식에서 매수한 시점의 var1 값을 기억하고 그 값에서 -1.00 포인트 하락하면 손절하는 식을 부탁합니다.
프로필 이미지
sambuck
2018-07-21
208
글번호 120777
시스템
답변완료

스톡시스템

스톡캐스틱 슬로우(12.26.9)에서 %k 85를 찍을때 (터치했을때) 매도 %k 15를 찍을때 (터치했을때) 매수 인 시스템좀 만들어주셔요
프로필 이미지
엉덩공주
2018-07-21
211
글번호 120776
시스템
답변완료

문의드립니다.

검색식 문의 드립니다. 최근 30봉 이내 시가와 종가가 볼밴(20,2)과 엔벨로프(20.2) 하단선 아래 위치후 가격이 5%이상 하락한 종목
프로필 이미지
하늘북
2018-07-21
226
글번호 120774
검색
답변완료

특정시간대의 손실 초과 발생 시 진입제한

안녕하세요 크루드오일 거래하고 있습니다. 크루드오일 거래시간인 오전 07시~ 오전06시 사이에 30틱 이상 손해가 나면 진입을 하지 않는걸로 정하고싶은데 Inputs : 하루손실(30); var : NP(0),PreNP(0),dayPL(0); NP = NetProfit; if stime == 070000 or (stime > 070000 and stime[1] < 070000) Then{ PreNP = NP; } if stime >= 070000 or stime < 060000 Then{ dayPL = NP-PreNP; if dayPL/PriceScale > -PriceScale*하루손실 Then{ if 매수조건 Then buy("매수"); if 매도조건 Then sell("매도"); } } 이렇게 설정해두었습니다. 그런데 어떤 날은 손해가 30틱이 채 안되어도 진입을 안할 때가 있고 어떤 날은 30틱이 넘어도 진입을 할 때가 있네요. 어디를 수정하면 좋을지 답변 부탁드립니다 ^^
프로필 이미지
레비오사
2018-07-21
212
글번호 120773
시스템
답변완료

매도 로직 요청

* 주말은 잘 쉬셨는지요..... * 더운날씨에 매매 로직과 싸우고 있습니다. < 질문1> var : S1(0),D1(0),TM(0),TF(0); var1 = ma(c,5); 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; if c > var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매수"); } if c < var1 Then { if MarketPosition == 0 or (MarketPosition == -1 and TM >= TM[BarsSinceEntry]+1) Then buy("매도"); } SetStopProfittarget(PriceScale*50,PointStop); SetStopLoss(PriceScale*20,PointStop); } 상기 문장에서 "매수"로 매매가 되면 2가지 경우가 발생 합니다. 수익: SetStopProfittarget(PriceScale*50,PointStop); 수익 이니까 통과............. 문제는 SetStopLoss(PriceScale*20,PointStop); 여기에 걸리면 손절 20틱 입니다. <요청 사항1> SetStopLoss(PriceScale*20,PointStop); (-20틱 손절) 여기에 의해서 손절매도가 되면 즉시 바로 sell주문이 나가게 수식요청 드립니다. 즉 상승으로 예상하고 매수(buy) 했는데 손절(-20틱)이 발생 하면 (MarketPosition == 0) 동시에 바로 하방 매수(sell) (MarketPosition == 1) 될수 있도록 수정 요청 드립니다. <요청 사항2 > 매수 60분후 매수틱 보다 5틱 이상 이익 이면 패스 매수 60분후 매수틱 보다 10틱 이상 손해고 40딕 이상 한번 이라도 손절이 있었다면 매도 if MarketPosition == 1 and TM >= TM[BarsSinceEntry]+60 Then sell(); 이게 아닌가요?
프로필 이미지
요타
2018-07-22
248
글번호 120772
시스템