커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

// INPUT VARIABLES FOR VORTEX: vortexLen = input(30, title="Length for Vortex", minval=1) emaLen = input(10, title="Length of Positive and Negative EMA's", type=input.integer, minval=1) colorBars = input(true, title="Color Price Bars Based on Vortex?") plotVLines = input(false, title="Plot VI+ and VI- Lines?") // VORTEX CALCULATION: //Returns positive and negative trendlines. vortex(posSum, negSum, vLen)=> tRange = sum(atr(1), vLen) vmPlus = posSum / tRange vmNeg = negSum / tRange [vmPlus, vmNeg] [vPlus, vNeg] = vortex(sum(abs(high - low[1]), vortexLen), sum(abs(low - high[1]), vortexLen), vortexLen) plusEMA = ema(vPlus, emaLen) negEMA = ema(vNeg, emaLen) vDiff = abs(plusEMA - negEMA) // PLOTTING: var color vColor = na vColor := plusEMA > negEMA and plusEMA >= plusEMA[1] ? #1b5e20 : plusEMA > negEMA and plusEMA < plusEMA[1] ? #a5d6a7 : negEMA >= plusEMA and negEMA > negEMA[1] ? #b71c1c : negEMA > plusEMA and negEMA < negEMA[1] ? #c76a72 : nz(vColor[1]) plot(vDiff, style=plot.style_histogram, color=vColor, linewidth=3, transp=0) plot(plotVLines ? plusEMA : na, title="VI +", color=color.green, linewidth=2) plot(plotVLines ? negEMA : na, title="VI -", color=color.red, linewidth=2) barcolor(colorBars ? vColor : na) 항상 도움주심을 감사드립니다. 좋은 하루 되세요
프로필 이미지
thegin
2020-04-27
1407
글번호 138381
지표
답변완료

지표문의

