커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식작성 부탁드립니다

1.200봉 신고가 발생한 후 신고가 기준 고가가 5% 범위내에 있고 2.신고가 발생 이후 당일 기준 20봉 전까지 신고가의 -3% ~ 3% 범위의 고가 발생 1회 발생. 3.현재가 기준 2일전과 1일전은 모두 양봉이어야함 4.현재가가 200봉 신고가의 -2% 돌파시 매수 5.매수후 3일 이평선을 데드크로스 첫봉에 매도신호 발생 (단순히 3일 이평선을 데드크로스하는 봉에 매도신호가 발생하면 안됨) 위 내용으로 지표식과 종목검색식 부탇드립니다
프로필 이미지
심홍
2022-06-11
1149
글번호 159775
지표
답변완료

문의

늘 감사드려요. 아래 지표에서 마지막 지표값 표시 기능 추가도 가능할까요? 선굵기 조정이나 색상선택도 가능하면 부탁드려요~~ input : Left(3),right(3); var : SHcnt(0),SLcnt(0); var : SHV(0),SHD(0),SHT(0),HTL(0); var : SHV1(0),SHD1(0),SHT1(0); var : SLV(0),SLD(0),SLT(0),LTL(0); var : SLV1(0),SLD1(0),SLT1(0); if Bdate != bdate[1] Then { SHcnt = 0; SLcnt = 0; TL_Delete(HTL); TL_Delete(LTL); } if SwingHigh(1,h,left,right,left+right+1) != -1 Then { TL_Delete(HTL); SHcnt = SHcnt+1; SHV = H[right]; SHD = sDate[right]; SHT = sTime[right]; SHV1 = SHV[1]; SHD1 = SHD[1]; SHT1 = SHT[1]; if SHcnt >= 2 Then { HTL = TL_new(SHD1,SHT1,SHV1,SHD,SHT,SHV); TL_SetColor(HTL,RED); TL_SetExtRight(HTL,true); } } if SwingLow(1,L,left,right,left+right+1) != -1 Then { TL_Delete(LTL); SLcnt = SLcnt+1; SLV = L[right]; SLD = sDate[right]; SLT = sTime[right]; SLV1 = SLV[1]; SLD1 = SLD[1]; SLT1 = SLT[1]; if SLcnt >= 2 Then { LTL = TL_new(SLD1,SLT1,SLV1,SLD,SLT,SLV); TL_SetColor(LTL,BLUE); TL_SetExtRight(LTL,true); } }
프로필 이미지
타이밍승부사
2022-06-13
1259
글번호 159774
지표
답변완료

소리 확인 좀 부탁 드립니다.

* 매번도움에 고맙습니다. * 질문1 : 아래 수식에서 "◆" 신호후 싸운드는 어디에 넣어야 소리가 나나요?? PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); ## <수식> var : TX33(0) , Tx03(0),TX51(0),TX57(0); Condition41 = CrossUp(MA(C,5), MA(C,20)); if Condition41 == true Then { value51 = H; value52 = L; } if CrossDown( L , value52-PriceScale*5 ) Then { TX33 = Text_New(sdate,stime,C ,"◆"); Text_SetStyle(TX33,0,0); Text_SetColor(TX33, RGB(0,0,255) ); Text_SetSize(TX33,35); } ## 질문2 : 그림처럼 빠지는 숫자가 있는데 외그런가요? 수정 좀 부탁 드립니다. 즉 그림 처럼 3913.50 봉에 찍혀야 하는데 (옆 봉보다 더 낮은 가격) 3916.00에 찍히는데 3913.50 외 빠지는거죠? 수정 좀 부탁 드립니다. ## 수식2 ## 가격보기 input : Left(1),right(1); var : T(0),TL(0),tx(0); var : HH(0),HD(0),HT(0),LL(0),LD(0),LT(0); #고점발생 if T <= 0 and SwingHigh(1,H,Left,Right,Left+right+1) != -1 Then{ T = 1; HH = H[right]; HD = sdate[right]; HT = stime[right]; //TL = TL_new(LD,LT,LL,HD,HT,HH); // TL_SetColor(TL,RED); Tx = Text_New(HD,HT,HH+PriceScale,NumToStr(HH,2)); Text_SetStyle(tx,2,2); Text_SetColor(Tx,RED); } #저점발생 if T >= 0 and SwingLow(1,H,Left,Right,Left+right+1) != -1 Then{ T = -1; LL = L[right]; LD = sdate[right]; LT = stime[right]; // TL = TL_new(HD,HT,HH,LD,LT,LL); // TL_SetColor(TL,blue); Tx = Text_New(LD,LT,LL-PriceScale,NumToStr(LL,2)); Text_SetStyle(tx,2,2); Text_SetColor(Tx,blue); } * 고맙습니다. 수고하십시요.
프로필 이미지
요타
2022-06-13
1258
글번호 159773
지표
답변완료

