커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
2wnwn
2023-03-29
20
글번호 167625
지표
답변완료

질문 드립니다

답변에 정말 감사드립니다 ~~~~~~~~~~~~~~~~질문~1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 아래 수식이 <81414>번의 2질문에 해당답변같으나 응용할려니 이해부족으로 수고쓰럽지만 각종 부호의뜻과 숫자 뜻!부연 좀 부탁드립니다~~ 그리고 ("매수2청",1)<--여기서 1 은 무엇을뜻하는지요?? if MarketPosition <= 0 and 5 > 50 Then buy("매수1진입"); if MarketPosition == 0 and IsExitName("매수2청",1) == true and 10 > 60 Then buy("매수2진입"); ~~~~~~~~~~~~~~~~~~질문~2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 저는 매수2진입 수식을 아래처럼 별도로 작성해놓은 상태에서 (손실)매수2청때만은 매수2진입 하라는 명령을 하고싶은데 아래처럼해도 돠는지요??~~ if MarketPosition == 0 and IsExitName("매수2청",1) == true Then buy("매수2진입"); if 10 > 60 Then buy("매수2진입"); //////////////////////////////////////////////////////////////////////// <81414번>질문~2~ (손절된 2청산 때) ("매수2진입")진행은 직전 청산에서 ("매수2청")으로 청산된것만 매수2진입 적용!! ("매도2진입")진행은 직전 청산에서 ("매도2청")으로 청산된것만 매도2진입 적용!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if 5 > 50 Then buy("매수1진입"); if 10 > 60 Then buy("매수2진입"); if 20 < 50 Then exitlong("매수1청"); if 30 < 60 Then exitlong("매수2청"); 꼭~부탁드립니다~~
프로필 이미지
째일
2023-03-29
874
글번호 167624
시스템

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2023-03-28
591
글번호 167621
지표
답변완료

문의합니다.

바쁜 업무에 항상 빠른 대응 감사합니다. 아래 지표식을 부탁합니다. 1) 일봉에서 월봉의 시가/저가/고가 2) 임의의 변수 AA,BB가 있으며 아래의 수식을 지표식으로 부탁합니다. LowestSince(1, CrossDown(BB,20), AA); 3) 임의의 변수 AA,BB가 있으며 아래의 수식을 지표식으로 부탁합니다. HighestSince(1, CrossUp(BB,20), AA); ■ LowestSince(n,condition,data) => condition이 n번째 만족된이후data의 최저가 ■ HighestSince(n,condition,data) => condition이 n번째 만족된이후data의 최고가 감사합니다.~~^^
프로필 이미지
배움이
2023-03-28
1220
글번호 167617
지표
답변완료

수식 문의 드립니다

매수: 5이평선 상향시 매수 매도 : RSI(9) 가 60 이상이고 매수 가격보다 당일 1415시 가격이 + 가격이면 아침 시가 즉시 매도 매도 : RSI(9) 가 60 이하이고 매수 가격보다 당일 1415시 가격이 - 가격이면 당일 1415시 즉시매도
프로필 이미지
회원
2023-03-28
1263
글번호 167611
시스템

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

프로필 이미지
고성
2023-03-28
12
글번호 167610
지표
답변완료

수식작성 부탁드립니다.

