커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

현물입니다. 늘 고맙습니다. 1차 100만원, 2차 100만원, 3차 100만원, 4차 100만원, 5차 백만원 당일 첫 10분봉 주가 등락률이 첫분봉 시가대비 5%이상이거나, 당일 첫 10분봉 주가 등락률이 첫분봉 시가대비 -5%이하이면 기준봉으로 저장!!!! 이후 10봉이내 기준봉의 고가를 돌파하는 봉 종가에 1차 매수 (이때 돌파봉의 거래량은 기준봉 거래량의 80% 이상이여야함) 2차는 3틱아래, 3차는 6틱 아래, 4차는 9틱아래, 5차는 12틱 아래에서 매수 청산1: 총 매수금액의 10% 상승시 청산, 이후 진입금지 청산2: 당일 15:00 모두 청산(시장가) 감사합니다.~~~~
프로필 이미지
하늘북
2022-08-18
1317
글번호 161597
시스템
답변완료

검색식 부탁드립니다

키움 수식을 사용하겠습니다. SlowK = Stochasticsslow(sto1,sto2); SlowD = eavg(Stochasticsslow(sto1,sto2),sto3); 조건 = SlowD > SlowD(1) and SlowK > SlowK(1) and RSI(14) > 50 and ma(c,120) <= C 조건에 만족할때의 박스하단(시가)과 박스상단(종가)을 찾아내어 1) 박스하단부터 ~ 2% 사이의 종목 검색식 2) 박스상단 돌파 종목 검색식 두가지 검색식 부탁드리겠습니다. 감사합니다.
프로필 이미지
옴파로스
2022-08-18
1546
글번호 161596
종목검색
답변완료

문의드립니다.

저번에 알려주신 수식을 DATA2수식으로 전환 부탁드립니다. var : a(0),b(0); var : HH(0),HD(0),HT(0); var : HH1(0),HD1(0),HT1(0); var : LL(0),LD(0),LT(0); var : LL1(0),LD1(0),LT1(0); var : TL(0),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); a = ma(C,5); b = ma(c,20); Condition1 = C > a and C > b; Condition2 = C < a and C < b; if Condition1 == true and Condition1[1] == False Then Buy(); if Condition2 == true and Condition2[1] == False Then Sell(); if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then { HD = sDate[BarsSinceEntry]; HT = sTime[BarsSinceEntry]; HH = H[BarsSinceEntry]; HD1 = HD[1]; HT1 = HT[1]; HH1 = HH[1]; if HH1 > 0 and LL > 0 Then { value1 = HH1; Value2 = LL; TL = TL_new(HD1,HT1,value1,LD,LT,Value2); TL1 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1,NextBarSdate,NextBarStime,value1); TL2 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value2,NextBarSdate,NextBarStime,value2); TL3 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.382,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.382); TL4 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.500,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.500); TL5 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.618,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.618); TL_SetColor(TL,Red); TL_SetColor(TL1,Magenta); TL_SetColor(TL2,Magenta); TL_SetColor(TL3,Magenta); TL_SetColor(TL4,Magenta); TL_SetColor(TL5,Magenta); } } if H > HH Then { HD = sDate; HT = sTime; HH = H; } if HH1 > 0 and LL > 0 Then { TL_SetEnd(TL1,sDate,sTime,value1); TL_SetEnd(TL2,sDate,sTime,value2); TL_SetEnd(TL3,sDate,sTime,value1-(value1-Value2)*0.382); TL_SetEnd(TL4,sDate,sTime,value1-(value1-Value2)*0.500); TL_SetEnd(TL5,sDate,sTime,value1-(value1-Value2)*0.618); } } if MarketPosition == -1 Then { if MarketPosition != MarketPosition[1] Then { LD = sDate[BarsSinceEntry]; LT = sTime[BarsSinceEntry]; LL = L[BarsSinceEntry]; LD1 = LD[1]; LT1 = LT[1]; LL1 = LL[1]; if LL1 > 0 and HH > 0 Then { value1 = HH; Value2 = LL1; TL = TL_new(LD1,LT1,LL1,HD,HT,HH); TL1 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1,NextBarSdate,NextBarStime,value1); TL2 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value2,NextBarSdate,NextBarStime,value2); TL3 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.382,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.382); TL4 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.500,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.500); TL5 = TL_new(sdate[BarsSinceEntry],sTime[BarsSinceEntry],value1-(value1-Value2)*0.618,NextBarSdate,NextBarStime,value1-(value1-Value2)*0.618); TL_SetColor(TL,Blue); TL_SetColor(TL1,Cyan); TL_SetColor(TL2,Cyan); TL_SetColor(TL3,Cyan); TL_SetColor(TL4,Cyan); TL_SetColor(TL5,Cyan); } } if L < LL Then { LD = sDate; LT = sTime; LL = L; } if HH1 > 0 and LL > 0 Then { TL_SetEnd(TL1,sDate,sTime,value1); TL_SetEnd(TL2,sDate,sTime,value2); TL_SetEnd(TL3,sDate,sTime,value1-(value1-Value2)*0.382); TL_SetEnd(TL4,sDate,sTime,value1-(value1-Value2)*0.500); TL_SetEnd(TL5,sDate,sTime,value1-(value1-Value2)*0.618); } }
프로필 이미지
아름다운아침
2022-08-18
1425
글번호 161595
지표
답변완료

종목 검색 관련 문의드립니다

안녕하세요 종목 검색을 장시작하고 바로 확인하고 싶은데요. 예를 들어, 전일대비 5% 이상 갭상승한 종목을 찾고자 한다면, 아래와 같은 수식을 만드는데 장시작하고 바로 검색이 가능할까요? 종목검색 시 가장 작은 단위가 1분인데, 그러면 9시1분 부터 검색결과가 나오는게 아닌가싶어서요. 장 시작하고 검색했을때 바로 나오게 하려면 어떻게 할지 조언 부탁드립니다. if(DayOpen >= DayClose(1)*1.05) Then { find(1); }
프로필 이미지
edan
2022-08-18
1463
글번호 161594
종목검색
답변완료

