커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표 부탁드립니다

안녕하세요 항셍 시가선 및 상,하 50틱선,100틱선 부탁드립니다 고맙습니다
프로필 이미지
라몬
2021-11-17
831
글번호 153664
지표
답변완료

타주기참조식(스톡캐스틱)

60분봉에서의 스톡캐스틱을 5분봉에 나타내는 지표식을 구합니다 감사합니다
프로필 이미지
느림보
2021-11-17
617
글번호 153656
지표
답변완료

수식 질문드립니다.

삼성전자의 체결강도를 선물의 보조지표로 넣을수있나요? 서버로부터 과거 data도 넣을수있나요? 감사합니다.
프로필 이미지
캣피쉬
2021-11-17
563
글번호 153655
지표
답변완료

문의드립니다.

60일동안 연속 거래량이 5만주 이하였다가 오늘 10만주 이상되는 검색이 궁급합니다.
프로필 이미지
확실한수익
2021-11-16
636
글번호 153654
종목검색
답변완료

함수요청

안녕하세요? 아래 글번호 74226번과 74517번에 작성 주신 스크립트 중 조건이 먼저 충족되는 것으로 신호를 생성하여 매매를 하고 싶습니다. 당일에 74226번에 답변주신 스크립트와 74517번에 답변주신 스크립트를 한개의 스크립트로 작성하여 먼저 조건이 충족되면 조건된 충족에 의해 신호를 생성하게 스크립트 작성 요청드립니다. (동일한 상품과 주기에 사용할 것입니다. 글번호 74674번에서 요청드린 지표에 맞춰서 작성된 조건을 이용 고점저점매매를 할 것입니다.) [74226번] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); Input : Period1(12),Period2(26),Period3(9); var : Didx(0),dEP1(0),dEP2(0),dEP3(0); Var : dJISU1(0), PredJISU1(0); Var : dJISU2(0), PredJISU2(0); var : dMACDV(0), predMACDV(0); Var : dMACDS(0), PredMACDS(0); var : dMACDO(0), predMACDO1(0), predMACDO2(0); dEp1 = 2/(Period1+1); dEp2 = 2/(Period2+1); dEp3 = 2/(Period3+1); if bdate != bdate[1] Then { Didx = Didx + 1; PredJISU1 = dJISU1[1]; PredJISU2 = dJISU2[1]; PredMACDV = dMACDV[1]; PredMACDS = dMACDS[1]; PredMACDO1 = dMACDO[1]; PredMACDO2 = PredMACDO1[1]; } if Didx <= 1 then { dJISU1 = C; dJISU2 = C; dMACDV = dJISU1-dJISU2; dMACDS = dMACDV; dMACDO = dMACDV-dMACDS; } else{ dJISU1 = C * dEP1 + PredJISU1 * (1-dEP1); dJISU2 = C * dEP2 + PredJISU2 * (1-dEP2); dMACDV = dJISU1-dJISU2; dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3); dMACDO = dMACDV-dMACDS; } MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; if MACDO > 0 Then { T = 1; HH = H; LL = L; } if MACDO < 0 Then { T = -1; HH = H; LL = L; } } Else { if T != 0 Then { if H > HH Then HH = H; if L < LL Then LL = L; } if T == 1 and MACDO < 0 Then { T = 2; var1 = HH; Var2 = LL; } if T == -1 and MACDO > 0 Then { T = -2; var1 = HH; Var2 = LL; } if T == 2 and MarketPosition == 0 and predMACDO1 > 0 and predMACDO2 > 0 and predMACDO1 > predMACDO2 and sTime < 151500 Then Buy("b1",AtStop,var1); if T == 2 and MarketPosition == 0 and predMACDO1 > 0 and predMACDO2 > 0 and predMACDO1 < predMACDO2 and sTime < 151500 Then Buy("b2",AtLimit,var2); if T == 2 and MarketPosition == 1 Then T = 3; if T == -2 and MarketPosition == 0 and predMACDO1 < 0 and predMACDO2 < 0 and predMACDO1 < predMACDO2 and sTime < 151500 Then Sell("s1",AtStop,Var2); if T == -2 and MarketPosition == 0 and predMACDO1 < 0 and predMACDO2 < 0 and predMACDO1 > predMACDO2 and sTime < 151500 Then Sell("s2",AtLimit,Var1); if T == -2 and MarketPosition == -1 Then T = -3; if MarketPosition == 1 and BarsSinceEntry >= 1 and DayClose(1) > DayOpen(1) and C > DayHigh(1) Then ExitLong("bx1",AtMarket); if MarketPosition == -1 and BarsSinceEntry >= 1 and DayClose(1) < DayOpen(1) and C < DayLow(1) Then ExitShort("sx1",AtMarket); if sTime == 151500 Then { if MarketPosition == 1 Then ExitLong("bx2",AtMarket); if MarketPosition == -1 Then ExitShort("sx2",AtMarket); } } [74517번] Input : Period1(12),Period2(26),Period3(9); var : Didx(0),dEP1(0),dEP2(0),dEP3(0); Var : dJISU1(0), PredJISU1(0); Var : dJISU2(0), PredJISU2(0); var : dMACDV(0), predMACDV(0); Var : dMACDS(0), PredMACDS(0); var : dMACDO(0), predMACDO(0), predMACDO1(0); dEp1 = 2/(Period1+1); dEp2 = 2/(Period2+1); dEp3 = 2/(Period3+1); if bdate != bdate[1] Then { Didx = Didx + 1; PredJISU1 = dJISU1[1]; PredJISU2 = dJISU2[1]; PredMACDV = dMACDV[1]; PredMACDS = dMACDS[1]; PredMACDO = dMACDO[1]; PredMACDO1 = PredMACDO[1]; } if Didx <= 1 then { dJISU1 = C; dJISU2 = C; dMACDV = dJISU1-dJISU2; dMACDS = dMACDV; dMACDO = dMACDV-dMACDS; } else{ dJISU1 = C * dEP1 + PredJISU1 * (1-dEP1); dJISU2 = C * dEP2 + PredJISU2 * (1-dEP2); dMACDV = dJISU1-dJISU2; dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3); dMACDO = dMACDV-dMACDS; } Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = macdo; LL = macdo; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } if Condition1 == true Then { if predMACDO > 0 and predMACDO1 > 0 and predMACDO > predMACDO1 Then Buy("b1",AtStop,var1); if predMACDO < 0 and predMACDO1 < 0 and predMACDO < predMACDO1 Then Sell("s1",AtStop,var2); if predMACDO > 0 and predMACDO1 > 0 and predMACDO < predMACDO1 Then Buy("b2",AtLimit,var2); if predMACDO < 0 and predMACDO1 < 0 and predMACDO > predMACDO1 Then Sell("s2",AtLimit,var1); } SetStopEndofday(151500);
프로필 이미지
흰둥이아빠
2021-11-16
531
글번호 153653
시스템
답변완료

