커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

식?

안녕하세요 주간의 고점 돌파갔다가 다시허락하는경우 매도 주간의 저점 나갔다가 다시상승하는경우 매수 일간차트 단순 이동평균12 무너지지않을경우에는 매수만 무너지면 매도 만 하고자함니다 60분 차트나 120분차트 에 맞추면? 검사^^
프로필 이미지
회원
2017-02-09
163
글번호 106693
시스템
답변완료

시스템문의드립니다

input : P5(5), P20(20), P60(60), get(25), cut(25); var : mav2(0,data2), mav19(0,data2), mav20(0,data2), mav60(0,data2), tic20(0), tic60(0), tic5(0); mav2 = data2(c); mav19 = data2(c[19]); mav20 = data2(c[20]); mav60 = data2(c[60]); tic20=ma(c,P20); tic60=ma(c,P60); tic5=ma(c,P5); if stime >= 170000 or stime < 030000 Then{ if c>mav20 and c>mav19 then{ if crossup(tic5,tic20) or crossup(tic5,tic60) then{ if MarketPosition == 0 Then buy("매수"); if MarketPosition == -1 Then buy("리버스매수"); } } if c<mav20 and c<mav19 then{ if CrossDown(tic5,tic20) or crossdown(tic5,tic60) then{ if MarketPosition == 0 Then sell("매도"); if MarketPosition == 1 Then sell("리버스매도"); } } } if stime >= 220000 or stime < 030000 Then{ if c<mav20 and c<mav19 then exitlong("불매수청산"); if c>mav20 and c>mav19 Then ExitShort("불매도청산"); } SetStopProfittarget(PriceScale*get,PointStop); SetStopLoss(PriceScale*cut,PointStop); if stime == 030000 or (stime > 030000 and stime[1] < 030000) Then{ exitlong(); ExitShort(); } 1.혼자서 머리싸매고 해도 답을 찾기가 어렵습니다ㅜ 위에식에서 청산식적용할때요~ 밤10시~새벽3시사이에만 따로 청산조건을 설정해 놨는데 이전에 포지션이 있는 경우는 밤10시에 그냥 청산이 되 버리거든요 밤10시이전에 포지션이 있는 경우는 이전청산조건을 그대로 유지하고 밤10시이후에 나오는 새로생성된 진입신호에만 새로운 청산기준을 적용하고 싶습니다. 2.항생에는 진입청산조건은 같이두고 시간을 10시30분~오후4시까지 매매시간을 설정하고 위에따로정해놓은청산기준을10시30분~12시까지로 설정했거든요 그런데 이번에도 진입신호가 누락되면서 시간설정이 제대로 안먹히고 24시간으로 진행됩니다. 아래에 적어놨는데 항생시간설정을 어떻게 해야될지 모르겠습니다 input : P5(5), P20(20), P60(60), get(25), cut(25); var : mav2(0,data2), mav19(0,data2), mav20(0,data2), mav60(0,data2), tic20(0), tic60(0), tic5(0); mav2 = data2(c); mav19 = data2(c[19]); mav20 = data2(c[20]); mav60 = data2(c[60]); tic20=ma(c,P20); tic60=ma(c,P60); tic5=ma(c,P5); if stime >= 103000 or stime < 160000 Then{ if c>mav20 and c>mav19 then{ if crossup(tic5,tic20) or crossup(tic5,tic60) then{ if MarketPosition == 0 Then buy("매수"); if MarketPosition == -1 Then buy("리버스매수"); } } if c<mav20 and c<mav19 then{ if CrossDown(tic5,tic20) or crossdown(tic5,tic60) then{ if MarketPosition == 0 Then sell("매도"); if MarketPosition == 1 Then sell("리버스매도"); } } } if stime >= 103000 or stime < 120000 Then{ if c<mav20 and c<mav19 then exitlong("불매수청산"); if c>mav20 and c>mav19 Then ExitShort("불매도청산"); } SetStopProfittarget(PriceScale*get,PointStop); SetStopLoss(PriceScale*cut,PointStop); if stime == 160000 or (stime > 160000 and stime[1] < 160000) Then{ exitlong(); ExitShort(); } 오늘도 좋은하루보내시구요!
프로필 이미지
겐지
2017-02-09
150
글번호 106692
시스템
답변완료

