커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

var : TL1(0), TL2(0); if stime == 090000 and BarInterval <> 1 then { TL1 = TL_New(sdate, stime, 0, sdate, stime,999999999); TL2 = TL_New_self(sdate, stime, -999999, sdate, stime,999999); TL_SetColor(TL1, RGB(180,182,182)); TL_SetColor(TL2, RGB(180,182,182)); } var1 = (dayHigh-dayClose(1))/dayClose(1)*100; var2 = (C - dayClose(1))/dayClose(1)*100; var3 = (dayLow-dayClose(1))/dayClose(1)*100; if C >= dayClose(1) then { plot1(var2,"몸통",red); Else { plot1(var2,"몸통",blue); 위수식을 빨강매수 파랑 매도 화살표로 부탁드립니다.
프로필 이미지
뚜벅뚜벅
2020-01-13
219
글번호 135120
시스템
답변완료

수식 문의

수식 문의 : 아래 수식의 MACD osc 에 대한 당일 평균 이평선을 구하고 싶습니다. Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDsig(0),macdosc(0) ; MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,Period); macdosc = MACDv-ema(MACDv,Period);
프로필 이미지
부똘이
2020-01-13
226
글번호 135105
지표
답변완료

함수요청

안녕하세요? 아래 스크립트 검증 부탁드립니다. (전략과 컨셉이 상이하다면 새롭게 작성 요청드립니다.) 전략은 다음과 같습니다. 항셍지수선물 3분봉으로 거래를 하고자 하는데 T장(10:15~17:30)에서만 생성하고자 합니다. 해당봉의 저가가 볼린저밴드 상단 위에 위치해 있으면 익봉 시가 매도 해당봉의 고가가 볼린저밴드 하단 아래에 위치해 있으면 익봉 시가 매수 진입 후 종가가 볼린저밴드 중심선(20ma)을 크로스하면 익봉 시가에 청산 진입 기준으로 매매횟수가 최대 2회까지이며 17시에 시간청산하고자 합니다. input : BBP(20),dv(2); var : mav(0),bbup(0),BBdn(0),BBmd(0),entry(0); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); if (sdate != sdate[1] and stime >= 101500) or (sdate != sdate[1] and stime >= 101500 and stime[1] < 101500) Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if stime >= 101500 and stime < 170000 then { if entry < 3 and L > bbup Then sell("s"); if entry < 3 and H < bbdn Then buy("b"); if MarketPosition == 1 and Crossup(C,bbmd) Then ExitLong("bx"); if MarketPosition == -1 and Crossdown(C,bbmd) Then ExitShort("sx"); } SetStopEndofday(170000);
프로필 이미지
흰둥이아빠
2020-01-13
209
글번호 135101
시스템
답변완료

수식작성 문의 드립니다~!

시그널 : 종가상 highest(c,26) 상향돌파시 매수시그널, lowest(c,26) 하향돌파시 매도 시그널 발생 매수 : 시그널 발생 후의 3번째 봉의 Close가 시그널이 발생한 캔들의 Close보다 높으면 매수 매도 : 시그널 발생 후의 3번째 봉의 Close가 시그널이 발생한 캔들의 Close보다 낮으면 매도 피라미딩 (매수): 첫 번째 매수 포지션 진입 이후의 캔들 중 low값이 가격이 중신선(highest(c,26) + lowest(c,36)의 평균값) 보다 아래로 내려갔다가 lowest(c,26)을 갱신하지 않고서 highest(c,26)을 종가상 상방돌파 하면 추가매수. 최대 3번까지 피라미딩. 피라미딩 (매도): 첫 번째 매도 포지션 진입 이후의 캔들 중 high값이 중신선(highest(c,26) + lowest(c,36)의 평균값) 보다 위로 올라갔다가 highest(c,26)을 갱신하지 않고서 lowest(c,26)을 종가상 하방돌파 하면 추가매도. 최대 3번까지 피라미딩. 포지션 진입규모 : 매수/매도 주문이 발생하는 날의 atr(5)*2의 값이 전체 자산의 1프로가 되도록 진입수량 세팅. (ex 매수가 : 256.45, 매수일의 atr(5)의 값이 1.56P일 경우 손절선은 256.45-(1.56*2)의 값인 3.12P가 전체 자산의 1%rk 되도록 진입 규모 계산하는 수식.) 손절선 (매수): (포지션 진입 단가) - (매수 진입일의 atr(5)*2) 손절선 (매도): (포지션 진입 단가) + (매도 진입일의 atr(5)*2) 트레일링 스탑 : 3번의 피라미딩 이후에 20선 이탈시 전량매도 (매수/매도 모두 동일한 조건)
프로필 이미지
클레버
2020-01-13
258
글번호 135100
시스템
답변완료

재문의합니다.

