커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

매도 조건 하나더 추가 부탁드림니다.

기존 사용하고 있는 매수 청산 수식입니다. 아래식에 추가로 볼린저밴드의 현재봉이 볼린저밴드 상한선을 돌파한후에 다시 상한선을 깨고 내려오는 봉 종가에 청산 하는 수식 부탁드려요 if MarketPosition == 1 then { BuySetup = false; if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and CCIv < CCI값 and C < O Then ExitLong("매수cci청산"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then ExitLong("즉시익절1"); if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3); Else { if L <= EntryPrice-PriceScale*즉시손절1 Then ExitLong("즉시손절1",AtStop,L-PriceScale*저점손절틱수); } if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*즉시손절1*N4 and C < O Then ExitLong("저점에서 올라와서 본전 청산",atlimit,EntryPrice+PriceScale*본전생각틱); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*즉시손절1 *N5 and CCIv >= CCI값1 and C < O Then ExitLong("cci저점에서 올라와서 약손절"); } if bdate != bdate[1] Then SetStopEndofday(0); if sdate != sdate[1] and DayOfWeek(sdate) == 6 Then SetStopEndofday(060000);
프로필 이미지
이형지
2020-02-28
442
글번호 136459
시스템

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

프로필 이미지
요타
2020-02-28
7
글번호 136458
지표
답변완료

문의드려요

강조수식입니다. ( 일봉에서 rsi(8) <40일때 ) 약세 수식입니다. - 저번에 알려주셨던 수식입니다. Input : Length(8),RSI값(40) ; var : cnt(0),SigSum(0),count2(0),RSIsig(0); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : idx(0), PreUpAvg(0), preDownAvg(0),RSIV(0); Array : C1[100](0); if Bdate != Bdate[1] Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } PreUpAvg = UpAvg[1]; preDownAvg = DownAvg[1]; idx = idx + 1; } C1[0] = C; If idx == Length+2 Then { UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 { UpAmt = C1[Counter] - C1[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else { DownAmt = -UpAmt; UpAmt = 0; } UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; } UpAvg = UpSum / Length; DownAvg = DownSum / Length; } If idx > Length+2 Then { UpAmt = C1[0] - C1[1]; If UpAmt >= 0 Then DownAmt = 0; Else { DownAmt = -UpAmt; UpAmt = 0; } UpAvg = (PreUpAvg * (Length - 1) + UpAmt) / Length; DownAvg = (preDownAvg * (Length - 1) + DownAmt) / Length; } If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; if RSIV <=RSI값 Then PlotPaintBar(h,l,"강조",CYAN); 해당수식을 적용해보면 위 그림과 같이 하늘색부분이 약세 구간입니다. 매도 진입 조건 분봉(30분)에서 하늘색부위로 전환(약세)한지 연속 10개 이상 봉이상 지속되며 하늘색부위를 탈출하는 봉에 종가에 매도 진입 하는 수식 부탁드려요~~ ================================================================================ 다시 정리하면 다음과 같습니다. 매도 진입 수식입니다. 해외선물입니다. (오일) 일봉기준 RSI (8일) < 40 일때 30분 분봉 기준 10봉 연속 (RSI (8일) < 40) 조건유지후 30분 분봉에서 일봉기준 (RSI (8일) > 40) 되는 시점에 매도 진입하는 수식 요청드릴께요... 2번째 요청 수식 일봉기준 RSI(8일)이 30~35일때 RSI>40이 되는 시점 30분봉에서 매도 진입 RSI가 25~30일때 Rsi>35되는 시점 30분봉에서 매도진입 Rsi가 20~25일때 rsi>30될때 30분봉차트에서 매도 진입하는 수식 부탁합니다 첫번채와 두번째수식은 접근방식이 조금 다름니다 그럼 감사합니다25
프로필 이미지
이형지
2020-03-02
402
글번호 136457
시스템
답변완료

문의 드립니다.

input : 타주기분(60); input : P(20); var : S1(0),D1(0),TM(0),TF(0),mav(0); mav = ma(C,P); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { var1 = O; } if var1 > 0 then { if MarketPosition <= 0 and C > var1 and CrossUp(c,mav) Then buy(); if MarketPosition == 1 and CrossDown(c,mav) Then ExitLong(); if MarketPosition >= 0 and C < var1 and CrossDown(c,mav) Then sell(); if MarketPosition == -1 and CrossUp(c,mav) Then ExitShort(); } } 위 로직에서 추가를 원합니다. 60분봉이 양봉이면서 30분봉도 양봉일 때 틱봉에서 20이평 아래서 위로 돌파 시 매수진입 20이평 아래로 돌파 시 매도 청산완료 60분봉이 음봉이면서 30분봉도 음봉일 때 틱봉에서 20이평 위에서 위로 돌파 시 매수진입 20이평 아래로 돌파 시 매도 청산완료 부탁드립니다. 항상 감사합니다.
프로필 이미지
선물대장
2020-02-28
394
글번호 136456
시스템
답변완료