문의드립니다

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분봉하한"); 상한선 61.8프로38.2프로 하한선61.8프로 38.2프로 선으로 나오게 부탁드립니다~~~미리감사드립니다
프로필 이미지
장군
2017-02-09
147
글번호 106691
지표
답변완료

51816 시스템 함수변환요청(키움) 재질문

안녕하세요? 글번호 51816번 재질문드립니다. YT언어로 함수변환 요청드립니다. 감사합니다. Vars : TickValue( 0 ), RSI_value( 0 ), RSI_period( 14 ), MACD_OSC_value( 0 ), MACD_period1( 12 ), MACD_period2( 26 ), MACD_signal_period( 9 ), H_value1( 0 ), H_bar1( 0 ), L_value1( 0 ), L_bar1( 0 ), H_value2( 0 ), H_bar2( 0 ), L_value2( 0 ), L_bar2( 0 ), ShortPeriod( 9 ), // 전환선 기간 LongPeriod( 26 ); // 기준선 기간 // 호가단위 TickValue = OneTick * PriceScale; // RSI RSI_value = RSI(C, RSI_period); // MACD 오실레이터 v0 = MACD(C, MACD_period1, MACD_period2); // MACD value v1 = Ema(v0, MACD_signal_period); // MACD 시그널 MACD_Osc_value = v0 - v1; // MACD 오실레이터 // 전환선 & 기준선 HighestLowest 주어진 기간동안의 극단적인 최고가, 최저가를 반환 highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1); highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2); Value1 = (H_value1 + L_value1)/2; // 전환선 9개의 봉 동안 최고가 와 최저가의 중간값 Value2 = (H_value2 + L_value2)/2; // 기준선 26개의 봉 동안 최고가 와 최저가의 중간값 // 매수 진입 If Value1 > Value2 //전환선이 기준선보다 크고 And MACD_Osc_value > 0 //오실레이터 값이 0보다 크고 And CrossUp(RSI_value, 70) //RSI가 70을 상향 돌파 Then Buy("매수"); // 매도 진입 If Value1 < Value2 //전환선이 기준선보다 작고 And MACD_Osc_value < 0 //오실레이터 값이 0보다 작고 And CrossDown(RSI_value, 30) //RSI가 30을 하향 이탈 Then Sell("매도"); // 이하 청산 : 1계약당 손익이 10틱보다 크고 If ContractProfit > TickValue * 10 Then Begin // 매수 청산 : RSI가 70을 하향 이탈 If CrossDown(RSI_value, 70) then ExitLong("매수청산"); // 매도 청산 : RSI가 30을 상향 돌파 If CrossUp(RSI_value, 30) Then ExitShort("매도청산"); End; // 손절 10틱 SetStopLoss(TickValue * 10);
프로필 이미지
통큰베팅
2017-02-09
174
글번호 106690
시스템
답변완료

문의드립니다

안녕하세요. 어제 질문에 대한 답변은 감사히 잘 받았습니다. 전일 MACD 최고치와 최저치를 구하는 방법을 알고싶습니다. 아래는 전에 알려주신, 당일 MACD 최고/최저치를 구하는 조건식입니다. 이것을 활용하여 간단하게 전일 최고/최저치를 내는 방법이 있을까요? if Bdate != Bdate[1] Then{ HH = MACDV; LL = MACDV; } if MACDV > HH Then HH = MACDV; if MACDV < LL Then LL = MACDV; 감사합니다.
프로필 이미지
맘속의행복
2017-02-09
154
글번호 106689
지표
답변완료

문의 드립니다.

안녕하세요 도움 감사 드립니다. 아직 배우는 중이라 많이 서툽니다. 2봉전 시가~1봉전 종가의 차이가 0.9%이상이 아니다. 이것을 어떻게 수식으로 표현하는지요...
프로필 이미지
프렌
2017-02-09
129
글번호 106688
검색
답변완료

