커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

DMI에서 D+와 D- 차이를 비율로 표시하여 D+가 D-보다 20%이상 크다면 작은 양의 막대를 35%이상이면 큰 막대로 50%이상이면 더 큰 막대로 색깔은 빨강으로 표현하게 해 주세요.(사진대로) D-가 D+보다 20%이상 크다면 작은 양의 막대를 35%이상이면 큰 막대로 50%이상이면 더 큰 막대로 표현 색깔은 파란색으로 표현하게 해 주세요. 그리고 이 비율도 조정할수 있게 해 주세요. 감사합니다.
프로필 이미지
디엠
2024-01-01
916
글번호 175326
지표
답변완료

부탁드립니다.

적용 가능하도록 변형 부탁 드립니다 a = input(10, "Percent K Length") b = input(3, "Percent D Length") ob = input(40, "Overbought") os = input(-40, "Oversold") // Range Calculation ll = lowest (low, a) hh = highest (high, a) diff = hh - ll rdiff = close - (hh+ll)/2 avgrel = ema(ema(rdiff,b),b) avgdiff = ema(ema(diff,b),b) // SMI calculations SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0 SMIsignal = ema(SMI,b) emasignal = ema(SMI, 10) h0 = hline(40) h1 = hline(-40) //Color Definition for Stochastic Line //col = SMI >= 40 ? green : SMI <= -40 ? red : black plot(SMIsignal, title="Stochastic", style=line, color=black) plot(emasignal, title="EMA", style=line, color=red) level_40 = 40 level_40smi = SMIsignal > level_40 ? SMIsignal : level_40 level_m40 = -40 level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40 p1 = plot(level_40) p2 = plot(level_40smi) p3 = plot(level_m40) p4 = plot(level_m40smi) fill(p1, p2, color=red, transp=40, title='OverSold') fill(p3, p4, color=green, transp=40, title='OverBought')
프로필 이미지
다올
2023-12-31
982
글번호 175325
지표

234fsdae 님에 의해서 삭제되었습니다.

프로필 이미지
234fsdae
2023-12-31
360
글번호 175324
시스템

234fsdae 님에 의해서 삭제되었습니다.

프로필 이미지
234fsdae
2023-12-31
434
글번호 175323
시스템

234fsdae 님에 의해서 삭제되었습니다.

프로필 이미지
234fsdae
2023-12-31
413
글번호 175322
시스템
답변완료

macd box 지표쪽

Input : shortPeriod(36), longPeriod(78), Period(15),val(-0.08); Var : MACDv(0), MACDsig(0),T(0),TL(0),Box(0); MACDv = MACD(shortPeriod, longPeriod); MACDsig = ma(MACDv,Period); if macdsig > macdsig [1] Then T = 1; if macdsig < macdsig [1] Then T = -1; Plot1 (macdsig ,"macdsig",IFF(T == 1,Red,Blue)); plot2 (-0.08); if T == 1 and T != T[1] and MACDsig <= val Then { TL = TL_New_Self(sDate,sTime,-0.08,sDate,sTime,999); TL_SetColor(TL,Red); TL_SetSize(TL,0.5); } Condition1 = macdsig <= val; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New_Self(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,Yellow); Box_SetFill(box,true,70); Box_SetExtFill(box,true); TL = TL_New_Self(sDate,sTime,-0.08,sDate,sTime,999); TL_SetColor(TL,Lime); TL_SetSize(TL,3); } Else Box_SetEnd(Box,NextBarSdate,NextBarStime,L); } 전체 박스에서 차트 쪽은 지우고 지표 쪽만 박스 표시. 감사합니다.
프로필 이미지
고성
2024-01-02
1295
글번호 175321
지표

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

프로필 이미지
2wnwn
2024-01-01
13
글번호 175320
지표
답변완료

문의 드립니다

input : StartTime(0000),EndTime(0000); input : 익절틱수(0),손절틱수(0); var : Tcond(False),entry(0); Variables: Mom(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then { if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*1 Then { Buy("b",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); } if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*1 Then { Sell("s",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*10 Then { Buy("b1",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*10 Then { Sell("s1",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*10 Then { Buy("b2",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*10 Then { Sell("s2",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*1 Then { Buy("b3",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*1 Then { Sell("s3",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*10 Then { Buy("b4",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*10 Then { Sell("s4",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); if L ==lowest(L,1) and highest(H,3) >= lowest(L,2)+PriceScale*10 Then { Buy("b5",AtStop,(highest(H,3)+lowest(L,1))/2); } if MarketPosition == 1 and BarsSinceEntry == 9 Then Sell(); if H == highest(H,1) and lowest(L,3) <= highest(H,2)+PriceScale*10 Then { Sell("s5",AtStop,(lowest(L,3)+highest(H,1))/2); } if MarketPosition == -1 and BarsSinceEntry == 9 Then Buy(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); ----------------- 위 수식어의 결과값을 첨부파일로 보면 참 만족스러운데 일봉매매의 특성상 현실적으로 전일잔고 미인식으로 귀사가 말씀하셨듯이 수식어의 일봉매매는 별 의미가 없습니다. 해서 장중 매매 신호발생시 미니 매수, 매도창에 2회클릭으로 체결이 되는 방법이 수식어 수정으로 가능한지 문의 해 봅니다. 이것이 불가하다면 매매신호의 음성인식후 마우스의 수동 조작이 된다면 어쩔수 없는 선택지로 받아 드리겠습니다.
프로필 이미지
푸른
2023-12-30
1434
글번호 175319
시스템
답변완료

85169 수식 추가 부탁드립니다

당일부터 시작되는 종가 파라볼릭차트에서 최근 3개 천정(천정A~천정B..천정B~천정C)을 연결하는 선과 그 연장선 그리고 최근 3개 바닥(바닥D~바닥E..바닥E~바닥F)을 연결하는 선과 그 연장선 부탁드립니다. 그리고 위 수식을 당일부터 시작되는 종가 파라볼릭이 아닌 연속적으로 사용되는 일반적인 종가 파라볼릭 수식도 같이 부탁드립니다 감사합니다
프로필 이미지
para
2023-12-31
1041
글번호 175318
지표