커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

매번 감사합니다. 1. 코딩 변환 부탁드립니다. inputs: LookbackLength( 400 ), RSILength( 14 ), Fib1( 23.6 ), Fib2( 31.1 ), Fib3( 100 ), PlotRSI( “Yes” ) ; variables: RawRSI( 0 ), RangeHigh( 0 ), RangeLow( 100 ), ChartRange( 0 ), Trendline1( 0 ), Trendline2( 0 ), Trendline3( 0 ) ; RawRSI= RSI( Close, RSILength ) ; if BarNumber > LookbackLength then begin RangeHigh = Highest(RawRSI,LookbackLength ) ; RangeLow = Lowest(RawRSI, LookbackLength ) ; ChartRange = RangeHigh - RangeLow ; Trendline1 = Fib1/100*ChartRange + RangeLow ; Trendline2 = Fib2/100*ChartRange + RangeLow ; Trendline3 = Fib3/100*ChartRange + RangeLow ; if PlotRSI = “Yes” or PlotRSI = “yes” then Plot1( RawRSI ) else Plot1( RangeLow + ChartRange / 2 ) ; Plot2( TrendLine1 ); Plot3( TrendLine2 ) ; Plot4( Trendline3 ) ; end ; 2. inputs: Opt1( 7 ), Opt2( 16 ), Opt3( 2 ), Opt4( 0.4 ), Opt5( 1 ), Opt6( 0.3 ), Opt7( 0.6 ) ; variables: NH( 0 ), NL( 0 ), Ratio( 0 ), Diff( 0 ), Signal( 0 ) ; NH = Close data2 ; { Advancing Issues } NL = Close data3 ; { Declining Issues } Ratio = NH / ( NH + NL ) ; Diff = XAverage( Ratio, Opt1 ) - XAverage( Ratio, Opt2 ) ; Signal = XAverage( Diff, Opt3 ) ; {Long Entry} if Ratio > Opt4 and Signal > Diff then Buy next bar at market ; {Long Exit} if Ratio < Opt6 and Signal < Diff then Sell next bar at market ; {Short Entry} if Ratio < Opt5 and Signal < Diff then SellShort next bar at market ; {Exit Short } if Ratio > Opt7 and Signal < Diff then BuyToCover next bar at market ; Strategy: CCI &#8211; Breadth Momentum { Based on Trading Systems Using Multiple Indicators by Dennis Peterson, Case #2, Momentum combined with CCI } inputs: Opt1( 6 ), Opt2( 6 ), Opt4( 9 ), Opt5( -140 ), Opt6( 4 ), Opt7( 30 ), Opt8( 180 ), Opt9( -130 ) ; variables: NH( 0 ), NL( 0 ), Ratio( 0 ), Diff( 0 ), Signal( 0 ), LongCCI( 0 ), ShortCCI( 0 ) ; NH = Close data2 ; { Advancing Issues } NL = Close data3 ; { Declining Issues } Ratio = NH / ( NH + NL ) ; LongCCI = CCI( Opt1 ) ; ShortCCI = CCI( Opt2 ) ; Diff = XAverage( Ratio, 7 ) - XAverage( Ratio, 16 ) ; Signal = XAverage( Diff, 2 ) ; { Long Entry } if ( Ratio > .4 and Lowest( LongCCI, Opt4 ) < Opt5 ) or ( Signal > Diff and Lowest( LongCCI, Opt4 ) < Opt5 ) then Buy next bar at market ; { Long Exit } if Ratio < .6 and Signal < Diff and LongCCI > Opt8 then Sell next bar at market ; {Short Entry} if Highest( ShortCCI, Opt6 ) > Opt7 then SellShort next bar at market ; {Short Exit} if Ratio > .6 and Signal > Diff and ShortCCI < Opt9 then BuyToCover next bar at market ;
프로필 이미지
잡다백수
2018-02-28
390
글번호 117043
시스템
답변완료

질문드립니다.