수식

안녕하세요. 다시 한번 수식 부탁드립니다.(옵션매매) 기본 이평선 골드데드에 하기 조건 부탁드립니다. 참고하여 공부하겠습니다. # 매매날짜 : 매월 1일부터 ~ 15일까지 # 청산 : 옵션 매도 시 70% 감소후 50% 청산 감사합니다.
프로필 이미지
한국사람73
2017-02-09
133
글번호 106687
시스템
답변완료

수식 문의

안녕하세요 하기수식에 추가하고 싶은 사항이 있어서 문의 드립니다. input : P(14),BBP(20),dv(2),MAP(60); input : short(12),long(26),sig(9); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0); var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); bbmd = ma(c,BBP); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); mav = ma(C,MAP); MACDV = MACD(short,long); MACDS = ema(MACDV,sig); diff = C-O; Bcond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 2) or (MarketPosition == -1 and BarsSinceEntry >= 2); Scond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 2) or (MarketPosition == 1 and BarsSinceEntry >= 2); if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),5) < 1 and DP < 40 and bcond == true and (ADXV < 40 or (ADXV > 40 and DP > DM)) then buy("b1"); if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),5) < 1 and DM <40 and scond == true and (ADXV < 40 or (ADXV > 40 and DM > dP)) Then sell("s1"); if MarketPosition == 0 Then{ if MarketPosition(1) == 1 and IsExitName("StopTrailing",1) == true and H > BBdn and macdv >= macds and (ADXV < 40 or (ADXV > 40 and DP > DM)) then { buy("bb",AtStop,C-PriceScale);} if MarketPosition(1) == -1 and IsExitName("StopTrailing",1) == true and L < BBup and macdv <= macds and (ADXV < 40 or (ADXV > 40 and DM > dP)) then { sell("ss",AtStop,C+PriceScale);} } 1. 매도 또는 매수 신호에 의해 진입이 되고, 진입한 봉 포함 5개 봉이 지난 다음부터는 손절이나 익절로 청산이 되지 않고, 원래 진입자리로 돌아오면 청산되는 수식을 구현해 주실 수 있으신지요? 매수면 +1틱 매도면 -1틱에서 청산되게 부탁드립니다. 5개봉이 지나고 가격은 원래자리에 없으면, 그냥 시스템 신호의 결정을 기다립니다. 자기 자리로 다시 돌아올때만 청산되게 부탁드립니다. 2. ADX 라인이 DP/DM위로 올라서면 진입하는 수식 부탁드립니다. DP가 DM보다 위에 있으면 매수로 진입, DM이 DP보다 위에 있으면 매도로 진입합니다. ADX 라인이 DP/DM위에 있고, DP/DM change 가 발생해도 거기에따라 재진입 부탁드립니다. 감사합니다.
프로필 이미지
softtoug
2017-02-10
137
글번호 106686
시스템
답변완료

안녕하세요

안녕하세요.반갑습니다 아래지표들을 9개전 값을 현재시간대에 나타나게 하여 두개값을 비교분석 하게 할수있을까요 1.RSI Input : Period(9),SigPeriod(20); Plot1(RSI(Period), "RSI"); plot2(ema(RSI(Period),SigPeriod), "RSI시그널"); PlotBaseLine1(30, "기준선1"); PlotBaseLine2(70, "기준선2"); PlotBaseLine3(50, "기준선3"); 2.StochasticsK Input : Period(12), Period1(5), Period2(5); var : StoK(0),StoD(0); StoK = StochasticsK(Period,Period1); StoD = StochasticsD(Period,Period1,Period2); Plot1(StoK, "StochasticsK"); Plot2(StoD, "StochasticsD"); PlotBaseLine1(20, "기준선20"); PlotBaseLine2(80, "기준선80"); PlotBaseLine3(50, "기준선50"); 3.일목균형표 의 기준선만26개전값과 현재값 동시표시. 감사합니다.
프로필 이미지
회원
2017-02-09
161
글번호 106685
지표