커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

함수요청

안녕하세요? 아래 전략에 스크립트 작성 요청드립니다. 골드선물 5분봉으로 거래를 하고자 합니다. 매수: 볼린저밴드 상단과 하단이 동시에 2번 연속 상방각이면서 종가가 중심선 위에서 양봉 마감시 익봉시가에 진입 매도: 볼린저밴드 상단과 하단이 동시에 2번 연속 하방각이면서 종가가 중심선 아래에서 음봉 마감시 익봉시가에 진입 매수청산: 매수진입 이후 (볼린저밴드 하단은 직전 봉의 볼린저밴드 하단보다 높은 적이 있고 볼린저밴드 상단은 5번 연속 상승하다 하락으로 전환) 하거나 중심선을 두번 연속 하향 이탈시 익봉 시가에 청산 매도청산: 매도진입 이후 (볼린저밴드 상단은 직전 봉의 볼린저밴드 상단보다 높은 적이 있고 볼린저밴드 하단은 5번 연속 하락하다 상락으로 전환) 하거나 중심선을 두번 연속 상향 돌파시 익봉 시가에 청산
프로필 이미지
흰둥이아빠
2020-04-28
1043
글번호 138469
시스템
답변완료

수평선

항상감사합니다. 분봉에서 오늘만 전일고가를 수평선을 표시하고 싶습니다.
프로필 이미지
디딤돌
2020-04-28
1182
글번호 138467
지표
답변완료

90틱 에서 지표 부탁 합니다.

90틱에서 5분봉의 20선의 값을 수평선으로 표시하고자 합니다. 20선의 이평선을 실시간 수평선으로 표시가 가능하면 지표 부탁 드립니다.
프로필 이미지
오늘도수익
2020-04-28
1149
글번호 138458
지표
답변완료

수식문의드립니다

a=ma(c,n,단순)-ma(c,n1,단순); b=ma(a,signal); R=tema(a,signal); crossup(b,R) and c>c(1) and v>v(1) and c>o 지표변수 n 5 n1 63 signal 10 ======================= 종목검색 할수있게 부탁드립니다...^^
프로필 이미지
나호이다
2020-04-28
1121
글번호 138455
종목검색
답변완료

서식부탁드립니다

알려주신 내용으로 다음과 같이 1번;가격등락, 2번;수량등락으로 작성해 봤는데 잘 안되어 잘못된 부분 수정 부탁드립니다 감사합니다 < 1번 > 가격 Input : P(2) ; Var : V1(0,data2); if (L == LowD(0)) Then if MarketPosition == 1 then { if DATA2(C > LowD(0)+1000) Then BUY("매수"); } if (H == highD(0)) Then if MarketPosition == 1 then { if DATA2(C < highD(0)-1000) Then Exitlong("청산"); } < 2번 > 수량등락 Input : P(2); Var : V1(0,data2); if (L == LowD(0)) Then V1 = data2(Bids-asks); if MarketPosition == 1 then { if Data2(Bids-asks) >= LowD(0)+1000 Then Buy("매수"); } if (H == HighD(0)) Then V1 = data2(Bids-asks); if MarketPosition == 1 then { if (Bids-asks) <= HighD(0)-1000 Then Exitlong("청산"); }
프로필 이미지
dkfvkrh7
2020-04-28
1049
글번호 138451
지표
답변완료

함수요청

안녕하세요? 아래글번호 67223번 재질문입니다. 답변주신 스크립트를 항셍선물에 적용하고 싶습니다. T장인 10시 15분을 시초가로 하여 17시까지를 진입기준으로 신호를 생성하고 싶습니다. input : P(100); var1 = ma(C,P); if crossup(c,var1) and O > C[1] Then buy(); if CrossDown(c,var1) and O < C[1] Then sell();
프로필 이미지
흰둥이아빠
2020-04-28
1042
글번호 138449
시스템
답변완료

문의 드립니다!!!

