커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

한번더 부탁드립니다

세로선 작성 감사드립니다. 선을 굵은 점선으로 표시나게 할 수 있으면 좋겠습니다._ _ _ 3등분선도 지금보다 조금 더 길게 점선으로 표시 부탁드립니다. 3등분 박스 중심선 위는 노랑 아래는 하늘색으로 색상도 넣어주세요 봉이 완성되면서 3등분이 생길때 좀 길게 바로 생기면 좋겠습니다. input : period1(10),multiplier1(3); input : period2(20),multiplier2(2); input : period3(30),multiplier3(3); var : src(0); var : AtrV1(0),upperBand1(0),lowerBand1(0), prevLowerBand1(0), prevUpperBand1(0); var : prevSuperTrend1(0), superTrend1(C), direction1(0),alpha1(0),source1(0); var : AtrV2(0),upperBand2(0),lowerBand2(0), prevLowerBand2(0), prevUpperBand2(0); var : prevSuperTrend2(0), superTrend2(C), direction2(0),alpha2(0),source2(0); var : AtrV3(0),upperBand3(0),lowerBand3(0), prevLowerBand3(0), prevUpperBand3(0); var : prevSuperTrend3(0), superTrend3(C), direction3(0),alpha3(0),source3(0); var : TL1(0),TL2(0),TL3(0); src = (H+L)/2; if CurrentBar > 1 Then { alpha1 = 1 / period1; source1 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV1 = alpha1 * source1 + (1 - alpha1) * ATrV1[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand1 = src + multiplier1 * AtrV1; lowerBand1 = src - multiplier1 * AtrV1; prevLowerBand1 = lowerBand1[1]; prevUpperBand1 = upperBand1[1]; if lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 Then lowerBand1 = lowerBand1; Else lowerBand1 = prevLowerBand1; if upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 Then upperBand1 = upperBand1; Else upperBand1 = prevUpperBand1; if C > UpperBand1 Then direction1 = 1; if C < LowerBand1 Then direction1 = -1; if direction1 == 1 Then supertrend1 = lowerband1; Else supertrend1 = upperband1; alpha2 = 1 / period2; source2 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV2 = alpha2 * source2 + (1 - alpha2) * ATrV2[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand2 = src + multiplier2 * AtrV2; lowerBand2 = src - multiplier2 * AtrV2; prevLowerBand2 = lowerBand2[1]; prevUpperBand2 = upperBand2[1]; if lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 Then lowerBand2 = lowerBand2; Else lowerBand2 = prevLowerBand2; if upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 Then upperBand2 = upperBand2; Else upperBand2 = prevUpperBand2; if C > UpperBand2 Then direction2 = 1; if C < LowerBand2 Then direction2 = -1; if direction2 == 1 Then supertrend2 = lowerband2; Else supertrend2 = upperband2; alpha3 = 1 / period3; source3 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV3 = alpha3 * source3 + (1 - alpha3) * ATrV3[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand3 = src + multiplier3 * AtrV3; lowerBand3 = src - multiplier3 * AtrV3; prevLowerBand3 = lowerBand3[1]; prevUpperBand3 = upperBand3[1]; if lowerBand3 > prevLowerBand3 or close[1] < prevLowerBand3 Then lowerBand3 = lowerBand3; Else lowerBand3 = prevLowerBand3; if upperBand3 < prevUpperBand3 or close[1] > prevUpperBand3 Then upperBand3 = upperBand3; Else upperBand3 = prevUpperBand3; if C > UpperBand3 Then direction3 = 1; if C < LowerBand3 Then direction3 = -1; if direction3 == 1 Then supertrend3 = lowerband3; Else supertrend3 = upperband3; if C > superTrend1 Then { Plot1(superTrend1,"매수1", rgb(247, 75, 201), 0, 1); NoPlot(2); } Else { Plot2(superTrend1,"매도1", Indigo, 0, 1); NoPlot(1); } if C > superTrend2 Then { Plot3(superTrend2,"매수2", rgb(247, 75, 201), 0, 2); NoPlot(4); } Else { Plot4(superTrend2,"매도2", Indigo, 0, 2); NoPlot(3); } if C > superTrend3 Then { Plot5(superTrend3,"매수3", rgb(247, 75, 201), 0, 7); NoPlot(6); } Else { Plot6(superTrend3,"매도3", Indigo, 0, 7); NoPlot(5); } } var : box(0); if CrossUp(c,supertrend3) Then { box = box_New(sDate,sTime,H,sDate,sTime,L); box_SetColor(box,Red); Box_SetFill(box,true,200); Box_SetExtFill(box,true); var1 = h; var2 = (h+l)/2; var3 = l; var4 = Index; tl1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); tl2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); tl3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL_SetColor(tl1,Black); TL_SetColor(tl2,Black); TL_SetColor(tl3,Black); TL_SetSize(tl1,1); TL_SetSize(tl2,1); TL_SetSize(tl3,1); } Else if CrossDown(c,supertrend3) Then { box = box_New(sDate,sTime,H,sDate,sTime,L); box_SetColor(box,Blue); Box_SetFill(box,true,200); Box_SetExtFill(box,true); var1 = h; var2 = (h+l)/2; var3 = l; var4 = Index; tl1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); tl2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); tl3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL_SetColor(tl1,Black); TL_SetColor(tl2,Black); TL_SetColor(tl3,Black); TL_SetSize(tl1,1); TL_SetSize(tl2,1); TL_SetSize(tl3,1); } Else { if var4 > 0 and Index < var4+5 Then { TL_SetEnd(TL1,NextBarSdate,NextBarStime,var1); TL_SetEnd(TL2,NextBarSdate,NextBarStime,var2); TL_SetEnd(TL3,NextBarSdate,NextBarStime,var3); } }
프로필 이미지
어떤하루
2025-06-18
285
글번호 191863
지표

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

