커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

파란점에서 매수진입 빨간점에서 매수청산 & 매도진입 다시 파란점에서 매도청산 & 매수진입하도록 부탁드립니다. Input:n(5),단기(True),중기(True),장기(False),미완성사용(True); Var:j(0),q(0),k(0),상단(200),하단(100),고점표시(0),저점표시(0),Exit(100), 고점갱신(False),저점갱신(False),중기고점갱신(False),중기저점갱신(False), 중기추세(0),장기추세(0), 단기상단기울기(0),단기상단Bar(0),단기상단절편(0),단기하단기울기(0), 단기하단Bar(0),단기하단절편(0), 중기상단기울기(0),중기상단Bar(0),중기상단절편(0),중기하단기울기(0), 중기하단Bar(0),중기하단절편(0), 장기상단기울기(0),장기상단Bar(0),장기상단절편(0),장기하단기울기(0), 장기하단Bar(0),장기하단절편(0), 단기상단채널(0),단기하단채널(0),중기상단채널(0),중기하단채널(0), 장기상단채널(0),장기하단채널(0); Array:고[50](0),저[50](0),고Bar[50](0),저Bar[50](0), 중기고[20](0),중기저[20](0),중기고Bar[20](0),중기저Bar[20](0), 장기고[20](0),장기저[20](0),장기고Bar[20](0),장기저Bar[20](0); for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 중기고Bar[j] = 중기고Bar[j] + 1; 중기저Bar[j] = 중기저Bar[j] + 1; 장기고Bar[j] = 장기고Bar[j] + 1; 장기저Bar[j] = 장기저Bar[j] + 1; } for j = 20 to 49 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } 단기상단Bar = 단기상단Bar + 1; 단기하단Bar = 단기하단Bar + 1; 중기상단Bar = 중기상단Bar + 1; 중기하단Bar = 중기하단Bar + 1; 장기상단Bar = 장기상단Bar + 1; 장기하단Bar = 장기하단Bar + 1; 고점표시=(O[n]+C[n])/2; 저점표시=(O[n]+C[n])/2; //Highest(H,2)[3] <= H[2] and H[2] > Highest(H,2) if Highest(H,n)[n+1] <= H[n] and H[n] > Highest(H,n) then { if 미완성사용 == True then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = H[n]; 고Bar[1] = n; 고점갱신 = True; 고점표시 = 고[1]; if 저Bar[1] > 고Bar[2] then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } k = n + 1; for j = n + 2 to 고Bar[2]-1 { if L[k] > L[j] then k = j; } 저[1] = L[k]; 저Bar[1] = k; } } if 미완성사용 == False then { if 고Bar[1] > 저Bar[1] then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } } if 고Bar[1] > 저Bar[1] or 고[1] <= H[n] then { 고[1] = H[n]; 고Bar[1] = n; 고점갱신 = True; 고점표시 = 고[1]; } } } //Lowest(L,2)[3] >= L[2] and L[2] < Lowest(L,2) if Lowest(L,n)[n+1] >= L[n] and L[n] < Lowest(L,n) then { if 미완성사용 == True then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = L[n]; 저Bar[1] = n; 저점갱신 = True; 저점표시 = 저[1]; if 고Bar[1] > 저Bar[2] then { for j = 48 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } k = n + 1; for j = n + 2 to 저Bar[2]-1 { if H[k] < H[j] then k = j; } 고[1] = H[k]; 고Bar[1] = k; } } if 미완성사용 == False then { if 저Bar[1] > 고Bar[1] then { for j = 48 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } } if 저Bar[1] > 고Bar[1] or 저[1] >= L[n] then { 저[1] = L[n]; 저Bar[1] = n; 저점갱신 = True; 저점표시 = 저[1]; } } } if 고점갱신 == True and 고[3] < 고[2] and 고[2] > 고[1] then { //↗↘ if 미완성사용 == True then { for j = 18 downto 1 { 중기고[j+1] = 중기고[j]; 중기고Bar[j+1] = 중기고Bar[j]; } 중기고[1] = 고[2]; 중기고Bar[1] = 고Bar[2]; 중기고점갱신 = True; if 중기저Bar[1] > 중기고Bar[2] then { for j = 18 downto 1 { 중기저[j+1] = 중기저[j]; 중기저Bar[j+1] = 중기저Bar[j]; } k = 2; for j = 3 to 19 { if 중기고Bar[2] > 저Bar[j] and 저[k] > 저[j] then { k = j; } } 중기저[1] = 저[k]; 중기저Bar[1] = 저Bar[k]; } } if 미완성사용 == False then { if 중기고Bar[1] > 중기저Bar[1] then { for j = 18 downto 1 { 중기고[j+1] = 중기고[j]; 중기고Bar[j+1] = 중기고Bar[j]; } } if 중기고Bar[1] > 중기저Bar[1] or 중기고[1] <= 고[2] then { 중기고[1] = 고[2]; 중기고Bar[1] = 고Bar[2]; 중기고점갱신 = True; } } 고점갱신 = False; 중기추세 = 상단; } if 저점갱신 == True and 저[3] > 저[2] and 저[2] < 저[1] then { if 미완성사용 == True then { for j = 18 downto 1 { 중기저[j+1] = 중기저[j]; 중기저Bar[j+1] = 중기저Bar[j]; } 중기저[1] = 저[2]; 중기저Bar[1] = 저Bar[2]; 중기저점갱신 = True; if 중기고Bar[1] > 중기저Bar[2] then { for j = 18 downto 1 { 중기고[j+1] = 중기고[j]; 중기고Bar[j+1] = 중기고Bar[j]; } k = 2; for j = 3 to 19 { if 중기저Bar[2] > 고Bar[j] and 고[k] < 고[j] then { k = j; } } 중기고[1] = 고[k]; 중기고Bar[1] = 고Bar[k]; } } if 미완성사용 == False then { if 중기저Bar[1] > 중기고Bar[1] then { for j = 18 downto 1 { 중기저[j+1] = 중기저[j]; 중기저Bar[j+1] = 중기저Bar[j]; } } if 중기저Bar[1] > 중기고Bar[1] or 중기저[1] >= 저[2] then { 중기저[1] = 저[2]; 중기저Bar[1] = 저Bar[2]; 중기저점갱신 = True; } } 저점갱신 = False; 중기추세 = 하단; } if 중기고점갱신 == True and 중기고[3] < 중기고[2] and 중기고[2] > 중기고[1] then { if 미완성사용 == True then { for j = 18 downto 1 { 장기고[j+1] = 장기고[j]; 장기고Bar[j+1] = 장기고Bar[j]; } 장기고[1] = 중기고[2]; 장기고Bar[1] = 중기고Bar[2]; if 장기저Bar[1] > 장기고Bar[2] then { for j = 18 downto 1 { 장기저[j+1] = 장기저[j]; 장기저Bar[j+1] = 장기저Bar[j]; } k = 2; for j = 3 to 19 { if 장기고Bar[2] > 중기저Bar[j] and 중기저[k] > 중기저[j] then { k = j; } } 장기저[1] = 중기저[k]; 장기저Bar[1] = 중기저Bar[k]; } } if 미완성사용 == False then { if 장기고Bar[1] > 장기저Bar[1] then { for j = 18 downto 1 { 장기고[j+1] = 장기고[j]; 장기고Bar[j+1] = 장기고Bar[j]; } } if 장기고Bar[1] > 장기저Bar[1] or 장기고[1] <= 중기고[2] then { 장기고[1] = 중기고[2]; 장기고Bar[1] = 중기고Bar[2]; } } 중기고점갱신 = False; 장기추세 = 상단; } if 중기저점갱신 == True and 중기저[3] > 중기저[2] and 중기저[2] < 중기저[1] then { if 미완성사용 == True then { for j = 18 downto 1 { 장기저[j+1] = 장기저[j]; 장기저Bar[j+1] = 장기저Bar[j]; } 장기저[1] = 중기저[2]; 장기저Bar[1] = 중기저Bar[2]; if 장기고Bar[1] > 장기저Bar[2] then { for j = 18 downto 1 { 장기고[j+1] = 장기고[j]; 장기고Bar[j+1] = 장기고Bar[j]; } k = 2; for j = 3 to 19 { if 장기저Bar[2] > 중기고Bar[j] and 중기고[k] < 중기고[j] then { k = j; } } 장기고[1] = 중기고[k]; 장기고Bar[1] = 중기고Bar[k]; } } if 미완성사용 == False then { if 장기저Bar[1] > 장기고Bar[1] then { for j = 18 downto 1 { 장기저[j+1] = 장기저[j]; 장기저Bar[j+1] = 장기저Bar[j]; } } if 장기저Bar[1] > 장기고Bar[1] or 장기저[1] >= 중기저[2] then { 장기저[1] = 중기저[2]; 장기저Bar[1] = 중기저Bar[2]; } } 중기저점갱신 = False; 장기추세 = 하단; } if 고Bar[1] == n then { 단기상단채널 = 0; 단기상단기울기 = 0; for j = 2 to 49 { if 고[1] < 고[j] and 단기상단기울기 == 0 then { 단기상단기울기 =((고[1]-고[j])/(고Bar[j]-고Bar[1])); 단기상단Bar = 고Bar[j]; 단기상단절편 = 고[j]; j = Exit; } else if 고[j] <= 0 then j = Exit; } } if 저Bar[1] == n then { 단기하단채널 = 0; 단기하단기울기 = 0; for j = 2 to 49 { if 저[1] > 저[j] and 단기하단기울기 == 0 then { 단기하단기울기 = ((저[1]-저[j])/(저Bar[j]-저Bar[1])); 단기하단Bar = 저Bar[j]; 단기하단절편 = 저[j]; j = Exit; } else if 저[j] <= 0 then j = Exit; } } if 중기추세 == 상단 then { 중기상단채널 = 0; 중기상단기울기 = 0; for j = 2 to 19 { if 중기고[1] < 중기고[j] and 중기상단기울기 == 0 then { 중기상단기울기 = ((중기고[1]-중기고[j])/(중기고Bar[j]-중기고Bar[1])); 중기상단Bar = 중기고Bar[j]; 중기상단절편 = 중기고[j]; j = Exit; } else if 중기고[j] <= 0 then j = Exit; } 중기추세 = 0; } if 중기추세 == 하단 then { 중기하단채널 = 0; 중기하단기울기 = 0; for j = 2 to 19 { if 중기저[1] > 중기저[j] and 중기하단기울기 == 0 then { 중기하단기울기 = ((중기저[1]-중기저[j])/(중기저Bar[j]-중기저Bar[1])); 중기하단Bar = 중기저Bar[j]; 중기하단절편 = 중기저[j]; j = Exit; } else if 중기저[j] <= 0 then j = Exit; } 중기추세 = 0; } if 장기추세 == 상단 then { 장기상단채널 = 0; 장기상단기울기 = 0; for j = 2 to 19 { if 장기고[1] < 장기고[j] and 장기상단기울기 == 0 then { 장기상단기울기 = ((장기고[1]-장기고[j])/(장기고Bar[j]-장기고Bar[1])); 장기상단Bar = 장기고Bar[j]; 장기상단절편 = 장기고[j]; j = Exit; } else if 장기고[j] <= 0 then j = Exit; } 장기추세 = 0; } if 장기추세 == 하단 then { 장기하단채널 = 0; 장기하단기울기 = 0; for j = 2 to 19 { if 장기저[1] > 장기저[j] and 장기하단기울기 == 0 then { 장기하단기울기 = ((장기저[1]-장기저[j])/(장기저Bar[j]-장기저Bar[1])); 장기하단Bar = 장기저Bar[j]; 장기하단절편 = 장기저[j]; j = Exit; } else if 장기저[j] <= 0 then j = Exit; } 장기추세 = 0; } if 단기상단기울기 < 0 then 단기상단채널 = 단기상단기울기 * 단기상단Bar + 단기상단절편; if 단기하단기울기 > 0 then 단기하단채널 = 단기하단기울기 * 단기하단Bar + 단기하단절편; if 중기상단기울기 < 0 then 중기상단채널 = 중기상단기울기 * 중기상단Bar + 중기상단절편; if 중기하단기울기 > 0 then 중기하단채널 = 중기하단기울기 * 중기하단Bar + 중기하단절편; if 장기상단기울기 < 0 then 장기상단채널 = 장기상단기울기 * 장기상단Bar + 장기상단절편; if 장기하단기울기 > 0 then 장기하단채널 = 장기하단기울기 * 장기하단Bar + 장기하단절편; if 고점표시 == H[n] then Plot1(고점표시,"전고점",RED); //점그래프,수평이동 if 저점표시 == L[n] then Plot2(저점표시,"전저점",BLUE); //점그래프,수평이동 if 단기 == True then { if 단기상단채널 > 0 then Plot3(단기상단채널,"단기상단채널",RED); //점그래프 if 단기하단채널 > 0 then Plot4(단기하단채널,"단기하단채널",BLUE); //점그래프 } if 중기 == True then { if 중기상단채널 > 0 then Plot5(중기상단채널,"중기상단채널",RED); //점그래프 if 중기하단채널 > 0 then Plot6(중기하단채널,"중기하단채널",BLUE); //점그래프 } if 장기 == True then { if 장기상단채널 > 0 then Plot7(장기상단채널,"장기상단채널",RED); //점그래프 if 장기하단채널 > 0 then Plot8(장기하단채널,"장기하단채널",BLUE); //점그래프 }
프로필 이미지
매일상승
2015-07-22
113
글번호 88776
시스템

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

