커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

질문드립니다.

expirationdate 함수 제공되나요?
프로필 이미지
절제9단
2018-12-21
305
글번호 124687
지표
답변완료

수식부탁합니다..

수고스럽지만 2가지경우에 수식좀 부탁합니다.. 1의경우) 1)이평선 1,2,3 3개선이 전부 정배열이고, 상승중일때만 진입신호 발생, 익절이나 손절틱수에 의해 청산될시, 정배열이 유지가 되고, 지수가 이평 1을 다시 상향돌파시 진입신호 발생. 청산은 이평선 1이 2를 하향돌파할때 청산신호발생. 정해진 익절틱수에 의해 청산신호. 2)역배열은 이평선 3개가 전부 역배열이고 하락중일때만 진입신호 발생, 익절이나 손절틱수에 의해 청산될시, 역배열이 유지가 되고, 지수가 이평 1을 다시 하향돌파시 진입신호 발생. 청산은 이평선 1이 2를 상향돌파할때 청산신호 발생. 정해진 익절틱수에 의해 청산신호. ________________________________________________________ 2의경우) 1)1)이평선 1,2선만 정배열이고, 3선은 상승중일때만 진입신호 발생, 익절이나 손절틱수에 의해 청산될시, 정배열이 유지가 되고, 지수가 이평 1을 다시 상향돌파시 진입신호 발생. 청산은 이평선 1이 2를 하향돌파할때 청산신호발생. 정해진 익절틱수에 의해 청산신호. 2)역배열은 1,2선만 역배열이고, 3선은 하락중일때만 진입신호 발생, 익절이나 손절틱수에 의해 청산될시, 역배열이 유지가 되고, 지수가 이평 1을 다시 하향돌파시 진입신호 발생. 청산은 이평선 1선이 2선을 상향돌파할때 청산신호 발생. 정해진 익절틱수에 의해 청산신호. -------------------------------------------------------------------------- 아래 질문은 지표에 관한 질문일수도 있습니다.. 3)항셍 아침 10시15분에 시작하는 시작가나 오후 6시 15분에 시작하는 시작가를 시가선으로 나타내고 싶습니다. 4)정,역배열이 진행중일때 진입가대비 20틱 간격으로(20틱,40틱,60틱,80틱.....계속)화면에 나타내고 싶은데 가능할까요? 그리고 익절틱수와 손절틱수를 정할수 있게 좀 부탁드립니다... 이렇게 수식좀 부탁합니다....
프로필 이미지
nicejon
2018-12-23
307
글번호 124686
시스템
답변완료

질문이요..초간단 질문

거래량이 평균 20일봉보다 클때 매수/매도 진입하는 식 부탁해요~~ if v > 20봉의 평균거래량 Then buy("매수진입");
프로필 이미지
이형지
2018-12-21
293
글번호 124683
시스템
답변완료

질문입니다.

답변 감사드립니다. 생각났는데요. 지그재그 파동 고점 저점을 가격으로 표시 되어 있는데요 혹시 고점 저점 사이 몇틱인지 계산 나올수 있는 방법이 무엇인가요? 자꾸 물어봐서 죄송하고 감사합니다. ㅠㅠ ==========수정해줘서 감사합니다. 고점 저점 가격대신 몇틱인지 알수있는 수식 부탁드립니다. input:length(4),종가사용여부(0),파동선두께(5),수치표시(1),수평선두께(2); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } #상단수평 if T == -1 and T[1] != -1 Then { TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,파동선두께); TL_SetColor(TL2,red); TL_SetSize(TL3,파동선두께); TL_SetColor(TL3,red); } #하단수평 if T == 1 and T[1] != 1 Then { TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL4,파동선두께); TL_SetColor(TL4,blue); TL_SetSize(TL5,파동선두께); TL_SetColor(TL5,blue); }
프로필 이미지
스오어스
2018-12-21
285
글번호 124682
지표
답변완료

문의드립니다

아래 수식에서 30틱 손실이면 즉시 청산 수식좀 추가 부탁드립니다 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0); #상단 TCHAN = HIGHEST(HIGH, LENGTH)[1]; #하단 BCHAN = LOWEST(LOW, LENGTH)[1]; #20지수이평이 60지수이평보다 크면 #다음봉에 하단 이하의 시세가 발생하면 즉시 매수진입 if ema(C,20) > ema(C, 60) Then buy("buy", atlimit, BCHAN); #매수진입 후 if MarketPosition == 1 Then { #상단까지 시세 상승하면 즉시 청산 exitlong("EL_상단터치", atlimit, TCHAN); #30틱 수익이면 즉시 청산 exitlong("EL_목표",atlimit, EntryPrice + PriceScale*30); } #20지수이평이 60지수이평보다 작으면 #다음봉에 상단 이상의 시세가 발생하면 즉시 매도진입 if ema(C,20) < ema(C, 60) Then sell("sell", atlimit, TCHAN); #매도진입 후 if MarketPosition == -1 Then { #하단까지 시세 하락하면 즉시 청산 exitshort("ES_상단터치", atlimit, BCHAN); #30틱 수익이면 즉시 청산 exitshort("ES_목표",atlimit, EntryPrice - PriceScale*30); }
프로필 이미지
해피슈
2018-12-21
282
글번호 124678
시스템
답변완료

청산

우선 감사합니다. 보유 물량을 장 종료전(3;30) 20분전부터 5분가격으로 25%청산하는 수식 부탁드립니다. 그리고 피라미딩 적용시 max entry는 적용되지 않는 것인지요? 감사합니다.
프로필 이미지
huhboo99
2018-12-21
289
글번호 124677
시스템
답변완료

수식 수정 의뢰 합니다!