프로필 이미지
회원
2025-06-18
26
글번호 191862
지표
답변완료

문의 드립니다.

안녕하세요 항상 감사드립니다. 아래의 조건으로 시스템 서식 부탁드립니다. 진입조건 1. 전일 나스닥 상승 마감시 매수만진입, 하락 마감시 매도만 진입 1. 당일 선물 시작시: 상승 시작이면 매수(전일 나스닥 상승마감) 하락 시작이면 매도 진입(전일 나스닥 하락마감) 2. 손절 조건: 5포인트 손실시 손절 (INPUT) 3. 익절 조건: 10포인트 수익시 익절 (INPUT) 4. 당일 청산: 15시20분까지 보유시 전량 청산
프로필 이미지
가자아이
2025-06-18
223
글번호 191856
지표
답변완료

문의 드립니다.

안녕하세요 항상 감사드립니다. 아래의 서식에서 추가 서식 부탁드립니다. *진입조건추가 1.진입시 최고가와 최저가의 차이가 5포인트 이상, 10포인트 이하일때만 진입 5pt < 진입 < 10pt (input) *청산조건추가 1. 2시 이전: 최고가 대비 10포인트 하락시 전량 손절 청산 (input) 2. 2시 이후: 최고가 대비 5포인트 하락시 전량 손절 청산 (input) 3. 시간에 관계없이 20포인트 이상 수익중 일때 최고가 대비 5포인트 하락시 전량 청산 (INPUT) *청산된 이후에는 진입횟수 이내에서 재진입가능 모두 최적화를 위해 input에 넣어주세요 감사합니다. # KOSPI 선물 10분봉 input: 당일진입횟수(3); Input: chkP(3), reChkP(10), stopChk(20); var: HH(0), LL(0), BS(0), SS(0); var: dayChk(0); var : TotalCount(0),PreDay(0),DayEntry(0); TotalCount = TotalTrades; if Bdate != Bdate[1] Then PreDay = TotalCount[1]; DayEntry = (TotalCount-PreDay)+IFF(MarketPosition != 0,1,0); if BarIndex == 0 then ClearDebug(); if dayindex == chkP then { HH = Highest(Max(C,O), chkP+1); LL = Lowest(Min(C,O), chkP+1); #if date == 20240612 then messageLog("--HH %.2f, LL: %.2f", HH, LL); } #if High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then messageLog("HH %.2f, High: %.2f", HH, High); if DayIndex >= chkP # and Time < 95000 and sDate == NextBarSdate and EntryDate(0) < Date and EntryDate(1) < Date and DayEntry < 당일진입횟수 Then { Buy("B1", AtStop, HH); Sell("S1", AtStop, LL); } //if dayChk == 0 and High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then { // messageLog("HH %.2f, High: %.2f", HH, High); // dayChk = 1; //} if ExitDate(1) == Date and Time < 150000 // and LatestEntryName(1) != "B2" // and LatestEntryName(1) != "S2" // and LatestEntryName(0) != "B2" // and LatestEntryName(0) != "S2" Then { if DayIndex < reChkP Then { HH = Highest(Max(C,O), DayIndex+1); LL = Lowest(Min(C,O), DayIndex+1); } Else { HH = Highest(Max(C,O), reChkP); LL = Lowest(Min(C,O), reChkP); } if DayEntry < 당일진입횟수 Then { Buy("B2", AtStop, HH); Sell("S2", AtStop, LL); } } if (MarketPosition == 1) Then { if DayIndex < stopChk Then { BS = Lowest(Min(C,O), DayIndex+1); } Else { BS = Lowest(Min(C,O), stopChk); } ExitLong("EL", AtStop, BS); } if (MarketPosition == -1) Then { if DayIndex < stopChk Then { SS = Highest(Max(C,O), DayIndex+1); } Else { SS = Highest(Max(C,O), stopChk); } #messageLog(" SS %.2f", SS); ExitShort("ES", AtStop, SS); } var : month(0),nday(0),week(0),X(False); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; Week = DayOfWeek(date); #만기일 if (month%3 == 0 and nday >= 8 and nday <= 14 and week == 4) then { X = true; SetStopEndofday(151500); } Else#만기일아닐때 { X = False; SetStopEndofday(152000); }
프로필 이미지
가자아이
2025-06-18
302
글번호 191850
지표
답변완료