안녕하세요. 운영자님 아래와 같은 트레이딩뷰 수식을 예스트레이더 수식으로 변환 부탁드립니다. 감사합니다. //@version=4 study("Mobo Bands", overlay=false) price = input(hl2, "Price") colorNormLength = input(3, "colorNormLength", input.integer) dpoLength = input(13, "dpoLength", input.integer) moboDisplace = input(0, "moboDisplace", input.integer) moboLength = input(10, "moboLength", input.integer) numDevDn = input(-0.8, "numDevDn", input.float) numDevUp = input(0.8, "numDevUp", input.float) coloredMobo = input(true, "coloredMobo") coloredFill = input(true, "coloredFill") breakArrows = input(true, "breakArrows") moboShowMid = input(true, "moboShowMid") //def DPO = price - Average(price[DPO_length / 2 + 1], DPO_length); xsma = sma(price[dpoLength / 2 + 1], dpoLength) //xsma = sma(price, dpoLength) DPO = price - xsma Midline = sma(DPO, moboLength) sDev = stdev(DPO, moboLength) LowerBand = Midline + numDevDn * sDev UpperBand = Midline + numDevUp * sDev plot(DPO, color=color.yellow,linewidth=2) plot(Midline, color=Midline > Midline[1] ? color.lime : color.red,linewidth=2) Upper = plot(UpperBand, color=color.black,linewidth=1) Lower = plot(LowerBand, color=color.black,linewidth=1) plot(0, color=color.white,linewidth=1) Signal1 = DPO > UpperBand and DPO[1] < UpperBand[1] Signal2 = DPO < LowerBand and DPO[1] > LowerBand[1] wasUp = 1 wasDn = 1 wasUp := Signal1 ? 1 : (Signal2 ? 0 : nz(wasUp[1])) wasDn := Signal2 ? 1 : (Signal1 ? 0 : nz(wasDn[1])) //plotshape(Signal1 and wasDn[1] ? UpperBand : na, style=shape.arrowup, location=location.absolute, size=size.normal, color=color.red) //plotshape(Signal2 and wasUp[1] ? LowerBand : na, style=shape.arrowdown, location=location.absolute, size=size.normal, color=color.green) plotshape(Signal1 and wasDn[1] ? UpperBand : na, style=shape.labelup, location=location.absolute, size=size.normal, color=color.green, text="Buy",textcolor=color.white) plotshape(Signal2 and wasUp[1] ? LowerBand : na, style=shape.labeldown, location=location.absolute, size=size.normal, color=color.red, text="Sell",textcolor=color.white) fill(Upper, Lower, color=color.purple) alertcondition(Signal1 and wasDn[1], "Break Out Arrow", "Break Out Arrow") alertcondition(Signal2 and wasUp[1], "Break Down Arrow", "Break Down Arrow")
프로필 이미지
고박사122
2023-03-28
1295
글번호 167609
지표
답변완료

문의 드립니다.

아래에서 수량 추가 할 수 있도록 부탁드립니다. input : 익절틱수(20); var1 = BollBandUp(20,2); Var2 = BollBandDown(20,2); if CrossUp(c,var1) Then Buy(); if CrossDown(c,var1) Then ExitLong(); if CrossDown(c,var2) Then Sell(); if CrossUp(c,var2) Then ExitShort(); SetStopProfittarget(PriceScale*익절틱수,PointStop);
프로필 이미지
선물대장
2023-03-28
1442
글번호 167608
시스템
답변완료

질문이 많아 죄송합니다.

밑에 식의 문제가 이익볼때는 몇번이고 계속 이익보고 손실볼때는 몇번이고 계속 손실보는데요. 이번 매매 손실보면 다음번 매매부터 매수매도를 토글 시킬는 시스템을 구현할수 도 있나요?(손실 청산하고 조금 텀을 주더라도) 항상 감사드립니다. 항상 행복하고 건강하시길 바랍니다~^^ ↓↓##전번에 알려주신 지그재그식 ##↓↓ input : Period(5); Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열 Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열 var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0),HTX(0),LTX(0); HPrice = H; LPrice = L; if Index == 0 Then { //초기 최고값 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //초기 최저값 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } Else { UpTrend = HPrice >= Highest(HPrice,Period)[1]; DownTrend = LPrice <= Lowest(LPrice,Period)[1]; //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; Buy(); //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //직전 저점에서 현재 고점까지 연결선 출력 ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); //색상은 Red TL_SetColor(ZigZagTL,Gray); //추세선 굵기는 1 TL_SetSize(ZigZagTL,1); HTL = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL_SetColor(HTL,Red); HTX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0],2)); Text_SetStyle(HTX,2,1); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; Sell(); //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //직전 고점에서 현재 저점까지 연결선 출력 ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); //색상은 Blue TL_SetColor(ZigZagTL,Gray); //굴긱는 1 TL_SetSize(ZigZagTL,1); LTL = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(LTL,Blue); LTX = text_new(LD[0],LT[0],LV[0],NumToStr(LV[0],2)); Text_SetStyle(LTX,2,0); } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); //고점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(HTL,HD[0],HT[0],HV[0]); Text_SetString(HTX,NumToStr(HV[0],2)); Text_SetLocation(HTX,HD[0],HT[0],HV[0]); } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); //저점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(LTL,LD[0],LT[0],LV[0]); Text_SetString(LTX,NumToStr(LV[0],2)); Text_SetLocation(LTX,LD[0],LT[0],LV[0]); } } TL_SetEnd(HTL,sDate,sTime,HV[0]); TL_SetEnd(LTL,sDate,sTime,LV[0]); } }
프로필 이미지
말비
2023-03-28
1811
글번호 167601
시스템