프로필 이미지
ahdzhr
2015-07-22
47
글번호 88772
지표
답변완료

부탁드립니다.

아래 지표에서 매수인지 매도인지 표시와 금액표시를 다른 차트에도 적용하려 하는데 그 소스만 빼서 하려니 자꾸 오류가 나네요 그 소스만 좀 부탁드립니다. 그리고 다른 지표에 적용하려면 어떻게 해야하는지도 부탁드립니다. var : T(0); var1 = ma(c,5); var2 = ma(C,400); if var2[1]>var2[0] and OPEN[0]>var1 and OPEN[0]>CLOSE[0] Then T = -1; if var2[1]<var2[0] and OPEN[0]<var1 and OPEN[0]<CLOSE[0] Then T = 1; if MarketPosition == 0 and T == -1 and countif(T == T[1],3) == 3 Then{ sell(); Text_New(sdate,stime,H+PriceScale*2,"매도 : "+NumToStr(c,2)); } if MarketPosition == 0 and T == 1 and countif(T == T[1],3) == 3 Then{ buy(); Text_New(sdate,stime,H+PriceScale*2,"매수 : "+NumToStr(c,2)); } SetStopProfittarget(PriceScale*2,PointStop); SetStopLoss(PriceScale*100,PointStop);
프로필 이미지
매일상승
2015-07-22
117
글번호 88769
지표
답변완료