1.아래는 다이버전스가 생길때 추세선이 생기는 지표인데 첨부된 그림 1번. 2번.3번 지표는 낮고 지수는 높은데(또는 그반대) 추세선이 안 생겨요. 좀 수정 좀 해주세요 지표는 macd 오실레이터 입니다. Input : shortPeriod(3), longPeriod(8), Period(9); Var : MACDv2(0), MACDsig(0),macdosc(0) ; MACDv2 = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv2,Period); macdosc = MACDv2-ema(MACDv2,Period); Var : T(0); var : HIV(0),HID(0),HIT(0),HIV1(0),HID1(0),HIT1(0),HI(0),HI1(0); var : HPV(0),HPD(0),HPT(0),HPV1(0),HPD1(0),HPT1(0); var : LIV(0),LID(0),LIT(0),LIV1(0),LID1(0),LIT1(0),LI(0),LI1(0); var : LPV(0),LPD(0),LPT(0),LPV1(0),LPD1(0),LPT1(0); var : TL1(0),TL2(0),TX1(0),TX2(0),TX3(0); var : TL3(0),TL4(0),TL5(0),i1(0),i2(0); if crossup(macdosc,0) Then { T = 1; HIV = H; HID = sdate; HIT = stime; HI = Index; HIV1 = HIV[1]; HID1 = HID[1]; HIT1 = HIT[1]; HPV = H; HPD = sdate; HPT = stime; HI1 = HI[1]; HPV1 = HPV[1]; HPD1 = HPD[1]; HPT1 = HPT[1]; Condition1 = false; } if CrossDown(macdosc,0) Then { T = -1; LIV = L; LID = sdate; LIT = stime; LI = Index; LIV1 = LIV[1]; LID1 = LID[1]; LIT1 = LIT[1]; LPV = L; LPD = sdate; LPT = stime; LI1 = LI[1]; LPV1 = LPV[1]; LPD1 = LPD[1]; LPT1 = LPT[1]; Condition2 = false; } if T == 1 Then { if H > HIV Then { HIV = macdosc; HID = sdate; HIT = stime; } if H > HPV Then { HPV = H; HPD = sdate; HPT = stime; } if Condition1 == false and HPV1 > 0 and HPV > HPV1 and HIV < HIV1 and HI <= HI1+30 Then { TL1 = TL_New(HPD1,HPT1,HPV1,HPD,HPT,HPV); //TL2 = TL_New_Self(HID1,HIT1,HIV1,HID,HIT,HIV); TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); //tx1 = Text_New(HPD1,HPT1,HPV1,NumToStr(HPV1,2)); //tx2 = Text_New(HPD,HPT,HPV,NumToStr(HPV,2)); //tx3 = Text_New(HPD,HPT,(HPV1+HPV)/2,NumToStr((HPV1+HPV)/2,2)); Text_SetStyle(tx1,2,1); Text_SetStyle(tx2,2,1); //TL3 = TL_New(HPD1,HPT1,HPV1,sdate,stime,HPV1); //TL4 = TL_New(HPD1,HPT1,HPV,HPD,HPT,HPV); //TL5 = TL_New(HPD1,HPT1,(HPV1+HPV)/2,HPD,HPT,(HPV1+HPV)/2); Condition1 = true; } if Condition1 == true then { if HPV > HPV1 and HIV < HIV1 then { TL_SetEnd(TL1,HPD,HPT,HPV); TL_SetEnd(TL2,HID,HIT,HIV); Text_SetLocation(tx2,HPD,HPT,HPV); Text_SetString(tx2,NumToStr(HPV,2)); i1 = index; } Else { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); Text_Delete(tx1); Text_Delete(tx2); } } } if T == -1 Then { if L < LIV Then { LIV = macdosc; LID = sdate; LIT = stime; } if L < LPV Then { LPV = L; LPD = sdate; LPT = stime; } if Condition2 == false and LPV1 > 0 and LPV < LPV1 and LIV > LIV1 and LI <= LI1+30 Then { TL1 = TL_New(LPD1,LPT1,LPV1,LPD,LPT,LPV); //TL2 = TL_New_Self(LID1,LIT1,LIV1,LID,LIT,LIV); TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); //tx1 = Text_New(LPD1,LPT1,LPV1,NumToStr(LPV1,2)); //tx2 = Text_New(LPD,LPT,LPV,NumToStr(LPV,2)); //tx3 = Text_New(LPD,LPT,(LPV1+LPV)/2,NumToStr((LPV1+LPV)/2,2)); Text_SetStyle(tx1,2,1); Text_SetStyle(tx2,2,1); //TL3 = TL_New(LPD1,LPT1,LPV1,sdate,stime,LPV1); //TL4 = TL_New(LPD1,LPT1,LPV,LPD,LPT,LPV); //TL5 = TL_New(LPD1,LPT1,(LPV1+LPV)/2,LPD,LPT,(LPV1+LPV)/2); Condition2 = true; } if Condition2 == true then { if LPV < LPV1 and LIV > LIV1 then { TL_SetEnd(TL1,LPD,LPT,LPV); TL_SetEnd(TL2,LID,LIT,LIV); Text_SetLocation(tx2,LPD,LPT,LPV); Text_SetString(tx2,NumToStr(LPV,2)); i2 = index; } Else { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); Text_Delete(tx1); Text_Delete(tx2); } } } if index > i1 and index <= i1+3 Then { TL_SetEnd(tl3,sdate,stime,TL_GetValue(tl3,sdate,stime)); TL_SetEnd(tl4,sdate,stime,TL_GetValue(tl4,sdate,stime)); TL_SetEnd(tl5,sdate,stime,TL_GetValue(tl5,sdate,stime)); } if index > i2 and index <= i2+3 Then { TL_SetEnd(tl3,sdate,stime,TL_GetValue(tl3,sdate,stime)); TL_SetEnd(tl4,sdate,stime,TL_GetValue(tl4,sdate,stime)); TL_SetEnd(tl5,sdate,stime,TL_GetValue(tl5,sdate,stime)); } #================= if macdosc > 0 then { plot1(macdosc, "MACDOscillator+"); Plot2(0, "MACDOscillator-"); } else { Plot1(0, "MACDOscillator+"); Plot2(macdosc, "MACDOscillator-"); }
프로필 이미지
성공예견
2020-04-27
1477
글번호 138379
지표
답변완료

문의

1. 아래는 ATR 추적청산 관련하여 2010년 이전 답변입니다. 해석 부탁드립니다. 2. 최근에 사용하는 예제가 있다면 수식과 해석 부탁드립니다. 3. 예스트레이더를 사용한 대학원논문에서 시스템포트폴리오분석시 시스템간 상관계수를 비교 하던데(예를 들어 일간 수익률이라면서 더 이상 설명은 없고) 어떤 것을, 어떤 식을 사용하여 상관계수를 산출하는지 알려주세요 ********************************************************************************** Input : AtrMult(5.0); Var : PosHigh(0), PosLow(0); PosHigh = Highest(H,BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 Then { exitlong("EL_추적ATR",Atstop,PosHigh-ATR(20)*AtrMult); exitshort("ES_추적ATR",Atstop,PosLow+ATR(20)*AtrMult); } ### ATR Trailing LX(매수청산)### Inputs: ATRs(3); Variables: PosHigh(0), ATRVal(0); ATRVal = ATR(10) * ATRs; If BarsSinceEntry() == 0 Then PosHigh = High; If MarketPosition() == 1 Then Begin If High > PosHigh Then PosHigh = High; ExitLong ("ATR", AtStop, PosHigh - ATRVal); End else ExitLong ("ATR eb", AtStop, High - ATRVal); ### ATR Trailing SX(매도청산)### Inputs: ATRs(3); Variables: PosLow(0), ATRVal(0); ATRVal = ATR(10) * ATRs; If BarsSinceEntry() == 0 Then PosLow = Low; If MarketPosition() == -1 Then Begin If Low < PosLow Then PosLow = Low; ExitShort ("ATR", AtStop, PosLow + ATRVal); End else ExitShort ("ATR eb", AtStop, Low + ATRVal);
프로필 이미지
좌오비우오비
2020-04-27
1303
글번호 138378
시스템
답변완료

서식 부탁드립니다

항상 도움에 감사드립니다 서식 작성이 생각대로 되지 않아 부탁 드립니다 매수후 청산 조건입니다 ㅇ청산조건 (data 2) data2 에서 1 당일 최고가 대비 1,000원 하락하거나 2 또는 매수매도잔량 대비 1,000개 하락하면 청산 if dayhagh(data2(c)) < data2(c) - 1000 or dayhagh(data2(bids-asks)) < data2(bids-asks) - 1000 then buy(매도);
프로필 이미지
dkfvkrh7
2020-04-27
1265
글번호 138377
시스템
답변완료

봉의 끝에 해당 텍스트를 표시하고 싶습니다.

안녕하세요. 항상 좋은 도움 받아서, 감사한 마음을 가지고 글을 쓰고 있습니다. 늘 감사합니다. 1) 위아래 봉끝에 꼬리끝에 각각 '%차'를 텍스트가 표기 할수있었음 좋겠습니다. 2) 꼬리의 % 차이가 1% 미만이면 표기를 안했음 합니다. 그러면 망치 모양 처럼 윗꼬리가 없는 애들도 표기가 안되지만, 만약 아래꼬리는 1%이상이면 표기가 되었음 합니다. 3) 숫자 크기가 작게 표기 되었음 좋겠습니다. 글짜 색이나 모양은 가독성이 있게 부탁드립니다. (제가 수정할수있음 주석이나 tip 알려주세용~) 잘 부탁드립니다.
프로필 이미지
시간의연금술사
2020-04-27
1346
글번호 138376
지표
답변완료