매번 수고해주심에 항상 감사드립니다 ^^ 아래수식에서 "세로선"과 "봉갯수를 표시하는 숫자"만 삭제해주시면 감사하겠습니다!!! --------------------------------------------------------------------------------- input : af(0.02), maxAF(0.2); input : 텍스트출력(1),선굵기(2); var : T(0),cnt(0),count(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0); var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0); Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0); Array : HI[20](0),LI[20](0); var1 = CSar(af,maxAF); if bdate != bdate[1] Then { day0 = sdate; day1 = day0[1]; } if crossup(c,var1) Then { T = 1; HH[0] = H; HD[0] = sdate; HT[0] = stime; HI[0] = index; for cnt = 1 to 19 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; } if LL[0] > 0 Then { if 텍스트출력 == 1 then { Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2)); Text_SetStyle(tx11,2,1); Text_SetColor(tx11,BLUE); Text_Delete(tx1); Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2)); Text_SetStyle(tx1,2,1); Text_SetColor(tx1,blue); Condition1 = false; for cnt = 1 to 19 { if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition1 = true; TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL1,선굵기); TL_SetColor(TL1,WHITE); idx = abs(LI[0]-LI[cnt]); tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx99,BLUE); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); } } TL_New(sdate,stime,99999999,sdate,stime,0); } } } if CrossDown(c,var1) Then { T = -1; LL[0] = L; LD[0] = sdate; LT[0] = stime; LI[0] = index; for cnt = 1 to 19 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } if HH[0] > 0 Then { if 텍스트출력 == 1 then { Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2)); Text_SetStyle(tx22,2,0); Text_SetColor(tx22,RED); Text_Delete(tx2); Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2)); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,MAGENTA); Condition2 = false; for cnt = 1 to 19 { if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition2 = true; TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL2,선굵기); TL_SetColor(TL2,WHITE); idx = abs(HI[0]-HI[cnt]); tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx99,BLUE); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); } } } } } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; if 텍스트출력 == 1 then { Text_Delete(tx1); Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2)); Text_SetStyle(tx1,2,1); Text_SetColor(tx1,black); TL_Delete(TL3); Text_Delete(tx88); Condition3 = false; for cnt = 1 to 19 { if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,WHITE); idx = abs(HI[0]-HI[cnt]); tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx88,BLUE); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더₩data₩Sound₩kuk.wav"); } } } } } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; if 텍스트출력 == 1 then { Text_Delete(tx2); Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2)); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,red); TL_Delete(TL3); Condition3 = false; for cnt = 1 to 19 { if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,WHITE); idx = abs(LI[0]-LI[cnt]); tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx88,BLUE); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더₩data₩Sound₩kuk.wav"); } } } } }
프로필 이미지
유로파54
2020-04-28
1210
글번호 138445
지표
답변완료

두 변수의 합을 담는 함수가 출력이 안되요...

Input : minimumChange(50), mini(0.1); var : count(0), Wchange(0), change(0), after(0), mc(0), after1(0) ; mc = minimumChange; count = 1 ; while Abs(C-C[count]) < Wchange { count = count+1; } change = C - C[count] ; after1 = after + change ; after = after ; // value4는 거래 후 보유량 plot1(after1); plot2(change*100); plot3(after); 1번함수와, 2번함수는 출력이 되는데 3번함수는 출력이 안되네요.. 온갖 노력을 했지만 잘 안되서 문의드립니다.
프로필 이미지
스팟으로갈까
2020-04-28
1147
글번호 138444
사용자 함수
답변완료

번호67240 재질문입니다.

