커뮤니티
예스랭귀지 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