커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7536
글번호 230811
답변완료
수식 재문의
안녕하세요.
추석 연휴 잘 보내셨는지요.
아래와 같은 수식을 문의 드립니다.
--------------
XX시 XX분 부터 ~~ AA시 AA분 까지의
최고값, 최저값, 중간값(최고+최저/2) 을
선으로 긋는 수식을 얻고 싶습니다.
XX시 XX분 부터 선이 시작한 뒤
AA시 AA분이 지나면 더이상 선을 긋지 않습니다.
다음날 XX시 XX분이 되면 다시 선을 그어 줍니다.
-----------
위의 내용으로 일전, 아래와 같은 수식을 얻었는데요,
수정을 부탁드립니다.
input : AA(133000);
if date != date[1] Then{
var1 = H;
var2 = L;
}
if stime < AA Then{
if H > var1 Then
var1 = h;
if L < var2 Then
var2 = L;
var3 = (var1+var2)/2;
plot1(var1,"최고값");
plot2(var2,"최저값");
plot3(var3,"중간값");
}
차트에서 특정구간에만 지표를 표시하고자 하시면
점그래프나 일자그래프와 같이 이전 출력지점과 연결이 되지 않는
그래프 종류로 설정하셔야 합니다.
풍성한 한가위 되시길 기원합니다.
즐거운 하루되세요
2013-09-23
184
글번호 67736
답변완료
식 부탁드립니다.
조건
1. 지수이동평균선 input(38)
2. 볼린저밴드(예스트레이더에서 제공되는 지표식)
3. 채널 : 25일 고점과 25일 저점으로 부터 연장되는 선
진입
위 조건 모두 돌파시
청산
1.MACD Oscillator(히스토그램) 다이버전스
2.종가가 38이평선 반대(매수포지션일 경우 38이평 CrossDown, 매도포지션의 경우 그 반대)
PS : 부끄럽지만 제가 추석연휴 이틀간 씨름하다 완성 못했습니다. 부탁드립니다.
2013-09-23
205
글번호 67735
답변완료
다시 봐 주십시요.
아래 청산을 수정해 주셨는데요. 다시 봐주세요.
bx1, bx2 청산은 되는데 나머지는 안되는 것 같습니다.
특히, +2일 09:40은 확실히 청산이 안됩니다.
감사합니다.
==============================
*현물, 분봉사용*
<청산공통>
-매수가 대비 5.5% 하락시 첫봉에 청산
<매수당일에 청산>
-매수가 대비 4.5% 상승시 첫봉에 청산
<매수 +1일에 청산>
-매수가 대비 7.5% 상승시 첫봉에 청산
-전일종가 대비5% 상승시 첫봉에 청산
-오늘 시가대비 3.5%이상 상승 후, 당일시가를 하락시 첫봉에 청산
<매수 +2일에 청산>
-매수가대비 15% 상승시 첫봉에 청산
-전일종가 대비 10% 상승시 첫봉에 청산
-09:40 이후 첫봉에 청산
==========================
input : P(5);
var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),dis(0),dis1(0),daycnt(0),PredayVol(0);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
sum = 0;
sum1 = 0;
for cnt = 0 to P-1{
sum = sum+DayClose(cnt);
sum1 = sum1+DayClose(cnt+1);
}
mav = sum/P;
mav1 = sum1/P;
dis = c/mav*100;
dis1 = DayClose(1)/mav1*100;
for cnt = 1 to 1000 {
if stime == stime[cnt] and sdate != sdate[cnt] then{
PredayVol = DayVolume[cnt];
cnt = 1001;
}
}
if date != date[1] Then{
Daycnt = daycnt+1;
var1 = dayopen/mav*100;
}
if dayopen <= DayClose(1)*1.01 and
dayhigh <= dayopen*1.04 and
dis1 >= 103 and
ExitDate(1) != sdate and
DayVolume < PredayVol*1 and
var1 > 100 Then{
if stime >= 90000 and stime < 100000 and dis >= 100.5 and dis < 101.5 Then
buy("b1",AtMarket);
if stime >= 100000 and stime < 110000 and dis >= 100.5 and dis < 102.0 Then
buy("b2",AtMarket);
if stime >= 110000 and stime < 120000 and dis >= 100.5 and dis < 102.5 Then
buy("b3",AtMarket);
if stime >= 120000 and stime < 130000 and dis >= 100.5 and dis < 103.0 Then
buy("b4",AtMarket);
if stime >= 130000 and stime < 140000 and dis >= 100.5 and dis < 103.5 Then
buy("b5",AtMarket);
if stime >= 140000 and stime < 144800 and dis >= 100.5 and dis < 104.0 Then
buy("b6",AtMarket);
if stime >= 143000 and stime < 144800 and c < Pivot and dis >= 100.5 and dis < 104.5 Then
buy("b7",AtMarket);
}
if MarketPosition == 1 Then{
if C <= EntryPrice*0.945 Then
ExitLong("bx1",AtMarket);
if EntryDate == sdate and C >= EntryPrice*1.045 Then
ExitLong("bx2",AtMarket);
if EntryDate > sdate and daycnt == daycnt[BarsSinceEntry]+1 Then{
if C >= EntryPrice*1.075 Then
ExitLong("bx31",AtMarket);
if C >= DayClose(1)*1.05 Then
ExitLong("bx32",AtMarket);
if dayhigh >= Dayopen*1.035 and CrossDown(c,DayOpen) Then
ExitLong("bx33",AtMarket);
}
if EntryDate > sdate and daycnt == daycnt[BarsSinceEntry]+2 Then{
if C >= EntryPrice*1.15 Then
ExitLong("bx41",AtMarket);
if C >= DayClose(1)*1.10 Then
ExitLong("bx42",AtMarket);
if stime >= 94000 Then
ExitLong("bx43",AtMarket);
}
}
2013-09-23
195
글번호 67734
답변완료
지표식.재질문입니다.
만들어 주신 식은
전의캔들값을 지금 자리에 그려 주는데
이게 사실은 전 캔들의 값이니
지금 자리에 그리지 말고
상위 전 캔들 자리에 그리도록 수정 부탁드립니다.
지금 자리는 기술상으로도 그릴 수가 없는 걸 지적하신대로 알기 때문입니다.
그러면 지금자리는 다음 30분봉 캔들이 완성되어야 그려 지겠지요....
그리고 지금 자리는 선이 안 그려 지겠지요....
제가 원하는 것입니다.
======================================
안녕하세요
예스스탁입니다.
2개 모두 같은 식입니다.
아래식 적용하시면 됩니다.
var1 = TimeToMinutes(stime)%30;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
value1 = H;
value2 = L;
value11 = value1[1];
value21 = value2[1];
}
if H > value1 Then
value1 = H;
if L < value2 Then
value2 = L;
plot1(value11);
plot2(value21);
수식에서 봉하나의 중간의 값을 인식해서는 수식을 작성할수 없습니다.
그러므로 틱봉의 경우 하나의 봉안에 시간의 경계가 포함되는 경우가 많아
틱봉에서 분봉의 지표를 그리는 경우 약간의 오차가 있을 수 있습니다.
즐거운 하루되세요
> 무지개나날들 님이 쓴 글입니다.
> 제목 : 지표식 부탁입니다
> 틱차트에서 30분 직전 캔들의 고저점을 계단처럼 수평선으로 그리는 수식과
1분차트에서 30분 직전 캔들의 고저점을 계단처럼 수평선으로 그리는 수식을
부탁드립니다.
2013-09-23
189
글번호 67733
답변완료
문의있습니다.
다음 수식은 제가 선물 분봉, 틱챠트에서 사용하고 있습니다.
거래 지속되면서 한번이라도 진입한 신호가 0.4%의 손해가 나면(즉 1피 손절) 손절처리해주시고 그리고 손절처리가 첫번째 나오는 순간 그날은 더이상 신호진입이 되지 않도록
수식 추가 해주십시요 감사합니다.
var : ii(0);
Var2=0;
For ii = 0 To 20{
Var1 = close[ii];
Var2 = Var1+var2;
}
Var3= ma(Var2,10);
Var4= ma(Var3, 5);
If crossup(Var3, Var4) Then
buy("매수", Atmarket);
If CrossDown(Var3, Var4) Then
sell("매도", Atmarket);
2013-09-23
162
글번호 67727
답변완료
질문있습니다
setstoploss(1, pointstop); 과
if marketposition==1 then
exitlong("loss",atstop, entryprice-1); 과 시뮬레이션 상 차이가 발생합니다
두식간에 어떤 차이가 있는지 설명부탁드립니다
2013-09-23
174
글번호 67725
답변완료
재부탁드립니다.
고맙습니다. 아래 강조식에 따라 전환선이 기준선 위 아래에서 재차 상승하거나 하락할 경우, 다시 빨강 봉이나 파란 봉이 계속 구현될 수 있도록 부탁드립니다.
1. 강조식
Var : 기준선(0), 전환선(0);
전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2;
기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
if crossup(전환선,기준선) Then
var1 = 1;
if var1 == 1 and 전환선 < 전환선[1] Then
var1 = 2;
if CrossDown(전환선,기준선) Then
var1 = -1;
if var1 == -1 and 전환선 > 전환선[1] Then
var1 = -2;
if var1 == 1 Then
PlotPaintBar(H,L,"강조",RED);
if var1 == 2 Then
PlotPaintBar(H,L,"강조",BLUE);
if var1 == -1 Then
PlotPaintBar(H,L,"강조",blue);
if var1 == -2 Then
PlotPaintBar(H,L,"강조",RED);
2013-09-23
176
글번호 67722
답변완료
지표식질문입니다
1틱 차트에서
N분 거래량 이평선을 만들고 싶습니다
2013-09-23
178
글번호 67720
답변완료
질문드립니다.
안녕하세요?
진입 후 강제청산을 하려고 합니다. 강제청산은 손익이 -1p가 되면 청산하는 식입니다.
예를 들어 매수 진입후에 스위칭으로 매도 전환시(-0.7pt 손실 난 상황) 다시 -0.3pt 손실이 나면 강제청산 되고 그 후로는 매매가 발생하지 않는 건대요.
이럴 경우 첫번째 거래 후 누적 손익이 +3pt가 발생한 상황이라면 그다음 매매 손실이 -4pt가 되지 않는 한 계속 포지션을 가지고 있게 됩니다.
저는 누적 손익도 -1pt에 닿으면 강제청산, 그리고 각각의 진입에 따른 강제청산도 -1pt로 하고 싶습니다.
위의 예로 보면 +3pt 수익이 난 상태에서 그다음 거래로 -1pt 손실이 발생하면, 누적 손익 +2pt에서 강제청산이 되는 셈이지요
답변 부탁드립니다.
감사합니다.
2013-09-23
173
글번호 67714