buy신호 유지중 매도하고 재매수하려합니다

buy신호가 유지가 되는중에 월이 바뀌면 매도하고 그날바로 다시 사는조건을 넣으려하는데요 단순히 매도조건에 if LeftStr(NumToStr(date[1],0),6) <> LeftStr(NumToStr(date,0),6) Then{ ExitLong("Exit3"); Buy("BUY1",onclose,def,수량); } 이렇게 쓰니 차트에 표시되는게 0 Exit3 BUY1 Exit3 이렇게 표시가되네요.. 월이 바뀔때 매도하고 다시 매수시키려면 어떻게 해야할까요.
프로필 이미지
웨퐁
2015-07-22
359
글번호 88763
시스템

멘토르 님에 의해서 삭제되었습니다.

프로필 이미지
멘토르
2015-07-22
21
글번호 88762
시스템
답변완료

수식좀 여쭤보겠습니다.

BUP=BollBandUP(Period,MultiD); BDN=BollBandDowN(Period,MultiD); // %b pct_b = ( Close - bup ) / ( bup - bdn ); // BBImpulse BBImpulse = pct_b - Ref(pct_b, -1 ); 위와같이 수식을 작성했습니다만 BBimpulse 지표식에서 YT의 경우 ref는 어떻게 작성해야하나요?
프로필 이미지
ijh0316
2015-07-22
115
글번호 88761
지표
답변완료