수식 부탁드립니다.

77566 추가 문의 드립니다. 1. 사진의 전환비율에의한 분홍점선과 하늘색점선의 중심값을 표시하고 싶어요(노랑색) 2. 현재 수식은 손절을 33pt 고정으로 되어있는데, 사진의 빨강색 네모 구간에서 처럼 33pt보다 분홍색점선이 먼저오면, 이평선 아래라 매수신호가 안 나오지만 손절만 되게 할 수 있나요? 3. 당일손절(60)도 추가해 주세요.. ============================================================ Input:전환비율(5); input : StartTime(090100),EndTime(055500),P(60); Input :익절(21),손절(33),당일수익(40); Var : N1(0),dayPl(0),Tcond(false),Xcond(false); Var : j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""); var : TL1(0),Text1(0),ADXV1(0),tl2(0),tl3(0),tx2(0),tx3(0),t(0),Emav(0); Array:고[10,4](0),저[10,4](0); HH = H; LL = L; Emav = Ema(L,P); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] * (1 + (전환비율/100)) < HH and hiBar == 0; Condition2 = 고[1,1] * (1 - (전환비율/100)) > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then // 고점과 저점 조건 동시 만족 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; If 최종꼭지점 == "저점" Then { TL_SetEnd(TL2,저[1,3],저[1,4],고[1,1]* (1 - (전환비율/100)) ); Text_SetLocation(TX2,저[1,3],저[1,4],고[1,1]* (1 - (전환비율/100)) ); For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); TL2 = TL_New(고[1,3],고[1,4],고[1,1]*(1-(전환비율/100)) ,NextBarSdate,NextBarStime,고[1,1]*(1-(전환비율/100)) ); TL_SetColor(TL2,Cyan); TL_SetStyle(TL2,3); Tx2 = Text_New(NextBarSdate,NextBarStime,고[1,1]*(1-(전환비율/100)),NumToStr(고[1,1]*(1-(전환비율/100)),2)); Text_SetColor(Tx2,Cyan); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); TL_SetBegin(TL2,고[1,3],고[1,4],고[1,1]* (1-(전환비율/100)) ); Text_SetString(TX2,NumToStr(고[1,1]*(1-(전환비율/100)),2)); } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { t = -1; If 최종꼭지점 == "고점" Then { TL_SetEnd(TL3,고[1,3],고[1,4],저[1,1]* (1 + (전환비율/100)) ); Text_SetLocation(TX3,고[1,3],고[1,4],저[1,1]* (1 + (전환비율/100)) ); For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); TL3 = TL_New(저[1,3],저[1,4],저[1,1]* (1 + (전환비율/100)) ,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); TL_SetColor(TL3,Magenta); TL_SetStyle(TL3,3); TX3 = Text_New(NextBarSdate,NextBarStime,저[1,1]*(1+(전환비율/100)),NumToStr(저[1,1]*(1+(전환비율/100)),2)); Text_SetColor(TX3,Magenta); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); TL_SetBegin(TL3,저[1,3],저[1,4],저[1,1]* (1 + (전환비율/100)) ); Text_SetString(TX3,NumToStr(저[1,1]*(1+(전환비율/100)),2)); } 최종꼭지점 = "저점"; } TL_SetEnd(TL2,NextBarSdate,NextBarStime,고[1,1]* (1 - (전환비율/100)) ); Text_SetLocation(TX2,NextBarSdate,NextBarStime,고[1,1]* (1 - (전환비율/100)) ); TL_SetEnd(TL3,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); Text_SetLocation(TX3,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } 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; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; } if Tcond == true and Xcond == false then { if MarketPosition >= 0 and T == 1 and L > 고[1,1]* (1 - (전환비율/100)) and C < Emav Then Sell("s",AtStop,고[1,1]* (1 - (전환비율/100))); if MarketPosition <= 0 and T == -1 and H < 저[1,1]* (1 + (전환비율/100)) and C > Emav Then Buy("b",AtStop,저[1,1]* (1 + (전환비율/100))); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } SetStopProfittarget(익절,PointStop); SetStopLoss(손절,PointStop);
프로필 이미지
제이디1
2022-06-11
1190
글번호 159772
시스템
답변완료

