커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의합니다

안녕하세요 if marketposition == 0 then if 매수조건1 then buy("매수1") if marketposition == 0 then if 매수조건2 then buy("매수2") 이렇게 매수1과 매수2가 있을 때, 조건당 1계약 진입조건이라고 할때 똑같은 봉에서 매수1과 매수2가 동시에 조건을 만족하면 중복으로 매수1과 매수2가 동시에 들어가서 총 2계약이 매수에 들어가나요? 아님 두 개 중 한 계약만 매수가 들어가나요? 1계약만 진입하면 우선순위가 어떻게 되나요?
프로필 이미지
검은약
2022-09-07
1306
글번호 162042
시스템
답변완료

수식문의

늘 친절하신 답변에 감사드리며 관리자님께 아래 두가지 요청드립니다. 1. 종목검색 수식 검증 및 5일전 검색수식으로 변환 2. 수식을 시스템 신호수식으로 변환 부탁드립니다. Input: P1(240); var:A(0); A=MAX(H[1],H[2]); if H>highest(H,5)[1] Then { var1=(A+L)/2; Var2=L; } if L<highest(L,5)[1] Then var3=A; if var1>0 Then if L<lowest(L,5)[1] Then var4=A; Var5=ma(C,P1); if var4>0 Then if ((CrossUp(c,var2)) or (var2>=o and var2<c)) and var4>=o and var4<c and var5>=L and c>o Then find(1);
프로필 이미지
위피데이
2022-09-06
1309
글번호 162041
종목검색
답변완료

수식 부탁드립니다.

안녕하세요. 아래의 키움증권 신호 수식을 예스트레이더 종목검색으로 수식으로 변환 요청드립니다. max( avg(C,short), avg(C,mid), avg(C,long)) < min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) && C > highest(H(1),5) && C(1) <= highest(H(2),5) && CrossUp(h,BBandsUp(Period,D1)) short 5 mid 20 long 60 Period 20 percent 5 D1 2 이상입니다.
프로필 이미지
갑술이
2022-09-06
1904
글번호 162040
종목검색
답변완료

지표수정부탁합니다

안녕하세요 항상 지면으로 정말 감사하게 생각합니다 고맙습니다 디마크 지표 이름도 같이 표시할수 있도록 부탁드립니다 수고하세요 If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } Plot1(value1, "Demark분봉상한"); Plot2(value2, "Demark분봉하한"); Plot3((value1+value2)/2, "Demark중심"); var : tx1(0),tx2(0); if Bdate != Bdate[1] Then { tx1 = Text_New(sdate,sTime,value1,NumToStr(Value1,2)); tx2 = Text_New(sdate,sTime,value2,NumToStr(Value2,2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); } Else { Text_SetLocation(tx1,sDate,sTime,value1); Text_SetLocation(tx2,sDate,sTime,value2); }
프로필 이미지
몽창시리
2022-09-06
1864
글번호 162039
지표
답변완료

문의드립니다

1)Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per1/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per2/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per3/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per4/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per5/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per6/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per7/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per8/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]+value1*(per9/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,Gray); TL_SetColor(TL12,White); TL_SetColor(TL13,Gray); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,Gray); TL_SetColor(TL16,White); TL_SetColor(TL17,Gray); TL_SetColor(TL18,Gray); TL_SetColor(TL19,Gray); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); Text_Delete(Tx11); Text_Delete(Tx12); Text_Delete(Tx13); Text_Delete(Tx14); Text_Delete(Tx15); Text_Delete(Tx16); Text_Delete(Tx17); Text_Delete(Tx18); Text_Delete(Tx19); tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); Text_SetStyle(tx11,2,1); Text_SetStyle(tx12,2,1); Text_SetStyle(tx13,2,1); Text_SetStyle(tx14,2,1); Text_SetStyle(tx15,2,1); Text_SetStyle(tx16,2,1); Text_SetStyle(tx17,2,1); Text_SetStyle(tx18,2,1); Text_SetStyle(tx19,2,1); } } value1 = valArr[1]-valArr[2]; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100)); TL_SetEnd(TL11,sDate,sTime,valArr[1]-value1*(per1/100)); TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100)); TL_SetEnd(TL12,sDate,sTime,valArr[1]-value1*(per2/100)); TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100)); TL_SetEnd(TL13,sDate,sTime,valArr[1]-value1*(per3/100)); TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100)); TL_SetEnd(TL14,sDate,sTime,valArr[1]-value1*(per4/100)); TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100)); TL_SetEnd(TL15,sDate,sTime,valArr[1]-value1*(per5/100)); TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100)); TL_SetEnd(TL16,sDate,sTime,valArr[1]-value1*(per6/100)); TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100)); TL_SetEnd(TL17,sDate,sTime,valArr[1]-value1*(per7/100)); TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100)); TL_SetEnd(TL18,sDate,sTime,valArr[1]-value1*(per8/100)); TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100)); TL_SetEnd(TL19,sDate,sTime,valArr[1]-value1*(per9/100)); Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime)); Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime)); Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime)); Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime)); Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime)); Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime)); Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime)); Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime)); Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime)); Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); 2) INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v1) or CrossUp(DEMA1,v3) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10); TL_SetColor(tl,RED); TL_SetSize(tl,4); TL_SetExtRight(TL,true); } if CrossDown(DEMA1,v1) or CrossDown(DEMA1,v3) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1+PriceScale*10,NextBarSdate,NextBarStime,DEMA1+PriceScale*10); TL_SetColor(tl,lGREEn); TL_SetSize(tl,4); TL_SetExtRight(TL,true); } 1번수식에서2번수식(dema)5이평이76.4프로상승크로스레드색수평선 (dema) 5이평이76.4프로하락크로스그린색 수평선 (dema) 5이평이23.6프로상승크로스레드색수평선 (dema) 5이평이23.6프로하락크로스그린색수평선으로나오게수정부탁드립니다~ 텍스트가격수치는 삭제 프로테이지만나오게 수정해주세요~ 항상노고에 감사드립니다~~
프로필 이미지
장군
2022-09-06
1799
글번호 162038
지표
답변완료