안녕하세요! 일전에 의뢰드린 볼린저밴드 관련해서 제가 설명이 좀 미흡한 부분이 있어서 다시 연구해서 의뢰드려요! 첨부된 파일은 볼린저밴드 상하단과 중심선을 이평기울기처럼 상승일때는 빨강, 하락일때는 파랑색으로 표시하는 수식입니다! 부탁드리고 싶은건 첨부된 그림처럼 주가가 밴드 상단 빨강, 밴드상단 파랑, 밴드하단파랑, 밴드하단 빨강, 중심선에 접촉하면 각각 다른소리가 나게끔 하고 싶습니다! 그래서 볼린저밴드 상,하단을 4가지로 구별되는 수식으로 수정을 부탁드립니다! 1. 밴드상단 빨강 2. 밴드 상단 파랑 3. 밴드 하단 파랑 4. 밴드 하단 빨강 5. 중심선 기울기 빨강 6. 중심선 기울기 파랑 이렇게 6가지로 구분되어 각각 다릉 소리가 나게끔 만들고 싶습니다! Input : Period(20), MultiD(2); var : MAv(0),BBup(0),BBdn(0); MAv = ma(C,Period); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); Plot1(MAv, "이평"); if BBup > BBup[1] Then Plot2(BBup, "상단밴드",RED); Else Plot2(BBup, "상단밴드",BLUE); if BBDn > BBdn[1] Then Plot3(BBdn, "하단밴드",RED); else Plot3(BBdn, "하단밴드",BLUE); ---------------------------------------------------------------------------------- 첨부 파일은 가중이평 수식입니다! 참고 그림 처럼 5이평이 20이평을 상항 돌파 하거나 하락 붕괴시 소리가 나는 수식을 만들고 싶습니다! 상하단 선이 아니고 단일선이면 제가 해보겠는데 상하단선이다 보니 좀 어렵네요! 첫번째 수식 1번 그림 = 5선 상,하단선이 20선 상단선을 상승 돌파시 소리 발생 2번 그림 = 5선 상,하단선이 20선 하단선을 하락 붕괴시 소리 발생 -------------------------------------------------------------------------------- 2번째 수식 1번 = 20선 상,하단선이 60선 상단선을 상승 돌파시 소리 발생 2번 = 20선 상,하단선이 60선 하단선을 하락 붕괴시 소리 발생 --------------------------------------------------------------------------------- 부탁드립니다! 감사합니다! input : P1(5),P2(20),P3(60); var1 = wma(H,P1); var2 = wma(L,P1); var3 = wma(H,P2); var4 = wma(L,P2); Var5 = wma(H,P3); var6 = wma(L,P3); plot1(var1); plot2(var2); plot3(var3); plot4(var4); plot5(var5); plot6(var6);
프로필 이미지
qha71
2018-12-21
340
글번호 124670
지표
답변완료

문의드립니다.

안녕하세요. 전에 만들어주신 지표 인데요. ================= input:length(4),종가사용여부(0),파동선두께(5),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then{ TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,WHITE); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,WHITE); } if T == 1 and T[1] != 1 Then{ TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,YELLOW); TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,YELLOW); } ==================================== 지그재그 하면서 고점 저점에서 나오는 그 수평선들의 색깔과 두께를 조절할 수 있도록 부탁드립니다. 옵션에서 설정 안해도 수식에서 직접 수정은 할 수 있으니까 어떻게 하면 수평선들의 색깔과 두께를 조절할 수 있는지 도움 부탁드립니다. 즐거운 주말 되세요 감사합니다.
프로필 이미지
스오어스
2018-12-21
313
글번호 124669
지표
답변완료

문의드립니다.2

매매시간은 오후 3시부터 그다음낭 새벽 6시까지 매매를 하고 6시이후에는 신규 매수매도 를 안들어갑니다. 6시에 매수나 매도 포지션이 남아 있으면 모두 반대청산합니다 input : Left(20),Right(20),Period(50): var1 = SwingLow(1,L,Left,Righ,Period); ##최근 저점 var2 = SwingLow(2,L,Left,Righ,Period); ##직전 저점 var3 = SwingLowBar(1,L,Left,Righ,Period); ## 최근 저점 발생시점 var4 = SwingLowBar(2,L,Left,Righ,Period); ## 직전 저점 발생시점 var5 = SwingHigh(1,H,Left,Righ,Period); ##최근 고점 var6 = SwingHigh(2,H,Left,Righ,period); ##직전 고점 var7 = SwingHighBar(1,H,Left,Righ,Period); ## 최근 고점 발생시점 var8 = SwingHighBar(2,H,Left,Righ,Period); ## 직전 고점 발생시점점 매수진입 무포지션에서 최근저점이 var1>var[1] 처럼 상승하자마자 카운트해서 연속 양봉이 C >= O +PriceScale*1 C[1] >= O[1]+PriceScale*1 C > C[1] 처럼 발생하면 매수진입합니다. 매수청산 매수진입후 음봉이 연속발생이든 연속과 관계없이 2개가 발생하면 그즉시 매수청산합니다. 또는 20틱 수익이 발생하면 청산합니다. 매도진입 무포지션에서 최근고점이 var5 < var5[1] 처럼 하락하자마자 카운트해서 연속 음봉이 C <= O -PriceScale*1 C[1] <= O[1]-PriceScale*1 C<C[1] 처럼 발생하면 매도진입합니다. 매도청산 매도진입후 양봉이 연속발생이든 연속과 관계없이 2개가 발생하면 그즉시 매도청산합니다. 또는 20틱 수익이 발생하면 청산합니다
프로필 이미지
종호
2018-12-21
299
글번호 124668
시스템