지표 구현

첨부한 지표의 그림은 다음의 수식을 유로달러 종목에서 적용한 것입니다. input : N(5); if SwingHigh(1,h,N,N,N*2+1) != -1 Then{ plot1(H[N],"1",RED); } if SwingLow(1,L,N,N,N*2+1) != -1 Then{ plot1(L[N],"1",blue); } 이 지표를 적용할경우, 꺾은선 그래프와 같은 형식으로 나오게 됩니다.(첫번째 그림) 이 상황에서, 그림2, 3, 4와 같이 표시되게 하려면 각각 지표를 어떻게 수정해야 할까요?
프로필 이미지
노인
2020-04-27
1290
글번호 138372
지표
답변완료

알려주세요

이평선 20이평선 사용합니다 매수 주가가 20 이평선을 고가 종가로 돌파하고 이후봉이 돌파한 봉의 고가를 종가 로 돌파시 매수 매도 주가가 20 이평선을 저가 종가로 이탈하고 이후봉이 돌파한 봉의 저가를 종가로 이탈하면 매도 부탁좀 드립니다
프로필 이미지
사이다
2020-04-27
1198
글번호 138371
시스템
답변완료

부탁좀 드리겠습니다.

10시기준 최고 최저가에 라인이 그려지는 수식좀 부탁드립니다
프로필 이미지
회원
2020-04-26
1199
글번호 138370
지표

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

프로필 이미지
거암
2020-04-26
0
글번호 138369
시스템