커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

아래 수식에서 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
313
글번호 124678
시스템
답변완료

청산

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

문의드립니다

아래 전략 손절이 작동이 잘 안되는거 같은데 검토 부탁드립니다 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if ema(C,20) > ema(C, 60) Then buy("buy", atlimit, BCHAN); if MarketPosition == 1 Then { exitlong("EL_상단터치", atlimit, TCHAN); exitlong("EL_목표",atlimit, EntryPrice + PriceScale*30); } if ema(C,20) < ema(C, 60) Then sell("sell", atlimit, TCHAN); if MarketPosition == -1 Then { exitshort("ES_상단터치", atlimit, BCHAN); exitshort("ES_목표",atlimit, EntryPrice - PriceScale*30); }
프로필 이미지
해피슈
2018-12-21
291
글번호 124667
시스템
답변완료

문의합니다.1

매매시간은 오후 3시부터 그다음낭 새벽 6시까지 매매를 하고 6시이후에는 신규 매수매도 를 안들어갑니다. 6시에 매수나 매도 포지션이 남아 있으면 모두 반대청산합니다. 기준 3연속 양봉 C >= O +PriceScale*1 C[1] >= O[1]+PriceScale*1 C[2] >= O[2]+PriceScale*1 C[3] <= O[3] C>C[1]>C[2] 기준 3연속 음봉 C <= O -PriceScale*1 C[1] <= O[1]-PriceScale*1 C[2] <= O[2]-PriceScale*1 C[3] >= O[3] C<C[1]<C[2] 매수진입 기준 3연속 양봉 C >= O +PriceScale*1 C[1] >= O[1]+PriceScale*1 C[2] >= O[2]+PriceScale*1 C[3] <= O[3] C>C[2]>C[3] 처럼 3봉전에 도지나 음봉이 발생후에 종가가 시가보다 1틱이상인 3양봉이 발생하면 3양봉을 하니의 양봉처럼 생각합니다. 기준 3양봉의 시가 = O[2] 기준 3양봉의 종가 = C 무포지션상상태에서 최근의 위와같은 조건의 기준 3연속 양봉이 발생하여 최근의 3양봉의마지막 종가=C 가 바로직전의 기준 3양봉의 종가 =C 를 상방으로 돌파하면 매수진입합니다. 매수청산 매수진입후 음봉이 연속발생이든 연속과 관계없이 2개가 발생하면 그즉시 매수청산합니다. 또는 20틱 수익이 발생하면 청산합니다. 매도진입 기준 3연속 음봉 C <= O -PriceScale*1 C[1] <= O[1]-PriceScale*1 C[2] <= O[2]-PriceScale*1 C[3] >= O[3] C<C[2]<C[3] 처럼 3봉전에 도지나 양봉이 발생후에 종가가 시가보다 1틱이하인 3음봉이 발생하면 3음봉을 하니의 음봉처럼 생각합니다. 기준 3음봉의 시가 = O[2] 기준 3양봉의 종가 = C 무포지션상상태에서 최근의 위와같은 조건의 기준 3연속 음봉이 발생하여 최근의 3음봉의 마지막 종가=C 가 기준 3음봉의 종가 =C 를 하방으로 돌파하면 매도진입합니다. 매도청산 매도진입후 양봉이 연속발생이든 연속과 관계없이 2개가 발생하면 그즉시 매수청산합니다. 또는 20틱 수익이 발생하면 청산합니다.
프로필 이미지
종호
2018-12-21
293
글번호 124666
시스템

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

프로필 이미지
종호
2018-12-21
1
글번호 124665
강조
답변완료

문의드립니다

늘감사합니다. 현물이구요 매수 : 봉의 몸통이 5일 이평선에 걸처있는 봉의 몸통길이(시가와 종가 길이) 3% 이상인 양봉발생시 매수 손절 : 종가가 5이평선을 이탈시 청산 수익 청산: 최고가격 대비 5%하락시. 검색식 : 봉의 몸통의 길이가 2% 범위 이내이고. 봉의 저가가 볼밴 하단보다 낮고 ,아래 꼬리가 몸통보다 3배 긴 꼬리발생한 종목검색.
프로필 이미지
하늘북
2018-12-21
318
글번호 124660
시스템