함수요청

안녕하세요? 아래 글번호 74425번과 74517번에 작성 주신 수식 중 조건이 먼저 충족되는 것으로 지표를 그리고 싶습니다. 당일에 74225번에 답변주신 수식과 74517번에 답변주신 수식을 한개의 수식으로 작성하여 먼저 조건이 충족되면 각 1개의 고점과 저점을 그릴 수 있도록 부탁드립니다. [74425번] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HH = H; LL = L; } if MACDO < 0 Then { T = -1; HH = H; LL = L; } } Else { if ABS(T) < 2 Then { if H > HH Then HH = H; if L < LL Then LL = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HH; Var2 = LL; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HH; Var2 = LL; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [74517번] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = macdo; LL = macdo; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
프로필 이미지
흰둥이아빠
2021-11-16
540
글번호 153652
지표

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2021-11-17
8
글번호 153651
시스템
답변완료

지수갭3

아래 수식에서 지수갭의 기준은 월물옵션 만기일 다음날 금요일 종가입니다. 다른 날들은 거래하는 기준이 있어서 문제가 없는데 기준일 금요일은 거래하는 기준이 없게 됩니다. 금요일 거래를 처리하는 방식을 2가지로 나누어 수식을 적용하고자 합니다. 1. 기준일 금요일은 거래하지 않는 수식 2. 기준일 금요일에 한해 전일 만기일 종가를 기준으로 적용하는 수식 두 가지를 부탁드리겠습니다. *************************************************************************** input: 지수갭1(5.50),지수갭2(2.50),시가대비(1.00); var : month(0,Data2),nday(0,Data2),week(0,data2); var : X(False,Data2),cond(False,Data2); var : DD(0,Data2),C2(0,Data2); month = data2(int(date/100)-int(date/10000)*100); nday = data2(date - int(date/100)*100); Week = data2(DayOfWeek(date)); #옵션만기일 if (nday >= 8 and nday <= 14 and week == 4) then X = true; Else X = False; if data2(bdate != Bdate[1]) Then { if X == false and X[1] == true Then { C2 = 0; cond = true; dd = 0; } if cond ==true Then dd = dd+1; } #만기다음날 Data2 종가 if cond == true and dd == 1 Then C2 = data2(C); if C2 > 0 and 지수갭1 > Data2(Opend(0)-C2) and Data2(Opend(0)-C2) > 지수갭2 and c > dayopen + 시가대비 then buy();
프로필 이미지
목마와숙녀
2021-12-16
588
글번호 153645
시스템

목마와숙녀 님에 의해서 삭제되었습니다.

프로필 이미지
목마와숙녀
2021-11-16
0
글번호 153639
시스템