커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 검토 부탁합니다.

아래식의 의도는 기본 시장과 data2의 시장의 스프레드를 평균화한 지표를 만드는 것입니다. input:shortp(5),longp(20),StartTime(90000),EndTime(152000); Vars:CH(0),CL(0),spread(0),Tcond(false); if (stime >= StartTime) and (stime <= endTime) Then { Tcond = true; spread = (C/(H/L))/(data2(C)/(data2(H)/data2(L))); } if (stime < StartTime) or (stime > endTime) Then { Tcond = False; } if Tcond == true Then { spread = spread; } if Tcond == false Then { spread = 1; } CH =ma(spread,shortp); CL =ma(spread,longp); Var1=CH-CL; Plot1(var1,"SPREAD"); 특정시간대의 스프레드는 무의미하다고 보고 1로 고정시키고 그 외의 시간대의 평균을 구하고 싶으나 위의 식대로 하면 무의미한 직선의 형태로 고정되어 나타납니다. 수정 가능한지 여부와 ma(평균)에서 특정 시간대를 제외하는 방식으로 식이 가능한지 여부도 알고 싶습니다. 그리고 어제의 특정 시간대의 가격을 소환하는 지표수식 부탁드립니다. 감사합니다.
프로필 이미지
마녀58
2023-11-18
1465
글번호 174181
지표
답변완료

수식요청드려요

현재 주가 기준으로 100봉간 주가 등락폭 위로15% 아래로15% 이내
프로필 이미지
234fsdae
2023-11-18
1342
글번호 174180
종목검색
답변완료

문의드립니다...

질문자 수식을 인용한 내용인데, 나름대로 지표에 적용을 해보았습니다.. 지료의 의미에 대해서 죄송하지만 설명부탁좀 드립니다... input : length(20),BB_mult(2.0); var : BB_basis(0),dev(0),BB_upper(0),BB_lower(0); BB_basis = ma(close, length); dev = BB_mult * std(close, length); BB_upper = BB_basis + dev; BB_lower = BB_basis - dev; input : KC_mult_high(1.0); input : KC_mult_mid(1.5); input : KC_mult_low(2.0); var : KC_basis(0),devKC(0); var : KC_upper_high(0),KC_lower_high(0); var : KC_upper_mid(0),KC_lower_mid(0); var : KC_upper_low(0),KC_lower_low(0); var : NoSqz(False),LowSqz(False),MidSqz(False),HighSqz(False); var : mom(0),iff_1(0),iff_2(0),mom_color(0),sq_color(0); KC_basis = ma(close, length); devKC = ma(TrueRange, length); KC_upper_high = KC_basis + devKC * KC_mult_high; KC_lower_high = KC_basis - devKC * KC_mult_high; KC_upper_mid = KC_basis + devKC * KC_mult_mid; KC_lower_mid = KC_basis - devKC * KC_mult_mid; KC_upper_low = KC_basis + devKC * KC_mult_low; KC_lower_low = KC_basis - devKC * KC_mult_low; //SQUEEZE CONDITIONS NoSqz = BB_lower < KC_lower_low or BB_upper > KC_upper_low; //NO SQUEEZE: GREEN LowSqz = BB_lower >= KC_lower_low or BB_upper <= KC_upper_low; //LOW COMPRESSION: BLACK MidSqz = BB_lower >= KC_lower_mid or BB_upper <= KC_upper_mid ;//MID COMPRESSION: RED HighSqz = BB_lower >= KC_lower_high or BB_upper <= KC_upper_high; //HIGH COMPRESSION: ORANGE //MOMENTUM OSCILLATOR mom = LRL(close - avg(avg(highest(high, length), lowest(low, length)),ma(close, length)), length); //MOMENTUM HISTOGRAM COLOR iff_1 = iff(mom > iff(isnan(mom[1])==true,0,mom[1]) , Cyan , Blue); iff_2 = iff(mom < iff(isnan(mom[1])==true,0,mom[1]) , red , yellow); mom_color = iff(mom > 0 , iff_1 , iff_2); //SQUEEZE DOTS COLOR sq_color = iff(HighSqz , orange ,IFf(MidSqz , red ,IFf(LowSqz , black , green))); //PLOTS plot1(mom, "MOM",mom_color); plot2(0, "SQZ", sq_color);
프로필 이미지
서민순
2023-11-18
1179
글번호 174179
지표
답변완료