수식 부탁드립니다.

국내 선물에서 특정 조건이 되면 매수 또는 매도로 30개 진입 후 진입가격으로부터 매수집입 대비 5, 10, 15 pt 상승시 각 10개씩 분할 매도 매도진입 대비 -5, -10, 15 하락시 각 10개씩 분할 매수 하며, (각 조건별 중복 청산 없음) 조건 미달성으로 남은 잔액은 당일 종가 청산하는 식 부탁드립니다. 감사합니다.
프로필 이미지
시나리오
2022-09-06
1893
글번호 162037
시스템
답변완료

Highest를 생각없이 쓰다가 궁금해졌습니다.

var1 = Highest(H,N) ; 최근 N개봉 중 최고가 #매수진입 if marketposition == 0 Then{ Buy("B",AtStop,Var1+PriceScale); } 아무런 생각없이 Highest를 위의 코드처럼 쓰고있었는데요. 이렇게하면 현재 봉이 미완성시 고가와 종가 구분을 어떻게 하고 매수를 하는걸까요...? 지금까지 매수/매도가 잘 되어서 잘 되는줄 알았는데 기본적인 의문이 들었습니다. 제가 원래 의도한바는 현재가격(현재 봉의 종가)가 N개봉 고가 돌파시 +1틱에 매수하는 거였는데요. 현재가격(현재 봉의 종가)이 N개봉 고가 돌파시 종가 = Highest(H,N)이 되어버리는거 같아서요.
프로필 이미지
프로라인89
2022-09-06
1678
글번호 162036
시스템
답변완료

검토 부탁드립니다.

안녕하세요? 아래 수식은 참조데이터2 거래량분포입니다. 당일만 나타나게되어있는데 첨부그림에서 보듯이 왼쪽 전일 고저라인이 세로로 나타나 보기가 불편합니다. 세로라인이 나타나지 않게 요청드려봅니다. 도와주심에 감사드립니다. =================================== var : C2(0,Data2),H2(0,Data2),L2(0,Data2),cnt(0,Data2); var : Sidx(0,Data2),Sidx1(0,Data2),Eidx(0,Data2),Eidx1(0,Data2),Pre1(0,Data2); C2 = Data2(c); if Data2(Bdate != Bdate[1]) Then { H2 = C2; L2 = C2; Sidx = data2(Index); Sidx1 = Sidx[1]; Eidx1 = Eidx[1]; } Eidx = data2(Index); if data2(Bdate != Bdate[1] or (Bdate == bdate[1] and C2 > h2)) Then h2 = C2; if data2(Bdate != Bdate[1] or (Bdate == Bdate[1] and C2 < l2)) Then l2 = C2; if Sidx1 > 0 Then { pre1 = 0; For cnt = data2(Index)-Eidx1 to data2(Index)-Sidx1 { if data2(sDate[cnt] < sDate and sTime[cnt] <= sTime) Then { pre1 = C2[cnt]; cnt = data2(Index-Sidx1+1); } } } if CurrentDate == sDate Then { if Data1(sDate) == Data2(sDate) Then { Plot1(C2,"참조",IFf(C2 >0,RGB(243,97,220),RGB(102,152,253))); Plot2(H2,"최고"); Plot3(L2,"최저"); Plot4(pre1,"전일"); PlotBaseLine1(0); } Else { NoPlot(1); NoPlot(2); NoPlot(3); NoPlot(4); } } if CurrentDate == sDate Then { Plot5(Data2(OpenD(0)),"D2당일시가"); Plot6(Data2(HighD(0)),"D2당일고가"); Plot7(Data2(LowD(0)),"D2당일저가"); Plot8(Data2(LowD(0)+(HighD(0)- LowD(0))*0.236),"23.6%"); Plot9(Data2(LowD(0)+(HighD(0)- LowD(0))*0.764),"76.4%"); Plot10(Data2(LowD(0)+(HighD(0)- LowD(0))*0.382),"38.2%"); Plot11(Data2(LowD(0)+(HighD(0)- LowD(0))*0.618),"61.8%"); Plot12(Data2(LowD(0)+(HighD(0)- LowD(0))*0.50),"50.0%"); }
프로필 이미지
포보스
2022-09-06
1688
글번호 162035
지표
답변완료

키움 수식입니다 시스템 트레이딩으로 변경 부탁 드립니다.

A=cci(5); A < lowest(A(1), 5)
프로필 이미지
이름이
2022-09-06
1506
글번호 162034
시스템