아래수식이 진입이 되지 않고 있습니다. 안녕하세요 예스스탁입니다. var : t(0); var1 = (O+C)/2; var2 = ma(C,30); if t <= 0 and crossup(var1,var3) then { t = 1; if C > O Then { t = 2; value1 = c; } } if t >= 0 and CrossDown(var1,var3) then { t = -1; if C < O Then { t = -2; value1 = c; } } if t == 2 Then { if MarketPosition == 0 and c > value1 Then { buy(); t = 3; } } if t == -2 Then { if MarketPosition == 0 and c < value1 Then { sell(); t = -3; } } if MarketPosition == 1 and CrossDown(var1,var2) Then exitlong(); if MarketPosition == -1 and CrossUp(var1,var2) Then ExitShort(); 즐거운 하루되세요 > 종호 님이 쓴 글입니다. > 제목 : 문의드립니다. > 중간가격을 mid = (시가 + 종가)/2 ; 이라 정의 합니다. 매수: 무포지션에서 양봉이면서 동시에 중간가격 mid 가 30 이평선 위에 있으면 즉 mid > ma(c.30) 이면 매수조건= true 가 되고 중간가격 mid가 최초로 30 이평선 상방 돌파한 봉의 그 봉의 종가가 매수기준가가 됩니다. 매수기준가 = c ; 가 되고 그 이후의 발생하는 이후 언제가의 봉의 중간가격 mid 가 mid > ma(c.30) 이면서 종가 c > 매수기준가 이면 매수합니다. 단 무포지션에서 매수조건= true 가 되고 매수전에 중간가격 mid 가 mid < ma(c.30) 되면 매수조건= false 가 되어 매수조건은 취소됩니다. 매수청산: 매수후에 중간가격 mid 가 mid < ma(c.30) 되면 청산합니다. 매도: 무포지션에서 음봉이면서 동시에 중간가격 mid 가 30 이평선 아래에 있으면 즉 mid < ma(c.30) 이면 매도조건= true 가 되고 중간가격 mid가 최초로 30 이평선 하방 돌파한 봉의 그 봉의 종가가 매도기준가가 됩니다. 매도기준가 = c ; 가 되고 그 이후의 발생하는 이후 언제가의 봉의 중간가격 mid 가 mid< ma(c.30) 이면서 종가 c < 매도기준가 이면 매도합니다. 단 무포지션에서 매도조건= true 가 되고 매도전에 중간가격 mid 가 mid > ma(c.30) 되면 매도조건= false 가 되어 매도조건은 취소됩니다. 매도청산: 매수후에 중간가격 mid 가 mid > ma(c.30) 되면 청산합니다.
프로필 이미지
종호
2020-01-13
242
글번호 135098
시스템
답변완료

DayClose 값이 항상 Close와 같게 나옵니다.

MessageLog("Close: %.0f, DayClose:%.0f, Open:%.0f, DayOpen:%.0f, Volume:%.0f, DayVolume:%.0f", Close, DayClose(0), Open, DayOpen, Volume, DayVolume); -------------------------------------------- DayOpen, DayVolume은 제대로 값이 나오는데 DayClose는 항상 Close와 같은 값으로 나옵니다. DayClose 값을 제대로 나오게 하려면 어떻게 해야하나요? 친절한 답변 항상 감사합니다. ^^!
프로필 이미지
매너모드
2020-01-13
266
글번호 135097
시스템
답변완료

부탁드립니다.

var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); 전환선 = (highest(H,9)+lowest(L,9))/2; 기준선 = (highest(H,26)+lowest(L,26))/2; 선행스팬1 = (전환선+기준선)/2; 선행스팬2 = (highest(H,52)+lowest(L,52))/2; if CrossDown(선행스팬1[25],선행스팬2[25]) then Var1 = H; plot1 (선행스팬1[25], "line1"); plot2 (선행스팬2[25], "line2"); Plot3 (Var1, "line3", BLACK); plot4(C,"현재가",iff(C>var2,RED,BLUE)); 위수식으로 시스템식부탁합니다. Plot3 (Var1, "line3", BLACK);라인을 plot4(C,"현재가",iff(C>var2,RED,BLUE));가 교차할때 화살표 나오게 해주세요.
프로필 이미지
뚜벅뚜벅
2020-01-13
201
글번호 135094
시스템
답변완료

지표 수정 부탁드립니다

안녕하세요. 항상 수고가 많으십니다. 질문드립니다 ----------------------------------------------------------------------- 아래 수식은 삼성전자, SK하이닉스, POSCO 의 전일대비 오늘 상승률을 지표에 표시하려는 수식입니다. var : data1_전일종가(0, data1); var : data2_전일종가(0, data2); var : data3_전일종가(0, data3); var : data1_등락률(0, data1); var : data2_등락률(0, data2); var : data3_등락률(0, data3); if DayIndex == 0 Then { data1_전일종가 = data1(DayClose(1)); data2_전일종가 = data2(DayClose(1)); data3_전일종가 = data3(DayClose(1)); data1_등락률 = (data1(c) - data1_전일종가)/data1_전일종가*100; data2_등락률 = (data2(c) - data2_전일종가)/data2_전일종가*100; data3_등락률 = (data3(c) - data3_전일종가)/data3_전일종가*100; } if DayIndex >= 0 and stime <= 154500 Then { data1_등락률 = (data1(c) - data1_전일종가)/data1_전일종가*100; data2_등락률 = (data2(c) - data2_전일종가)/data2_전일종가*100; data3_등락률 = (data3(c) - data3_전일종가)/data3_전일종가*100; } plot1(data1_등락률, "삼전"); plot2(data2_등락률, "SK하이닉스"); plot3(data3_등락률, "POSCO"); 위 수식의 잘못 된 부분을 수정 부탁드립니다. ------------------------------------------------------------------------------------- 항상 감사드립니다. 좋은 일만 많이 생기시기를 ......
프로필 이미지
샐리짱
2020-01-13
247
글번호 135091
지표
답변완료

금요일 오버나잇 금지

해외선물을 하고 있습니다. 만약 매수 또는 매도 포지션을 같고 있다면, 거의 24시간 거래를 하다가 토요일, 일요일 휴장을 하기 때문에 포지션을 유지 보유한체 월요일을 맞는 경우 리스크가 있을 수 있는데, 금요일 장마감전 즉 15시 30분이 되면 청산하고 포지션이 없이 월요일을 맞이하고 싶습니다. 수식 요청 부탁드립니다^^
프로필 이미지
뽄때
2020-01-13
268
글번호 135086
시스템