문의드립니다.

늘 감사합니다. 아래 수식을 변경해 주시면 감사하겠습니다 아래 수식에서 b1 매수후 수익청산되면 더이상 진입하지 않게 해주십시요. 또 b1과 b2까지 매수후 수익청산되도 더이상 진입하지 않게 해주시면 감사하겠습니다. 고맙습니다. input : N(10),금액1(10000); var : cnt(0),entry(0); if Bdate != bdate[1] Then { entry = 0; var1 = 0; Var2 = 0; For cnt = 1 to N { if var1 == 0 and Var2 == 0 and DayClose(cnt) >= DayClose(cnt+1)*1.08Then { var1 = DayClose(cnt); Var2 = DayClose(cnt+1); } } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition != MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition == 0 and var1 > 0 and entry < 1 Then Buy("b1",AtLimit,(var1+Var2)/2,Floor(금액1/min(NextBarOpen,(var1+Var2)/2))); if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then { value1 = var1[BarsSinceEntry]; Value2 = var2[BarsSinceEntry]; } Buy("b2",AtLimit,Var2,Floor(금액1/min(NextBarOpen,Var2))); ExitLong("bx1",atlimit,AvgEntryPrice*1.30); }
프로필 이미지
하늘북
2022-08-18
1384
글번호 161592
시스템
답변완료

문의드립니다.

다음의 조건 검색식을 30분봉에서 검색되게 하려면 어떻게 해야하는지요? var : R(0),RS(0),DP(0),DM(0),MM(0),MS(0),S(0),SS(0),CC(0),CS(0),M10(0),X(0); R=RSI(14); Rs=Ema(R, 9); Dp= DiPlus(14); Dm=DiMinus(14); MM=Macd(12, 26); Ms=Ema(MM,9); S=StochasticsK(12, 5); Ss=Ema(S, 3); CC=CCI(9); Cs=Ema(CC, 12); M10=ma(C, 10); X = iff(R > Rs, 1, 0)+ iff(Dp > Dm, 1, 0)+ iff(MM > Ms, 1, 0)+ iff(S > Ss, 1, 0)+ iff(CC > Cs, 1, 0)+ iff(C > M10, 1, 0); if X == 6 Then Find(1);
프로필 이미지
redcon
2022-08-18
2122
글번호 161590
종목검색
답변완료

수식 부탁 드립니다.

수식 부탁드립니다. 1.당일고가 -당일저가, 당일고가 - 전일종가,당일저가- 전일종가 (3가지)를 절대값으로 바꿔서 구하고, 값을 "1위" "2위" 3위" 에 저장 하고 화면에도 표시 전일고가 -전일저가, 전일고가 - 2일전종가, 전일저가-2일전종가.. 이렇게 해서 5일간 가격 평균 구해서 화면에 표시 2.절대값으로 3가지중 가장 큰 값 하나만 "저장 하고 표시 하는 법도 부탁 합니다. 2. 5일 평균선 가격 화면에 표시 하기 3.1일전 5일선 가격, 2일전 5일선가격... 5일간 더하여 " 5평균" 에 저장 하고 값을 화면에 표시하기
프로필 이미지
월드맨
2022-08-18
1801
글번호 161586
지표
답변완료

문의드립니다

수고 많으십니다 트레일링 수식 부탁드립니다 수익이 40포인트 이상 나오다 90% 되돌림돼면 청산 그리고 수인이 40포인터 이상에서 줄어들지 않고 계속 수익이 100포인트 이상 나오다 50% 되돌림 돼면 청산 이런 수식을 부탁드립니다 어느 부위에 붙여 넿기 하는지도 알려 주십시요 항상 감사드립니다
프로필 이미지
cjfdk
2022-08-18
1569
글번호 161574
시스템
답변완료

작은 크기 피보나치 생략

Input : af(0.02), AFmax(0.2),per1(0.309),per2(0.618),per3(1.000),per4(1.618); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),CSarv(0); var : box(0); if Index == 0 or (Bdate != Bdate[1]) Then { Direction = 0; SAR_Value = C; AF_Value = 0.02; HighValue = H; LowValue = L; EP = 0; } if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = low; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = High; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(Low, LowValue); HighValue = max(High, HighValue); } } If crossup(c,CSarv) Then { value1 = CSarv; value2 = value1[1]; Value3 = abs(value1-Value2); } If CrossDown(c,CSarv) Then { value1 = Csarv; value2 = Value1[1]; Value3 = abs(value1-Value2); } if value1 > 0 and Value2 > 0 Then { Plot1(max(value1,Value2)+Value3*per1); Plot2(max(value1,Value2)+Value3*per2); Plot3(max(value1,Value2)+Value3*per3); Plot4(max(value1,Value2)+Value3*per4); Plot5(min(value1,Value2)-Value3*per1); Plot6(min(value1,Value2)-Value3*per2); Plot7(min(value1,Value2)-Value3*per3); Plot8(min(value1,Value2)-Value3*per4); } 종가파라볼릭의 크기를 측정해,방향 전환시 위아래로 피보나치 일정 비율을 표시해주는 수식인데,작은 크기도 표시되다보니 너무 복잡하여, 0.65P 이상(변경가능) 크기의 종가파라볼릭만 방향 전환시 출력하고 0.65P 이하는 출력이 안되게 하고 싶습니다.감사합니다.
프로필 이미지
고성
2022-08-18
1409
글번호 161573
지표