커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1752
글번호 230811
답변완료
수식문의드립니다
안녕하세요~
아래 수식 array, for 활용해 줄이려고 해봤는데
한것이 맞는지 확인 및 모르는 부분 답변 부탁드리겠습니다!
input : IB(1.5), OB(1.5), ML(12), L01(12163), L02(12139), L03(12115), L04(12091), L05(12067), L06(12043), L07(12019), L08(11995), L09(11973), L10(11949);
var : Bsystem(true), Ssystem(true);
if MarketPosition == 0 && condition11 == true && L <= L01 && C > L01-OB && C < L01+IB Then buy("b01");
if MarketPosition == 0 && condition12 == true && L <= L02 && C > L02-OB && C < L02+IB Then buy("b02");
if MarketPosition == 0 && condition13 == true && L <= L03 && C > L03-OB && C < L03+IB Then buy("b03");
if MarketPosition == 0 && condition14 == true && L <= L04 && C > L04-OB && C < L04+IB Then buy("b04");
if MarketPosition == 0 && condition15 == true && L <= L05 && C > L05-OB && C < L05+IB Then buy("b05");
if MarketPosition == 0 && condition16 == true && L <= L06 && C > L06-OB && C < L06+IB Then buy("b06");
if MarketPosition == 0 && condition17 == true && L <= L07 && C > L07-OB && C < L07+IB Then buy("b07");
if MarketPosition == 0 && condition18 == true && L <= L08 && C > L08-OB && C < L08+IB Then buy("b08");
if MarketPosition == 0 && condition19 == true && L <= L09 && C > L09-OB && C < L09+IB Then buy("b09");
if MarketPosition == 0 && condition10 == true && L <= L10 && C > L10-OB && C < L10+IB Then buy("b10");
1. input의 L1, L2, L3, ... 자동계산 (등간격, array 활용)
var : i(0);
array : LL[9](0);
LL[5] = 12067;
For i = 0 to 5 {LL[4-i] = LL[5-i] + 2*ML;}
For i = 5 to 9 {LL[i+1] = LL[i] - 2*ML;}
=> 중앙값 LL[5] 입력시, 위아래 등간격으로 자동 계산
=> 맞는지 확인 부탁드립니다
2. condition11, condition12, condition13, ... 한번에 처리
array : BC[9](False);
=> 이렇게 array 설정해 false 입력하면 실행문의 condition과 동일하게 처리되는지 확인 부탁드립니다
3. 실행문 반복문 처리
위에 1, 2가 맞다는 전제하에
var : i(0);
array : LL[9](0), BC[9](False);
LL[5] = 12067;
For i = 0 to 5 {LL[4-i] = LL[5-i] + 2*ML;}
For i = 5 to 9 {LL[i+1] = LL[i] - 2*ML;}
for i = 0 to 9
{
if marketposition == 0 && BC[i] == true && L <= L[i] && C > L[i]-OB && C < L[i]+IB then buy("b{i}");
}
=> 상단의 실행문을 이렇게 반복문으로 바꾸는게 맞는지 확인 부탁드립니다
=> buy("b{i}") 이 부분은 문자열인 "b01", "b02", "b03", ... 을 i로 어떻게 처리하는지 몰라 일단 저렇게 표시해놨는데, 이 부분도 숫자가 똑같이 증가하도록 가르쳐주시면 감사하겠습니다
감사합니다
2022-05-12
1405
글번호 158816
답변완료
문의 드립니다.
바쁘신 업무에 수고가 많으십니다.
항상 친절히 가르쳐 주셔셔 감사 드려요 ^^
하기 요청내용 업무협조 부탁 드립니다.
== 아 래 ==
A. 일목 전환선이 기준선을 상향 돌파
B. 일목 전환선이 엔벨로프 상단 저항선 돌파
C 1봉전 종가대비 0봉전 시가득락율 3% 이하
D 1봉전 종가대비 0봉전 종가득락율 3% 이상
※ A and B and C and D => 이런 기준으로 검색식 부탁 드립니다.
- 이 상 -
2022-05-12
1322
글번호 158815
답변완료
수식 변환 문의
수고하십니다.
아래 식을 yes language로 변환 가능한지요?
수고하세요...
##s.cript는 쓰기금지 단어라고 해서 s 다음에 점을 추가했으니 제외해 주세요##
혹시 몰라서 엑셀 파일로도 첨부 합니다
###########
input SFactor = 3.618; #SuperTrend Factor
input SPd = 5; #SuperTrend Length
input lenColoured = 18;
input lenSlow = 89; #Slow MA Length
input hideSuperTrend = yes;
def na = Double.Nan;
s.cript nz { ##s.cript는 쓰기금지 단어라고 해서 s 다음에 점을 추가했으니 제외해 주세요##
input data = 0;
input data2 = -1;
def ret_val = if IsNaN(data) then if data2 == -1 then 0 else data2 else data;
plot nz = ret_val;
}
def src = close;
def len = lenColoured;
plot ma_coloured = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) ; # Hull WMA = (2*WMA (n/2) ? WMA (n)), sqrt (n))
ma_coloured.setHiding(hideSuperTrend);
plot ma_slow = Expaverage(src,lenslow);
def clrdirection = if ma_coloured > ma_coloured[3] then 1 else if ma_coloured < ma_coloured[3] then -1 else nz(clrdirection[1],1);
# Supertrend Calculations
def SUp=hl2-(SFactor*atr(SPd));
def SDn=hl2+(SFactor*atr(SPd));
def STrendUp = if close[1] > nz(STrendUp[1],0) then max(SUp,nz(STrendUp[1],0)) else SUp;
def STrendDown = if close[1] < nz(STrendDown[1],0) then min(SDn,nz(STrendDown[1],0)) else SDn;
def STrend = if close > nz(STrendDown[1],0) then 1 else if close< nz(STrendUp[1],0) then -1 else nz(STrend[1],1);
def stbuy = if clrdirection == 1 and STrend==1 then nz(stbuy[1])+1 else 0;
def stsell = if clrdirection ==-1 and STrend==-1 then nz(stsell[1])+1 else 0;
plot long = If stbuy == 1 then Yes else no ;
long.hide();
plot short = if stSell == 1 then yes else no ;
short.hide();
plot LongLineMarker = if long then low else na;
LongLineMarker.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
LongLineMarker.SetDefaultColor(Color.Green);
plot ShortLineMarker = if short then High else na;
ShortLineMarker.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
ShortLineMarker.SetDefaultColor(Color.Red);
2022-05-15
1504
글번호 158814
답변완료
질문입니다
input : P1(5),P2(10),P3(20),P4(60),P5(120);
var : T(0),Xcond1(False),Xcond2(False),Xcond3(False),Xcond4(False),Xcond5(False);
var1 = WMa(C,P1);
var2 = WMa(C,P2);
var3 = WMa(C,P3);
var4 = WMa(C,P4);
var5 = WMa(C,P5);
Condition1 = var1 > Var2 and Var2 > Var3;
Condition2 = var1 < Var2 and Var2 < Var3;
if Condition1 == true Then
T = 1;
if Condition2 == true Then
T = -1;
if Condition1 == true and
Var3 > Var4 and Var3 > Var5 Then
Buy();
if MarketPosition == 1 Then
{
if T != T[1] and T == 1 Then
ExitLong();
if CurrentContracts > CurrentContracts[1] then
{
xcond1 = False;
xcond2 = False;
xcond3 = False;
xcond4 = False;
xcond5 = False;
}
if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "bx1" Then
Xcond1 = true;
if LatestExitName(0) == "bx2" Then
Xcond2 = true;
if LatestExitName(0) == "bx3" Then
Xcond3 = true;
if LatestExitName(0) == "bx4" Then
Xcond4 = true;
if LatestExitName(0) == "bx5" Then
Xcond5 = true;
}
if Xcond1 == False Then
ExitLong("bx1",AtStop,EntryPrice*0.99,"",1,1);
if Xcond2 == False Then
ExitLong("bx2",AtStop,EntryPrice*0.98,"",1,1);
if Xcond3 == False Then
ExitLong("bx3",AtStop,EntryPrice*0.97,"",1,1);
if Xcond4 == False and CrossDown(c,Var4) Then
ExitLong("bx4",OnClose,DEf,"",1,1);
if Xcond5 == False and CrossDown(c,Var5) Then
ExitLong("bx5",OnClose,DEf,"",1,1);
}
Else
{
xcond1 = False;
xcond2 = False;
xcond3 = False;
xcond4 = False;
xcond5 = False;
}
추가해야 할게 있는데 ,
1번 : 진입신호때 천만원 자동진입!
2번 :
이 식에서 분할청산 추가해주세요!
1) 1퍼일때 전체물량20퍼 청산
2) 2퍼일때 전체물량20퍼 청산
3) 3퍼일때 전체물량20퍼 청산
4) 위로 가다가 var1,var2 역배열되서 꺾일때 전체물량20퍼 청산
5) 위로 가다가 var2,var3 역배열되서 꺾일때 전체물량20퍼 청산
3번
4,5번 위에서 1,2,3다시 정배열이면 분할청산 중 조건에 뜨지 않아 정리되지 않았었던 기존물량 모두 다 정리하고, 자동 재진입
4번 : 손절일때도 분할추가요
1) 1퍼일때 전체물량20퍼 손절
2) 2퍼일때 전체물량20퍼 손절
3) 3퍼일때 전체물량20퍼 손절
4) 위로 못가고 var1,var2 역배열일때 전체물량20퍼 손절
5) 위로 못가고 var2,var3 역배열일때 전체물량20퍼 손절
늘 감사드립니다
2022-05-12
1432
글번호 158813
답변완료
신호수식 부탁드립니다
문의한 답변 빠르게 주셔서 너무너무 감사드립니다///적용하기엔 신호가 너무 안나와서요 다른 질문 드립니다
볼린저밴드(60.2) 상단에 음봉캔들 발생시 매도신호
볼린저밴드(60.2) 하단에 양봉캔들 발생시 매수신호 나올 수 있게 부탁드립니다
아직 초보라 응용이 안돼서요 ...꾸벅
2022-05-12
1281
글번호 158804
답변완료
문의드립니다
var: tx1(0), tx2(0);
if stime > 090000 and stime < 153000 Then{
var1 = c[1]+1;
Var2 = c[1]-1;
}
Plot1(var1, "+1");
Plot2(var2, "-1");
------------------------------
위식에서 라인 아래에 텍스트(글씨 표시)로 표시되게 부탁드려요
색상은 블루색상 글씨로 부탁합니다
감사합니다
2022-05-12
1364
글번호 158803
답변완료
문의드립니다.
다름이아니라
5이평 < 20이평이면서 N%이상 하락한 음봉이 출현한뒤 M봉이내에서 5이평 > 20이평이면서 N%이상 상승한 양봉이 나올때 매수, 그반대로는 매도인 시스템식을 만들고 싶습니다.
그리고 트레이딩 스탑관련 문의도 하나 더 드립니다.
위의 수식으로 2계약을 동시에 매수한 이후
20틱 수익 달성후 10틱 하락하면 1개 청산, 40틱 수익 달성후에는 20틱 하락하면 나머지 1개도, 그반대도 마찬가지인 청산식을 만들고 싶습니다.
이때 5이평과 20이평 데드(골드)가 되면 보유계약수에 관계없이 바로 청산하고 싶습니다.
수년동안 도움주셔서 늘 감사드립니다.
2022-05-12
1304
글번호 158799
답변완료
수식문의
60분상의 50이동평균선을 5분봉에 가져와서 볼 수 있도록 지표수식 부탁합니다.
또한 60분봉상의 price channel를 5분봉에 가져와서 볼 수 있도록 수식 부탁드립니다.
2022-05-12
1411
글번호 158796
답변완료
문의 드립니다.
항상 감사드립니다.
조건검색 매수/매도 확인부탁드립니다.
(검색 수식)
A. 일봉상 전일대비 주가등락률 순위
예시) 1 ~ 100위 변수값 지정 가능토록
B. 분챠트 1분봉에서 주가가 볼린져밴드 상단선 돌파
C. 분챠트 1분봉에서 2차피봇 저항선 돌파
A+B+C 조건식 해당시 매수
D. 분챠트상 주가가 하락하여 볼린져밴드상단선을 크로스 다운시 매도
P.S 일봉상 볼린저 밴드를 분봉상 볼린져 동일한 조건으로 구현할수 있도록 방법 문의드립니다.
2022-05-12
1629
글번호 158791