input : P1(5),P2(10),P3(20),P4(50),P5(100); var : cnt(0),sumV1(0,Data2), sumV2(0,Data2), sumV3(0,Data2), sumV4(0,Data2), sumV5(0,Data2),mav1(0,data2),mav2(0,data2),mav3(0,data2),mav4(0,data2),mav5(0,data2), cnt2(0),cnt3(0),cnt4(0),cnt5(0); Array : C2[100](0,data2); array : 이평[5[; if data2(bdate != bdate[1]) Then{ for cnt = 1 to 99{ C2[cnt] = C2[cnt-1][1]; } } C2[0] = data2(c); if C2[P1] > 0 then if C2[P2] > 0 then if C2[P3] > 0 then if C2[P4] > 0 then if C2[P5] > 0 then { sumV1 = 0; sumV2 = 0; sumV3 = 0; sumV4 = 0; sumV5 = 0; for cnt = 0 to P1 { sumV1 = sumV1+C2[cnt]; } 이평[1] = sumv1/P1; for cnt = 0 to P2 { sumV2 = sumV2+C2[cnt]; } 이평[2] = sumv2/P2; for cnt = 0 to P3 { sumV3 = sumV3+C2[cnt]; } 이평[3] = sumv3/P1; for cnt = 0 to P4 { sumV4 = sumV4+C2[cnt]; } 이평[4] = sumv4/P1; for cnt = 0 to P5 { sumV5 = sumV5+C2[cnt]; } 이평[5] = sumv5/P1; } data2차트에 일봉차트이평을 불러오는것인데 맞는지 모르겠습니다. Array : H2[100](0,data2),L2[100](0,data2),c3[100](0,data2); if data2(bdate != bdate[1]) Then{ for cnt2 = 1 to 99{ H2[cnt] = H2[cnt-1][1]; } } if data2(bdate != bdate[1]) Then{ for cnt3 = 1 to 99{ L2[cnt] = L2[cnt-1][1]; } } if data2(bdate != bdate[1]) Then{ for cnt4 = 1 to 99{ c3[cnt] = c3[cnt-1][1]; } } H2[0] = data2(H); L2[0] = data2(L); c3[0] = data2(c); dayhigh daylow dayclose를 data2에 사용하기위해 답변하신 로직으로 구상했는데 이것도 이렇게 사용하면 될까요? 어디가 문제인지 올바로 출력되지는않습니다만..
프로필 이미지
stockric
2018-02-28
223
글번호 117033
지표
답변완료

안녕하세요

고점을 찍은 후 0.8이상 하락한 후 다시 0.9이상 상승했을때 매수 식으로 나타낼수있나요? 감사합니다
프로필 이미지
지히지히
2018-02-28
188
글번호 117030
시스템
답변완료

시스템식 부탁드립니다.

거래대상은 선물이며 매수식 : crossup(ma(c,5),ma(c,20)) 매수청산식 : crossdown(ma(c,5),ma(c,20)) 매수식에 의해 매수가 된 후 가격이 -10틱이 되면 손절이 되고 가격이 +10틱 터치하면 매수청산식이 발동하도록 할 수 있나요 +10틱 되기 전까진 청산식이 발동하지 않도록 하고 싶습니다.
프로필 이미지
수급돌파
2018-02-28
198
글번호 117029
시스템
답변완료

질문있습니다

차트가 그 상황까지의 고점을 30분이내 뚫지못하고 다섯번이상 터치하면 매도하는 전략 식으로 나타낼수있나요??
프로필 이미지
지히지히
2018-02-28
187
글번호 117028
시스템
답변완료

부탁드림니다

오류사항을 좀 바로잡아 주세요. dp>dm일때의 라인과 dp<dm일때의 dmiv라인의 색상을 바꾸려 합니다. Input: P1(14),Period(14); VAR: DMIv(0),DP(0),DM(0),dpp(0),dmm(0); DMIv = DMI(P1); DP = DIPlus(Period); DM = DIMinus(Period); Dpp = DMIv and dp>dm ; Dmm = DMIv and dp<dm ; Plot4(DP, "DIPlus"); Plot5(DM, "DIMinus"); Plot6(Dpp, "D+",iff(dpp>dpp[1],red,blue),def,iff(dpp>dpp[1],0,1)); Plot7(Dmm, "D-",iff(dmm>dmm[1],red,blue),def,iff(dmm>dmm[1],0,1));
프로필 이미지
수루지
2018-02-28
234
글번호 117027
지표
답변완료

함수 변경이여..

핏봇 분봉 함수 수정좀 부탁드립니다. [공식] 은 이런데요.. 피봇포인트 = (전일고가+전일저가+전일종가)/3 2차저항 = 피봇포인트+전일고가-전일저가 1차저항 = 피봇포인트*2-전일저가 1차지지 = 피봇포인트*2-전일고가 2차지지 = 피봇포인트-전일고가+전일저가 제가 원하는 수식은 피봇포인트 = (당일고가+당일저가)/2 2차저항 = (피봇포인트+전일고가+오늘고가)/3 1차저항 = (피봇포인트+2차저항)/2 ---->피봇포인트와 2차저항 중간선 1차지지 = (피봇포인트+2차지지)/2 ---->피봇포인트와 2차지지 중간선 2차지지 = (피봇포인트+전일저가+오늘저가)/3 제가 만든건 피봇포인트만 맞고 아무리해도 안되네요ㅠ Pivot = (DayHigh(0)+DayLow(0))/2; R1 = 2*Pivot-DayLow(0); R2 = (Pivot+DayHigh(0)+DayHigh(1))/3; S1 = 2*Pivot-DayHigh(0); S2 = (Pivot+DayLow(0)+DayLow(1))/3; 꼭 부탁드립니다.
프로필 이미지
칼리브
2018-02-28
220
글번호 117026
시스템
답변완료

문의 드립니다

예스스팟에서 스마트폰을 문자알림을 보내려면 어떻게 해야 하나요 ?
프로필 이미지
파일럿
2018-02-28
195
글번호 117025
사용자 함수
답변완료

함수요청

안녕하세요? 함수 수정요청드립니다. 아래의 식에서 최근 5개봉을 당일 봉으로 한정하고자 합니다. 즉 아침에 시가봉이 생성되면 직전 전일 봉을 포함하여 카운팅하지 않고 당일 봉에서만 계산하여 매매하고자 합니다. if MarketPosition == 0 and (TotalTrades == 0 or (TotalTrades >= 1 and BarsSinceExit(1) >= 5)) then{ buy("b",AtStop,highest(H,5)); sell("s",AtStop,lowest(H,5)); } SetStopProfittarget(PriceScale*50,PointStop); SetStopLoss(PriceScale*10,PointStop);
프로필 이미지
통큰베팅
2018-02-28
199
글번호 117024
시스템