커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4716
글번호 230811
답변완료
문의드립니다
거래시작시간
170000
1차매매
진입
거래시작시간 종가 대비
50 상승돌파 매수
50 하락돌파 매도
청산
진입후 종가가
최고대비 80 하락돌파 매수청산
최저대비 80 상승돌파 매도청산
1차매매 후
마감시간
050000 시 까지 아래 진입을 N 회로 하고 싶습니다
진입
매수청산 이후 매도 진입
매도청산 이후 매수 진입
청산
진입후 종가가
최고대비 90 하락돌파 매수청산
최저대비 90 상승돌파 매도청산
감사합니다
2015-12-08
108
글번호 93156
답변완료
수식좀 부탁드립니다.
1. 실행차트에서 5일선 이동평균선과 20일선이동평균선의 Y축스케일 가격이
오른쪽에 현재값처럼 나올수 있게하는 수식이 가능하다면 지표수식좀 부탁드립니다.
2015-12-08
111
글번호 93155
답변완료
질문입니다,
일봉에서 시스템을 작성하고자 합니다.
예를들어 10ma를 상향돌파 할 때 atstop으로 매수신호가 나왔다고 가정하고,
그때 바로 매수로 진입하는게 아니라 특정 x분후에 진입을 하는데,
x분 후 진입 시 매수신호가 나온 가격보다 현재가가 위에 있다면 매수로 진입하라라는
시스템을 만들고 싶습니다.
예시와 함께 부탁드립니다.
감사합니다.
2015-12-08
111
글번호 93150
답변완료
수정부탁합니다
Inputs: 기준선기간(26),shortPeriod(5), longPeriod(20),x(1),y(1);
Variables: 기준선(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2;
if Value1>Value2 and crossup(l[0],기준선 ) Then{
buy()
}
if Value1<Value2 and crossdown(h[0],기준선 ) Then{
sell()
}
setstoploss(x);
SetStopProfittarget(y);
감사합니다
2015-12-08
109
글번호 93146
답변완료
시스템 수식 문의드립니다.
안녕하세요.
먼저 수식작성 Q&A를 통해 많은 도움을 받고 있어 항상 감사한 마음을 전합니다.
아래와 같은 수식에서
#매수진입후 조금 상승..매수이후 최고가 대비 8틱이상 하락후 4틱 상승하면 매도로
스위칭 하고자하는 수식을 부탁드립니다.
(매수진입후 조금 상승한 다음에 반대로 하락할 경우를 대응하기 위함입니다.)
#매도진입후 조금 하락..매도이후 최저가 대비 8틱이상 상승후 4틱 하락하면 매수로
스위칭 하는 수식도 부탁드립니다.
(매도진입후 조금 하락후 반대로 상승으로 돌아설 경우를 대응하기 위함입니다.)
처음 진입구간은 아래와 같은 수식을 사용하고 스위칭 경우만 위의 상황을 작성해
주시면 감사하겠습니다.
수고하십시요.
var : T(0),HH(0),LL(0);
var1 = ma(c,20);
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
if T == 1 and T[1] != 1 Then
HH = H;
if T == -1 and T[1] != -1 Then
LL = L;
#상승구간
if T == 1 Then{
#최고가 계산
if H > HH Then
HH = H;
#최고가에서 5틱 하락하면 매수
if H == HH Then
buy("b1",Atlimit,HH-PriceScale*5);
if H < HH and L > HH-PriceScale*5 Then
buy("b2",atlimit,HH-PriceScale*5);
}
#하락구간
if T == -1 Then{
#최저가 계산
if L < LL Then
LL = L;
#최저가에서 5틱 상승하면 매도
if L == LL Then
sell("s1",Atlimit,LL+PriceScale*5);
if L > LL and H < LL+PriceScale*5 Then
sell("s2",atlimit,LL+PriceScale*5);
}
2015-12-08
114
글번호 93142
오늘도수익 님에 의해서 삭제되었습니다.
2015-12-08
29
글번호 93141
답변완료
질문드립니다.
선물일봉에서 시스템을 작성하고자 합니다.
예를들어 당일 첫 매수 진입이 10ma를 돌파할 때 이루어졌다고 가정해봅니다.
당일의 첫번째 거래가 매수로 들어가서 손절로 손해를 보고 거래가 종료되었다고 하면, 당일의 두번째 매수 진입은 첫번째 거래가 이루어진 진입가를 돌파할 때 매수하고 싶습니다.
단, 날이 바뀌면 첫번째 진입은 다시 10ma 돌파로 이루어져야 합니다.
즉, 당일의 재진입시에만 적용되는,
재진입 가격은 당일 손절로 마감된 거래의 진입가에 들어가는 시스템 부분을 만들고 싶습니다.
간단한 예시와 함께 부탁드립니다.
그리고 신호는 atstop으로 내고 싶습니다.
2015-12-08
95
글번호 93137
답변완료
수식 부탁 드립니다.
A = MA(C, 72, 가중);
C < MA(종가,100,가중) &&
(H + H(1) + H(2) < H(3) + H(4) + H(5) ||
L + L(1) + L(2) < L(3) + L(4) + L(5))
&&
(L <= L(2) ||
L <= L(3))
&&
(TEMA((C/C(432)-1)*100,9)
+ TEMA((C(1)/C(433)-1)*100,9)
>
TEMA((C(3)/C(434)-1)*100,9)
+ TEMA((C(4)/C(435)-1)*100,9)) &&
(
((MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)
- eavg((MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)),signal))
<
(MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)
- eavg((MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)),signal1)))
||
(MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)
- eavg((MA(dayclose(), short, 가중) - MA(dayclose(), long, 가중)),signal))
== 0
)
&&
C < MA(dayclose(),3,단순)
&&
C < MA(dayclose(),5,단순)
&&
C < nPreDayClose(2)
&&
C < nPreDayClose(1)
&&
(nPreDayClose(1)/nPreDayClose(2)-1)*100 > -10.0
&&
L < L(1)
&&
(L < MA(종가,50,단순)
||
L < A + AvgIf( C - A, -1, 0.0 )
- 2 * StdevIf( C - A, -1, 0.0 ))
2015-12-07
132
글번호 93136
답변완료
함수수정요청(11-1호)
안녕하세요?
해외선물 매매를 하고자 합니다.
여기서 하루의 개념이 해외선물 영업일 기준으로 되어 있습니다.
그런데 하루를 Day가 아닌 시간개념(hour)을 적용하여
해외선물 거래시간(08:00~07:00, 써머타임시 07:00~06:00)에 맞추어 변경 요청드립니다.
var : TF(0);
var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0);
var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0);
Array : HH[50](0),LL[50](0),CC[50](0);
mav1 = ma(c,5);
mav2 = ma(C,20);
TF = TimeToMinutes(stime)%30;
if Bdate != Bdate[1] Then{
Etime = true;
if stime >= 090000 Then
Xtime = 050000;
Else
Xtime = 060000;
}
if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
if HH[25+2] > 0 Then{
HV = HH[0];
LV = LL[0];
HV1 = HH[1];
LV1 = LL[1];
HV2 = HH[2];
LV2 = LL[2];
for cnt = 0 to 25{
if HH[cnt] > HV Then
HV = HH[cnt];
if LL[cnt] < LV Then
LV = LL[cnt];
if HH[cnt+1] > HV Then
HV = HH[cnt+1];
if LL[cnt+1] < LV Then
LV = LL[cnt+1];
if HH[cnt+2] > HV Then
HV = HH[cnt+2];
if LL[cnt+2] < LV Then
LV = LL[cnt+2];
}
var1 = (HV+LV)/2;
var2 = (HV1+LV1)/2;
var3 = (HV2+LV2)/2;
if Etime == true then{
if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then
buy("b",AtMarket);
if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then
ExitLong("bx",AtMarket);
}
}
if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{
Etime = false;
ExitLong();
}
var : entry1(0);
var : ho1(0),OL1(0),HL1(0);
var : maho1(0),maOL1(0),maHL1(0);
var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0);
var : EntryCnt1(0);
var : V1(0),V2(0),V3(0),V4(0),V5(0);
var : V6(0),V7(0),V8(0),V9(0),V10(0);
if bdate != bdate[1] Then
entry1 = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry1 = entry1+1;
ho1 = Dayhigh-Dayopen;
OL1 = DayOpen-DayLow;
HL1 = DayHigh-DayLow;
sumho1 = 0;
sumOL1 = 0;
sumHL1 = 0;
for cnt1 = 1 to 10{
sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1));
sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1));
sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1));
}
maho1 = sumho1/10;
maOL1 = sumOL1/10;
maHL1 = sumHL1/10;
V1 = dayopen(0)+maho1;
V2 = DayOpen(0)-maOL1;
V3 = DayOpen(0)+maHL1;
V4 = DayOpen(0)-maHL1;
V5 = NthMaxList(1,V1,V2,V3,V4);
V6 = NthMaxList(2,V1,V2,V3,V4);
V9 = NthMaxList(3,V1,V2,V3,V4);
V10 = NthMaxList(4,V1,V2,V3,V4);
V7 = (V5+V10)/2;
V8 = (V6+V9)/2;
if MarketPosition == 0 and entry1 == 0 Then{
if V7 > V8 Then
sell("s1",AtStop,V7);
if V7 < V8 Then
sell("s2",Atlimit,V8);
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
ExitShort("sp1",atlimit,V9);
ExitShort("sl1",AtStop,V6);
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
ExitShort("sp2",atlimit,V9-0.03);
ExitShort("sl2",AtStop,V6);
}
2015-12-07
112
글번호 93135