커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

문의 드립니다.

안녕하세요 항상 감사드립니다. 아래의 조건으로 다시 문의드립니다. *진입조건 1. 당일 선물 시작후 3(?)개의 봉 완성시: (봉의 갯수는 변경이 가능하게 INPUT으로 넣어주세요) 첫봉대비 마지막(진입시점) 봉이 상승이면 매수 진입 첫봉대비 마지막(진입시점) 봉이 하락이면 매도 진입 2. 하루에 1번만 진입(INPUT) 3. 손절 조건: 5포인트 손실시 손절 (INPUT) 4. 익절 조건: 10포인트 수익시 익절 (INPUT) 5. 당일 청산: 15시20분까지 보유시 전량 청산 예를들어 5분봉 기준으로 4개의 봉으로 한다고 하면 8시45분 봉과 9시에 생긴 4개째의 봉을 비교하여 처음보다 상승하고 있으면 매수 진입하는 전략입니다. 감사합니다.
프로필 이미지
가자아이
2025-06-18
203
글번호 191879
지표
답변완료

수식 문의 드립니다.

안녕하세요. 수식 문의 드립니다. 1. 볼린저밴드 상단 붕괴시 음봉의 시가 2. 볼린저밴드 하단 돌파시 양봉의 시가 부탁드립니다. 감사 합니다
프로필 이미지
s1017051
2025-06-18
201
글번호 191866
지표
답변완료

지표식 다시 올립니다.

말씀하신대로 수식 다시 올립니다. 아래 수식 지표가 오전장인 08:45에 시작에서부터 야간장 끝나는 새벽 06:03까지 하나의 지표로 표현되게 부탁드립니다. 그리고 starttime(000000),endtime(000000)으로 변경 가능할 수 있게 부탁드립니다. 감사합니다. ===================================== input : starttime(090000),endtime(154500); var : Tcond(false); var: HH(0),LL(0),RR(0); if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; HH = H; LL = L; } if Tcond == true then { if H > HH Then HH = H; if L < LL Then LL = L; RR = HH-LL; plot1(HH,"당일최고가"); plot2(HH-RR*0.000, "0.0%"); . . . . plot08(LL,"당일최저가"); plot09(HH+RR*0.000, "상단+0.0%"); . . . } ======================================== > 태양같이 님이 쓴 글입니다. > 제목 : Re : Re : 수식 부탁드립니다. > > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁드립니다. > 안녕하세요 예스스탁입니다. 올리신 부분만으로는 별도로 수정해 드릴 내용이 없습니다. 내용상 시작시간과 끝시간을 지정하므로 starttime만 180000으로 지정하시면 될것 같습니다. 즐거운 하루되세요 > 태양같이 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 안녕하세요. 아래 수식은 주간장에 쓰던 지표식 중의 일부입니다. 이 지표를 복합장 차트에도 쓸 수 있도록 수식을 변경하고 싶어 부탁드립니다. 미리 감사드립니다. =============================================== input : starttime(084500),endtime(154500); var : Tcond(false); var: HH(0),LL(0),RR(0); if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; . . . . . . . . . ==================================== 말씀하신대로 수식을 조정하면 지표가 주간장에서는 맞게 표현되는데요, 주간장과 야간장을 함께 보는 복합장 차트에서는 지표 표시가 정상적으로 나오지 않습니다. 주간장 시작시간을 기준으로 주간장 시작에서 야간장 끝나는 시간을 끝으로 한 세트로 지표가 매일 연결되게 표시되었으면 합니다. 감사합니다.
프로필 이미지
태양같이
2025-06-18
290
글번호 191864
지표
답변완료

한번더 부탁드립니다

세로선 작성 감사드립니다. 선을 굵은 점선으로 표시나게 할 수 있으면 좋겠습니다._ _ _ 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
255
글번호 191863
지표

와우리 님에 의해서 삭제되었습니다.

프로필 이미지
와우리
2025-06-18
25
글번호 191862
지표
답변완료

문의 드립니다.

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

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

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. A=(avg(V,20)-avg(V,300)) / avg(V,20)*100; CROSSUP(A,0)
프로필 이미지
존슨비치
2025-06-18
208
글번호 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
216
글번호 191840
지표