수식문의

그림과 같은 라인을 설정하고자 합니다 KP200 선물 연결 챠트에 옵션 행사가 2.5 point차이의 라인과 1.25 point 차이의 행사가 변경 라인을 그리고 싶습니다 수식을 부탁 드립니다
프로필 이미지
볼라레
2022-06-12
1285
글번호 159771
지표
답변완료

수식 부탁 드립니다!

[매수조건 : 1) and 2)] 1) 3분봉 기준 5mav가 10mav 이상 2) 1분봉 기준 종가가 60mav 이상 [매수청산] : 상기 1), 2) 조건 중 하나 이상 불만족시 [매도조건 : 1) and 2)] 1) 3분봉 기준 5mav가 10mav 이하 2) 1분봉 기준 종가가 60mav 이하 [매도청산] : 상기 1), 2) 조건 중 하나 이상 불만족시
프로필 이미지
zephie
2022-06-10
1360
글번호 159766
시스템
답변완료

PositionProfit

안녕하세요~~ 3년 기간으로 시스템시뮬레이션중입니다. 1. PositionProfit(1)사용시 리턴값은 매일 장시작시 초기화 되나요? 2. 모든 포지션함수 및 전략성과함수는 매일 장시작시 초기화 되나요?
프로필 이미지
코퍼
2022-06-10
1200
글번호 159765
시스템
답변완료

부탁 드립니다

var : t(0),s(0); var1 = ma(C,5); Var2 = ma(c,20); Var3 = ma(C,35); if var1 > Var2 and Var2 >= var3 Then { if C >= O*1.04 Then { t = 1; s = 0; } if t == 1 and CrossDown(c,var1) Then s = s+1; if s >= 2 and C > O and C >= O[1] Then Find(1); } Else { t = 0; s = 0; } 77603 번에 문의 드렸는데요. 여기서 이평 조건만 삭제 좀 부탁 드립니다.
프로필 이미지
정규남
2022-06-10
1132
글번호 159758
종목검색
답변완료

수식 추가 부탁드립니다.

안녕하십니까 작성하여 주신 아래 수식 매수조건 추가 부탁드립니다. var : T(0), mav(0); var1 = ma(c,5); Var2 = ma(v,5); Var3 = ma(v,20); mav = ma(C,60); if Bdate != Bdate[1] or TotalTrades > TotalTrades[1] Then { T = 0; } if MarketPosition == 0 Then { if var1 < var1[1] Then T = 1; if T == 1 and C > DayOpen and mav > mav[1] and var1 >= var1[1]*1.0002 and var2 >= var3*1.77 and C <= DayClose(1)*1.20 and C >= DayClose(1)*0.80 Then { T = 2; Buy("b"); } } #if MarketPosition == 1 Then #{ # if var1 < var1[1] Then # ExitLong(); #} SetStopProfittarget(4,PercentStop); SetStopLoss(3,PercentStop); SetStopEndofday(151500); 현재조건 # 1. 개장 후 5일 가격 이평선 하락 # 1번 조건 만족 후 # 2. 5일 가격이평선 직전보다 n%이상 상승 AND # 3. 5일 거래량이평 수치가 20일 거래량 이평 수치보다 n% 이상 수치가 높아질때 and 4. 일봉 양봉 and 5. 20일 이평 상승 #1번 조건이 우선 만족된 후에 2~5번 조건이 만족 될때 매수 추가요청 위 조건이 만족되어 매수 신호가 발생한 시점에 20일 이격도 수치를 확인하여, 105보다 작으면 바로 매수 105이상이면 이격도 100이하로 떨어질 때 매수 (위 수식은 1분봉에 적용) 잘부탁드립니다. 감사합니다.
프로필 이미지
대한이
2022-06-10
1220
글번호 159754
시스템