수식부탁드립니다

아래수식은 지수가 전봉L을 하향돌파하면서 지수가 현재봉L과 닿을때 소리음을 나게하는 수식입니다 Input: Period1(1); Variables: TLen1(0),TRIma1(0),; TLen1 = Ceiling((Period1 + 1) * .5); TRIma1 =Ema(Ema(C, TLen1), TLen1); if TRIma1 < L[1] and TRIma1 == L then begin PlaySound("C:₩Users₩kim₩Desktop₩소리₩도.wav"); end else NoPlot(1); 그런데 이수식을 전봉L을 하향돌파하고 지수가 현재봉L과 닿으면서 그리고 지수가 현재봉 최L을 하향돌파할때 소리음이 나게하고 싶습니다 부탁드립니다 감사합니다
프로필 이미지
bestkim
2023-11-18
1182
글번호 174178
검색
답변완료

수식검토 부탁드립니다.

수고 많으십니다. Main.MessageList("손익=",PL7,"청산=",woo1,"현재가=",Cu7,"포지션 =",po7,"목표수익=",moksu); if ( po7 == 1 && Cu7 >=woo1)ll( po7 == 1 && Cu7 >=moksu) //만약 계좌의 포지션이 매도이고 현재가격(Cu7)이 woo1보다 크거나 같으면 매수청산 또는(or) 현재가격이 moksu보다 크거나 같으면 매수청산 ID7 = Account7.OrderBuy(MarketData1.code,vo7, 0, 1); //전량 시장가로 매수주문(청산) 및 ID7에 주문아이디 저장 질문) 위 수식에서 (or) 논리연산자 표시가 영어소문자 (ㅣㅣ)엘 두개가 맞는지와 (or) 논리연산자를 if ( po7 == 1 && Cu7 >=woo1)ll( po7 == 1 && Cu7 >=moksu) 수식이 맞는지 검토 부탁드립니다. 바쁘신데 항상 감사드립니다.
프로필 이미지
멋진감자
2023-11-18
999
글번호 174177
시스템
답변완료

문의 드립니다.

하락하다가 전봉의 고가를 돌파하면 매수 진입 청산은 전봉의 저가를 아래로 돌파 시 매도 청산 상승하다가 전봉의 저가를 아래로 돌파 하면 매도 진입 청산은 전봉의 고가를 위로 돌파 시 매수 청산 부탁드립니다
프로필 이미지
선물대장
2023-11-17
908
글번호 174172
시스템
답변완료

수식추가

안녕하세요 수식추가 부탁드림니다 아라식에서 볼밴 상.하단폭이 100틱이내에서 횡보후 상단으로 돌파시 매수 하단으로 돌파시 매도 Inputs : Period(170), Sence(1.3), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); /*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red); else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue); */ end; input : P(10),short(12),long(26),sig(9); var : mav(0),macdo(0),T(0); mav = ma(C,P); MACDo = MACD_OSC(short,long,sig); if T <= 0 and upwave[1] and c > mav and macdo > 0 Then { t =1; Buy(); } if T >= 0 and dnwave[1] and c < mav and macdo < 0 Then { T = -1; Sell(); }
프로필 이미지
아트정
2023-11-17
1213
글번호 174171
시스템
답변완료

문의드립니다.

A = 볼린저밴드 상단값 B = 볼린저밴드 하단값 C = 볼린저밴드 중간값 매수식: 무포지션에서 L[1] <= B and H[1] > B and C > C[1] and C > B 이면 4계약 매수합니다. 이 때 매수가격을 매수가격 D 라고 합니다. 이 때 매수봉의 저가가 손절가 F 라고 합니다. 손절청산: 매수후 종가가 아닌 현재가가 손절가 F 를 하향하면 전부 손절청산합니다. 이익청산후 손절가 보정: 매수후 80틱 이익이 나면 2계약을 일부 매도하고 손절가 F = 매수가격 D 로 손절가를 수정합니다. 이후 남은 2계약 청산: 종가가 아닌 현재가가 보정된 손절가 F 를 하향하면 전부 청산하고 이익이 계속 나서 종가가 아닌 현재가가 볼린저 밴드 상단값 A 위로 올라가면 전부 이익 청산합니다. 매도수식: 반대논리로 부탁드립니다.
프로필 이미지
종호
2023-11-17
1040
글번호 174170
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2023-11-17
104
글번호 174157
지표