종목검색식 부탁드림니다.

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. A=(avg(V,20)-avg(V,300)) / avg(V,20)*100; CROSSUP(A,0)
프로필 이미지
존슨비치
2025-06-18
233
글번호 191846
종목검색
답변완료

부탁드립니다

input : 값1(21950),값2(21920),P(20); var : mav(0),t(0),box(0); mav = ma(C,P); Plot1(값1); Plot2(값2); Plot3(mav); if t <= 0 and (crossup(mav,값1) or crossup(mav,값2)) Then { t = 1; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Red); Box_SetFill(box,true); Box_SetExtFill(box,true); } if t >= 0 and (CrossDown(mav,값1) or CrossDown(mav,값2)) Then { t = -1; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Blue); Box_SetFill(box,true); Box_SetExtFill(box,true); } Box_SetEnd(box,NextBarSdate,NextBarStime,l); 위의 수식에 추가좀 부탁드립니다 이평전환시 약세 이평전환시 강세
프로필 이미지
회원
2025-06-18
248
글번호 191840
지표

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

프로필 이미지
회원
2025-06-18
9
글번호 191838
시스템
답변완료

문의 드립니다

안녕하세요 2개이상의 양봉후 첫음봉 확정시 매도신호,2개이상 음봉발생후 양봉 확정시 매수신호발생하고 차트에 10틱단위표시되게 코딩부탁드립니다. 감사합니다.
프로필 이미지
만강
2025-06-18
212
글번호 191837
시스템

사공하늘 님에 의해서 삭제되었습니다.

프로필 이미지
사공하늘
2025-06-18
38
글번호 191834
검색