커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종목검색 오류 10311

input : P(5),P2(2); var : TL1(0),TL2(0),tx1(0),tx2(0), 상단값(0), 상단값2(0), 인덱스(0), 직전인덱스(0), 현재인덱스(0), 기울기(0),값2(0); 인덱스 = 인덱스 +1; if SwingHigh(1,h,P,P,P*2+1) != -1 Then{ var1 = sdate[P]; var2 = sTime[P]; var3 = H[P]; 인덱스 = 0; var4 = var1[1]; var5 = var2[1]; var6 = var3[1]; 현재인덱스 = 인덱스; if var6 > 0 Then{ #고점에 동그라미 그리기 Tx1 = Text_New(var1,var2,var3,"●"); #동그라미 색상, 빨강 Text_SetColor(Tx1,RED); Text_SetStyle(Tx1,2,2); #기존그려진 TL2추세선의 오측연장을 없앰 TL_SetExtRight(TL1,False); #새로운 고점과 이전고점을 연결해 추세선 생성 TL1 = TL_New(var4,var5,var6,var1,var2,var3); #추세선 우측 연장 #TL_SetExtRight(TL1,true); 상단값 = TL_GetValue(TL1,sdate,stime); 상단값2 = TL_GetValue(TL1,sdate[1],stime[1]); 기울기 = 상단값-상단값2; #추세선 색지정 //TL_SetColor(TL1,CYAN); } } if 기울기 !=0 then { 값2 = 상단값2 + 기울기*인덱스; } 지료식으로는 표현이 되엇습니다. 값2를 현재가가 돌파할때 검색을 하고 싶은데 검색 오류가 뜹니다. 메일로 보내주시면 감사하겟습니다. bum4484@naver.com 감사합니다.
프로필 이미지
쑥쑥
2016-01-06
196
글번호 94115
종목검색
답변완료

당일청산손익을 받을 수는 없을까여?

시스템 내에서 진입 조건에서 당일 실현손익이 500000만원 (또는 1포인트) 이하 일때만 진입한다는 조건을 달고 싶은데 가능할까여?
프로필 이미지
londonks
2016-01-06
124
글번호 94114
시스템
답변완료

약세패턴

1. CCI 기준선 약세패턴 좀 만들어 주세요 2. 강조식 MACD 오실레이터 Negative에서 봉에 색깔이 입혀져서 하락과 상승이 나타나지 않는데, 아래식에 좌측표시와 우측표시를 구체적으로 어떻게 하는지 알려주시기 바랍니다. PlotPaintBar(High, Low, 좌측표시, 우측표시 "MACD 오실레이터 음수",LGREEN); 미리 감사드립니다.
프로필 이미지
산과바다
2016-01-06
169
글번호 94112
강조
답변완료

문의 드려요

일봉 차트에서 최고점을 찾고 최고점의 전저점을 찾은 후 저점에서 부터 고점까지의 거래량 합을 구할수 잇나요 있다면 수식점 부탁드려요 20일전기준으로 저점을 찾고 싶어요 최고점에서 20일전부터의 최저점을 찾은후 전20일동안 저점이 없다면 그지점이 전저점으로 하고싶어요
프로필 이미지
아무다
2016-01-06
161
글번호 94108
종목검색

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

프로필 이미지
쑥쑥
2016-01-06
1
글번호 94104
지표
답변완료

문의드립니다

input : Period(20),N(60); var : TL1(0),TL2(0),TL3(0),TL4(0); var : Tx1(0),Tx2(0),Tx3(0); var1 = ma(C,Period); #추세선 출력 TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL1 = TL_New(Sdate[1],stime[1],var1,sdate,stime,var1); TL2 = TL_New(Sdate[1],stime[1],var1+N,sdate,stime,var1+N); TL3 = TL_New(Sdate[1],stime[1],var1-N,sdate,stime,var1-N); TL_SetExtLeft(TL1,true); TL_SetExtLeft(TL2,true); TL_SetExtLeft(TL3,true); TL_SetColor(TL1,RED); TL_SetColor(TL2,RED); TL_SetColor(TL3,RED); #텍스트 출력 Text_Delete(Tx1); Text_Delete(Tx2); Text_Delete(Tx3); Tx1 = Text_New(sdate,stime,var1,NumToStr(var1,0)); tx2 = Text_New(sdate,stime,var1+N,NumToStr(var1+N,0)); tx3 = Text_New(sdate,stime,var1-N,NumToStr(var1-N,0)); Text_SetStyle(tx1,0,2); Text_SetStyle(tx2,0,2); Text_SetStyle(tx3,0,2);새해에도건강하시길빕니다그리고항상감사드립니다~~강조식부탁드립니다 수평선위는 핑크색 수평선아래는청색 현재봉시가에나오게해주세요
프로필 이미지
장군
2016-01-06
148
글번호 94101
강조
답변완료

지표 작성 문의드립니다

안녕하세요 현재가가 20이평선,60이평선에 닿았을때 각각 알람소리가 나오게 하고싶습니다 수식 부탁드려요 단, 두 경우다 봉완성 종가기준이 아니라 봉 완성전에라도 닿으면 소리나게하려하는데 가능한지요? 이평선 수치는 추후 제가 필요하면 조절할수있게 해주시면 좋겠고 알람소리는 아무거나 지정해주시면 제가 조절,변경해서 쓰겠습니다 감사합니다
프로필 이미지
지혜샘
2016-01-06
140
글번호 94100
지표
답변완료

문의 드립니다.

예를 들어 accumn(iff(crossup(c,ma(c,60)),1,0),3)>= 1 and a > ma(c,60) then buy("가"); 이고 설정에서 중복진입 금지, 목표수익 4틱으로 설정했을 경우 이 경우에 만족하는 결과값이 3개가 나왔어도 중복진입 금지이므로 첫번째 결과로 진입이 됩니다. 그런데 첫번째 진입하자마자 4틱 수익 나고 청산된 경우에 곧 다음 캔들에서 두번째 결과가 진입이 되고, 두번째 결과도 4틱 수익이 나면 세번째 결과도 진입이 됩니다. 이 경우에 첫번째 진입이 청산되면 곧바로 2,3번째 진입이 되지 않도록 할 수 있을까요? 감사합니다.
프로필 이미지
하우즐영
2016-01-06
115
글번호 94099
시스템
답변완료

함수수정요청(11-1호)

안녕하세요? 아래 함수를 수정요청드립니다. 아래 함수에서 익절청산하고자하는 값, 즉 sp1, sp2, bx의 값과 1% 수익(가령 GOld 1000에 매도 진입시 10 수익)을 비교하여 큰값으로 청산하고자 합니다. 감사합니다. ------------------------------------------------------------------------------------ var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); }
프로필 이미지
통큰베팅
2016-01-06
132
글번호 94098
시스템