부탁드림니다.

안녕하세요..무더운날씨에 수고가많으십니다. 개 인 선물순매수금액 + 빨간라인/ - 파란라인(데이타 2)설정 외국인 선물순매수금액 + 빨간라인/ - 파란라인(데이타 3)설정 기 관 선물순매수금액 + 빨간라인/ - 파란라인(데이타 4)설정 개 인 선물순매수금액 + 빨간라인/ - 파란라인(데이타 6)설정 외국인 선물순매수금액 + 빨간라인/ - 파란라인(데이타 7)설정 기 관 선물수매수금액 + 발간라인/ - 파란라인(데이타 8)설정 pc 2대.. 따로설정할려고요.번거롭게해서죄송합니다...꾸벅
프로필 이미지
보인다
2015-07-22
136
글번호 88760
지표

질갱이 님에 의해서 삭제되었습니다.

프로필 이미지
질갱이
2015-07-22
0
글번호 88759
시스템
답변완료

미니선물

예스차트에서 발생한 선물신호를 예스스팟을 이용하여 미니선물로 주문하게하는 수식 부탁드립니다. 그리고 주문시에 상대5호가로 주문하는 것으로 알려주시면 좋겠네요
프로필 이미지
라스트전투
2015-07-22
112
글번호 88758
시스템