커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

불타는토끼 님에 의해서 삭제되었습니다.

프로필 이미지
불타는토끼
2020-01-13
7
글번호 135121
지표
답변완료

부탁드립니다.

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
189
글번호 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
197
글번호 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
176
글번호 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
199
글번호 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
202
글번호 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
238
글번호 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
173
글번호 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
195
글번호 135091
지표