커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7563
글번호 230811
답변완료
시스템부탁드립니다
1)당일 시초가 보다 위 이면서
60이동평균선 위 이면서
이전 60개 캔들의 최고점을 돌파 할 경우 매수
60이동평균선을 데드주거나
당일 시초가를 깨거나
이전 60개 캔들의 최저점을 붕괴할 경우 매수를 청산
2) 당일 시초가 보다 아래이면서
60이동평균선 아래이면서
이전 60개 캔들의 최저점을 붕괴시 매도진입
60이동평균선을 골드하거나
당일 시초가 위로 올라가거나
이전 60개 캔들의 최고점을 돌파시 매도를 청산
하루에 매매제한 2회까지만 매매하도록 부탁드립니다
2013-05-20
205
글번호 63374
답변완료
강조표현
지표식으로 미결제약정을 이용하는데
1분차트상에서 매분 미결제약정의 수치의 증감을 비교하여 일정 부분 이상 또는 이하시 강조가 되게 표현하고 싶습니다
예) 직전 미결제약정 종가 대비 + 20% 상승시 상승 강조
직전 미결제약정 종가 대비 -20% 하락시 하락강조
2013-05-20
242
글번호 63373
답변완료
만기롤오버
안녕하세요. 아래와 같이 만기롤오버하는 식을 게시판에 나와있는 식과 동일하게
적용하였으나, 만기일 익일 제대로 작동하지 않네요. 오류 개선 부탁드려요.
3월 14일 만기일 진입하였고, 당일 청산하였습니다. 그런데 익일인 3월 15일
바로 매도 진입하지 않고, 시스템 조건에 의해 오후 1시 15분경에 진입하네요.
Var : Va1(0), Va2(0), Va3(0);
Va1 = Int(Date/100)-Int(Date/10000)*100;
Va2 = Date - Int(Date/100)*100;
Va3 = DayOfWeek(Date);
If Va1%3 == 0 And Va2 >= 8 And Va2 <= 14 And Va3 == 4 Then
{
Condition1 = true;
SetStopEndofday(143000);
}
Else {SetStopEndofday(0); Condition1 = false;}
//만기일 다음날 첫봉
if date != date[1] and Condition1 == false and Condition1[1] == true Then{
if IsExitName("StopEndofday",1) == true and MarketPosition(1) == 1 Then
buy();
if IsExitName("StopEndofday",1) == true and MarketPosition(1) == -1 Then
sell();
}
2013-05-20
282
글번호 63371
답변완료
문의드립니다.
문의드립니다..
아래의 식에서 전일 장종료이후 금일 갭상승하며 value crossup이
발생하였다면 buy하고 싶습니다. 가능하다면 식부탁드립니다.
챠트상에서는 0900 쯤에 crossup되는데.. 실제 시스템에서는 buy 신호가
발생하지 않는것 같습니다.
수고하세요.
Input : shortPeriod(12), longPeriod(26);
Var : value(0);
value = MACD(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 0) Then
{
Sell();
}
SetStopEndofday(150000);
2013-05-20
233
글번호 63367
답변완료
수정부탁드려요
수고하시네요
앞전에 짜주신 수식에서 수정 부탁드립니다
input : 일봉볼밴기간(12),Atime(60), StoPeriod(30), StoPeriod1(5), StoPeriod2(5);
input : TStoPeriod(30), TStoPeriod1(8), TStoPeriod2(8);
var : daycnt(0),daysum(0),dayma(0),Predaysum(0),Predayma(0);
var : cnt(0),count(0),sum(0),mav(0),Presum(0),Premav(0),TT(0),stok(-1),stod(-1);
var : highVal(0), lowVal(0), StoFastK(0),T(0),Tstok(0),Tstod(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0);
Array : CC[100](0),HH[50](0),LL[50](0);
daysum = 0;
Predaysum = 0;
for daycnt = 0 to 일봉볼밴기간-1{
daysum = daysum + DayClose(daycnt);
Predaysum = Predaysum + DayClose(daycnt+1);
}
dayma = daysum/일봉볼밴기간;
Predayma = Predaysum/일봉볼밴기간;
T = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (T < T[1] and stime > stime[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];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
lowVal = LL[0];
for cnt = 0 to StoPeriod-1 {
if HH[cnt] > highVal then
highVal = HH[cnt];
if LL[cnt] < lowVal then
lowVal = LL[cnt];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or T < T[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or T < T[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
Tstok = StochasticsK(TstoPeriod,TstoPeriod1);
Tstod = StochasticsD(TstoPeriod,TstoPeriod1,TstoPeriod2);
if dayma > 0 and Predayma > 0 and StoK > -1 and StoD > -1 and
C > dayma and dayma > predayma and
SToK > 20 and
crossup(Tstok,10) Then
buy();
if MarketPosition == 1 Then{
if CrossUp(Tstok,80) Then
exitlong();
if CrossDown(Tstok,10) Then
ExitLong();
}
if dayma > 0 and Predayma > 0 and StoK > -1 and StoD > -1 and
C < dayma and dayma < predayma and
SToK < 80 and
CrossDown(Tstok,90) Then
Sell();
if MarketPosition == -1 Then{
if CrossDown(stok,20) Then
ExitShort();
if CrossUp(stok,90) Then
ExitShort();
}
앞전에 수식 짜주신 부분에서
매도
60분봉에서 스톡 k선이 기준선 80 하락하고
틱봉 화면에서 스톡 기준선 90 하락시 매도인데
그림에서 보면 60분봉에서 80 하락이 아니고 앞에 기준선을 20 돌파 한 상태인데도
틱봉화면에서 매도가 발생 했습니다
수정 부탁드리구요
매수 조건에서도 살펴봐주시기 바래요
2013-05-20
292
글번호 63360
답변완료
수식 문의 드립니다.
Input : Period(10);
Var : Ep(0), JISU(0), DINDEX(0), PreJISU(0);
Ep = 2/(Period+1);
if dayofweek(date) < dayofweek(date[1]) then {
DINDEX = DINDEX + 1;
PreJISU = JISU[1];
}
if DINDEX <= 1 then
JISU = C;
else
JISU = C * EP + PreJISU * (1-EP);
plot1(JISU,"지수이동평균");
==================================================
안녕하세요 위 수식은 일봉에서 주봉의 지수이동평균을 표시하는 수식입니다.
일봉이나 주봉에서 월봉의 지수이동평균을 표시하는 수식을 알고 싶습니다.
2013-05-20
252
글번호 63359
답변완료
필터링에 대해 문의 드립니다.
너무 자주 거래가 성립되어 진입 건을 축소하고자 합니다.
수식 부탁드립니다.
1. Stochastics slow에서
stochasticsK값과 stochasticsD값이 40미만이며
stochasticsK가 stochasticsD를 CROSSUP할 때 매수하고자 합니다.
단, 동일한 조건으로 직전에 발생한 매수신호와 비교하여
매수신호봉의 저가가 직전 매수신호봉의 저가보다 작을 때는
매수 진입을 걸러냅니다. (매수 포기)
2. 당일 손실거래를 n회로 제한하는 식을 부탁드립니다.
stoploss건 뿐만아니라, 청산 신호에 의한 손실 발생 건,
매수후 매도신호 발생에 의한 청산 손실 건도 포함하고자 합니다.
귀사에서 올려놓은 losscutcount 방식에 의하면 stoploss 처리된
건만 카운팅하는 것 같았습니다.
<당일 손실거래 2회 제한식>
var : count(0), Losscutcount(0);
Losscutcount == 0;
for count = 0 to 10 {
if Entrydate(count+1) == sdate and Positionprofit(count+1) < 0
then Losscutcount == Losscutcount + 1
}
if crossup(c,ma(5)) and Losscutcount < 2 then
buy("매수");
위 식을 그대로 적용하니까 반대신호에 의한 청산(손실 발생 건) 또는
청산식에 의한 손실 발생 건은 당일 손실거래 제한 건수로 포함되지
않았습니다.
반대 매매에 의한 손실 발생건 및 청산식에 의한 손실 발생 건도 포함하여
진입 제한할 수 있는 식을 부탁드립니다.
2013-05-20
255
글번호 63357
답변완료
부탁드립니다(시스템식 및 지표식)
1. KOSPI200변동성지수를 보조지표로 나타낼 수 있는지요?
있다면 지표식으로 부탁드립니다.
2. 1분봉그래프에서 첫봉종가(9시1분의 현재가)를 기준(0)으로 등락율을 보조지표로 만들려면 지표식을 어떻게 작성해야 하는지요? 이 기준으로 콜풋 두 종목의 등락율 교차를 이용한 매매전략 작성시 시스템식은 어떻게 표시되는지요?
3-1 봉이 양봉이고 and
몇봉이 떨어져있건 관계없이 직전최근 음봉만 골라서 7개,
그 직전최근 7개음봉중 종가가 가장 낮은 음봉의 고가보다 종가가 클 때
(매도포지션이 있다면 매도청산하고) 가장 낮은 음봉의 종가를 기억.
다음봉에서건 그다음봉이건 기억된 종가이하에 즉시 매수.
봉이 음봉이고 and
몇봉이 떨어져있건 관계없이 직전최근 양봉만 골라서 7개,
그 직전최근 7개음봉중 종가가 가장 높은 양봉의 저가보다 종가가 작을 때
(매수포지션이 있다면 매수청산하고) 가장 높은 양봉의 종가를 기억.
다음봉에서건 그 다음봉이건 기억된 종가이상에 즉시 매도.
(전일봉 포함, 일봉의 경우까지 감안한 식입니다.)
(첫진입은 청산사실이 없는 상태에서 진입되어야 합니다.)
3-2 위의 조건 발생하면(종가가 양봉저가보다 낮으면, 음봉고가보다 높으면) 기다리지 않고 즉시 매도, 매수.
4-1,2,3
"어떤봉의 종가가 앞봉의 고가와 저가 사이에 있다면 그 봉(종가)은 없는 것으로 간주, 비교대상에서 제외.
(예를 들어 1분봉차트라 가정하면 10시4분봉부터 10시12분봉까지의 종가가 (자기들끼리는 서로 오르내리면서도) 모두 10시3분봉의 고가와 저가 사이에서 끝났다면, 10시4분봉부터 10시12분봉까지는 없는 봉으로 간주, 그봉들의 종가는 제외한다는 뜻입니다.)"
가령 10시8분봉의 종가가 10시7분봉의 고가와 저가 사이를 벗어났더라도 10시3분봉의 고가와 저가 사이에 있으므로 10시8분봉의 종가도 무시됩니다.
이렇게 해서 무시되는 종가를 제외하고 살아남은 종가만 연결한 선그래프가 있다고
가정하면
var1=고점변곡중 가장 마지막 고점변곡의 고점(종가)
var2=저점변곡중 가장 마지막 저점변곡의 저점(종가)
var3=고점변곡중 마지막에서 2번째 고점변곡의 고점(종가)
var4=저접변곡중 마지막에서 2번째 저점변곡의 저점(종가)
(당일봉뿐만 아니라 전일의 봉들도 포함하여 계산)
변곡발생상황에서
4-1. var1발생시 즉시 매도
var2발생시 즉시 매수
4-2. var1>var3이면 매도
var2<var4이면 매수
4-3 무시되는 봉들은 제외하고 남은 봉들만으로 볼 때
고가>앞봉고가 & 종가>앞봉종가이면 매수
저가<앞봉저가 & 종가<앞봉종가이면 매도
4-4,5,6
"어떤 봉의 종가가 앞봉의 시가와 종가 사이에 있다면 없는 봉으로 간주, 제외"로 고쳐서
(4-1,4-2, 4-3경우처럼)
5. 저가가 Dnchennel을 터치한 것이 고가가 Upchennel을 터치한 것보다 더 나중에 일어난 상태에서 "저가의 Dnchennel직후 일어난 이평골든크로스(crossup(ma(c,10),ma(c,20)))보다 변곡점이 더 낮은 이평골든크로스경우에만 매수"를 시스템식으로 어떻게 표현하는지요?
2013-05-20
346
글번호 63355
답변완료
수익대비
안녕하세요
아래 식을 가지고 검증하여 확인해본결과 자동 매매 강제청산 설정창에서
설정하는것과 다르게 나오네요 매매설정 강제청산설정창 에서쓰는 최데수익대비하락
0pt 수익후 0 떨어지면 청산 두가지해본결과 서로 달라요 ㅠㅠ
매매 설정창에서처럼 만들어 주삼 ㅠㅠ
위와같이. 설정해서 정규징에서. 실제로
매매 진행했을때
처음 9시에 매수되고 난후 최고가인
첫봉에서 청산 이렇게 차트에서나오는데요 맞는지요
정규징 에서. 시험테스트 못했어요
앞으로 테스트 해보겠지만 질문드려요
감사^^
예스스탁입니다.
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+3 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-0.2);
if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-3 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+0.2);
즐거운 하루되세요
> yang오뚜기 님이 쓴 글입니다.
> 제목 : 최대수익
> 안녕하세요
질문1.
최대수익. 3포인트 수익후. 0.2포인트떨어지면청산
하는식. 또는. 최대하락 3포인트 수익후 0.2포인트
떨어지면. 청산. 하는식
식에다가. 1포인트 2포인트 0.5포인트
이렇게알기쉽게. 식 요청. 합니다
1%. 라고하는 것 사절합니다
감사^^
2013-05-20
222
글번호 63350