문의

아래 수식이 피라미딩이 최대 2개가 되어 있을 때 최대 진입수량의 50%를 익절1 나머지를 익절2 하는 수식이라면 요청드린 내용은 피라미딩이 최대 2개가 되어 있을 때 최대 진입수량의 1개를 익절1 나머지를 익절2 하는 수식을 요청드립니다. (비율이 아니라 수량으로 정리) ************************************************************************************* input : up익절1(150),up익절2(200); if MarketPosition == 1 Then exitlong("bx1",AtLimit,EntryPrice+PriceScale*up익절1,"",Floor(MaxContracts*0.50),1); if MarketPosition == 1 Then exitlong("bx2",AtLimit,EntryPrice+PriceScale*up익절2); input : dn익절1(150),dn익절2(200); if MarketPosition == -1 Then exitshort("sx1",AtLimit,EntryPrice-pricescale*dn익절1,"",Floor(MaxContracts*0.50),1); if MarketPosition == -1 Then exitshort("sx2",AtLimit,EntryPrice-pricescale*dn익절2);
프로필 이미지
좌오비우오비
2020-02-28
357
글번호 136454
시스템
답변완료

안녕하세요

n = input(title="Periods", defval=2, minval=2, type=integer) DF = (high[n-2] < high[n]) and (high[n-1] < high[n]) and (high[n+1] < high[n]) and (high[n+2] < high[n]) UF = (low[n-2] > low[n]) and (low[n-1] > low[n]) and (low[n+1] > low[n]) and (low[n+2] > low[n]) plot1(DF, plot2(UFl, 변환 문의드립니다. 감사합니다.
프로필 이미지
물고기
2020-02-28
390
글번호 136453
지표

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

프로필 이미지
as8282
2020-02-29
6
글번호 136452
지표
답변완료

호가변동

호가변동을 수치화 할수 있을까요? 1.전봉 종가대비 n틱만큼 위로변동시 + 변동틱수/n 아래로변동시 - 변동틱수/n 2.누적 3.전봉대비 증감폭 누적
프로필 이미지
하늘거지
2020-02-28
355
글번호 136451
지표
답변완료

문의드립니다.

항상 고맙고 감사합니다. 다름이 아니오라 아래 검색식이 작동이 안되어서 그럽니다. 5분봉에서 검색을 하고 싶습니다. Input : Period(200), MultiD(2),Period1(200), MultiD1(3); var : BBup(0),BBdn(0),BBup1(0),BBdn1(0),BBup6(0),BBdn6(0),BBup7(0),BBdn7(0); Input : Period3(200); var : Sma3(0); BBup = BollBandUp(Period,MultiD); BBup1 = BollBandUp(Period1,MultiD1); Sma3 = ma(C,Period3); value1=2*(c-Sma3); BBup6 = BollBandUp(100,2); BBup7 = BollBandUp(100,3); Value2=c+2*(Sma3-c)+BBup-BBup1-(1*c+BBup6-BBup7); if Value2>0 then find(1);
프로필 이미지
예스매니아
2020-02-28
359
글번호 136450
종목검색