input :N1(1),카운팅시작일자(20200428), 카운팅시작시간(070000); input : n(13),x(8); var : Tcond(false),T(0),상승량(0), 하락량(0), 이평선(0), 상승(0), 하락(0),cnt(0); Array : V1[10](0),V2[10](0); var : idx(0),hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),tl4(0); if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then Tcond = true; if Tcond == true Then { if (sdate != sdate[1] and stime >= 카운팅시작시간) or (sdate == sdate[1] and stime >= 카운팅시작시간 and stime[1] < 카운팅시작시간) Then { var1 = 0; var2 = 0; 상승량 = 0; 하락량 = 0; } Condition1 = var1+V >var2+V[1] ; for cnt = 0 to N1-1{ IF O[cnt] < C[cnt] Then { IF H[cnt]-C[cnt] >=0.15 AND H[cnt]-C[cnt] > Abs(O[cnt]-C[cnt]) AND H[cnt]-C[cnt] >= O[cnt]-L[cnt] Then 하락량 = V[cnt]; ELse 상승량 = V[cnt]; } ELse IF O[cnt] > C[cnt] Then { IF C[cnt]-L[cnt] >=0.15 AND C[cnt]-L[cnt] > Abs(O[cnt]-C[cnt]) AND C[cnt]-L[cnt] >= H[cnt]-O[cnt] Then 상승량 = V[cnt]; ELse 하락량 = V[cnt]; } ELse { IF H[cnt]-C[cnt] < C[cnt]-L[cnt] Then 상승량 = V[cnt]; ELse IF H[cnt]-C[cnt] > C[cnt]-L[cnt] Then 하락량 = V[cnt]; ELse{ 하락량 = V[cnt]; 상승량 = V[cnt]; } } if dayindex >= 0 Then{ if C > O or (C == O and C >= C[1]) Then 상승량 =상승량+v; Else 하락량 = 하락량+v; value13=상승량-하락량; if value13 > value13[1] Then T = 1; if value13 < value13[1] Then T = -1; var21 = highest(H,n); var22 = lowest(L,n); Condition21 = C <= var21[1] and C >= var22[1]; if Condition21 == true and Condition21[1] == false Then { idx = 0; hh = c; ll = c; dd = sdate; tt = stime; } if Condition21 == true Then { idx = idx+1; if c > hh Then hh = c; if c < ll Then ll = c; if idx == x Then { tl1 = TL_New(dd,tt,hh,dd,tt,ll); tl2 = TL_New(dd,tt,hh,sdate,stime,hh); tl3 = TL_New(dd,tt,ll,sdate,stime,ll); tl4 = TL_New(sdate,stime,hh,sdate,stime,ll); } if idx > x Then { TL_SetBegin(tl1,dd,tt,hh); TL_SetEnd(tl1,dd,tt,ll); TL_SetBegin(tl2,dd,tt,hh); TL_SetEnd(tl2,sdate,stime,hh); TL_SetBegin(tl3,dd,tt,ll); TL_SetEnd(tl3,sdate,stime,ll); TL_SetBegin(tl4,sdate,stime,hh); TL_SetEnd(tl4,sdate,stime,ll); value21 = HH; value22 = LL; } } If hh <= C Then { TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); TL_SetColor(TL3,WHITE); TL_SetColor(TL4,WHITE); } Else { TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); TL_SetColor(TL3,WHITE); TL_SetColor(TL4,WHITE); } TL_SetSize(TL1,0); //좌측세로선 굵기 TL_SetSize(TL2,1); //상단가로선 굵기 TL_SetSize(TL3,1); //하측가로선 굵기 TL_SetSize(TL4,0); //우측세로선 굵기 TL_SetStyle(TL1,3); //좌측세로선 점선 TL_SetStyle(TL4,3); //우측세로선 점선 if Condition1[1]==true and T == 1 and Condition1[1]==True and crossup(value13,0) or crossup(C,value21) Then buy(); if Condition1[1]==true and T == -1 and Condition1[1]==True and crossdown(value13,0) or CrossDown(C,value22) Then sell(); }}} 1.상기그림에서 번호①②③은 수식조건에 충족함 2.번호④에서 수식조건에 매수 신호가 표현되어야함 수식및 시스템조건을 한번더 검토해주시면 대단히 감사하겠습니다 수고하세요
프로필 이미지
수색대대
2020-04-28
1280
글번호 138441
시스템