커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6067
글번호 230811
답변완료
수식 부탁드립니다
안녕하세요
분봉에 표시할 일봉의 5, 20, 60일 지수이동평균선을 전일기준으로 하여 작성 부탁드립니다.
게시판에 당일 실시간으로 표시되는 것은 있으나, 전일기준 지수이평은 찾아보아도 없어서 부탁드립니다.
참조데이터 사용하지 않는 방법으로 부탁드립니다. 미리 감사드립니다.
2018-11-04
216
글번호 123339
답변완료
지표식 문의드립니다.
매번 성실한 답변에 감사드립니다.
5분봉 240볼린저밴드을 15분봉에서 구현하는 지표식
(커뮤니티의 분봉 타주기 지표식을 참조하였으나 상향 타주기는 오류가 나는것 같아서 문의드립니다).
5분봉 480이평선을 15분봉에서 구현 지표식을 부탁드립니다.
감사합니다.
2018-11-04
200
글번호 123338
답변완료
문의
A :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(9), //단기
LongPeriod(23), //장기
SignalPeriod(8), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
V4(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
B :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(11), //단기
LongPeriod(25), //장기
SignalPeriod(9), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
V4(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
C :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(11), //단기
LongPeriod(25), //장기
SignalPeriod(9), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
ShortPeriod3(7), //단기
LongPeriod3(19), //장기
SignalPeriod3(5), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
v31(0),
V4(0),
v41(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V31 = MACD(Close, ShortPeriod3, LongPeriod3, _MaType_) ;
V41 = Eavg(v31, SignalPeriod3);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
부탁드립니다
2018-11-04
204
글번호 123337
답변완료
수식문의드립니다.
안녕하세요
수식 문의 드립니다.
2분봉 매매시...
- DATA2(30분봉) 설정
30분봉 SMI지표 값이 -40 상승돌파, SMI시그널 -40 이하시 매수 진입
30분봉 SMI지표 값이 40 하락돌파, SMI시그널 40 이상시 매도 진입
날씨가 추워지는데 감기 조심하세요~
2018-11-04
183
글번호 123336
답변완료
진입/이익청산은 봉완성시 ... 손절청산은 조건만족시 즉시 로 작동할수 있게 요청합니다.
제가 현재 사용중인 수식인데요...
진입 및 청산 시점은 설정에서 봉완성후로 설정해서 사용하고 싶습니다.
하지만 그러다보니 청산시점 특히 손절할 포인트가 봉청산시점이라서 상당히 큰 손실을 본적이 있어서요..
그렇다고 진입은 봉완성시로 진입하고 싶거든요...
아래 수식에서
"진입은 봉완성시 작동
청산(익절)도 봉완성시 작동
청산(손절)시 조건 만족시 즉시
로 할수 있게 도와주세요~~~
------------------------------------------------------------------------------------
input : P1(-0.4),P2(0.8),P3(20),P4(0.2),P5(0.4),p6(870),starttime(230000),endtime(150000),P7(1.9),P8(0.5);
input : 손절틱수(54),익절틱수(80);
var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),T(0),mav2(0),mav3(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+p6;
#설정
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;
SetStopEndofday(0);#해제
Condition1 = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) Then
Condition1 = true;
if Condition1 == true and BarsSinceExit(1) >= P6 Then
Condition1 = false;
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(P3) > 0 Then
{
sum = 0;
sum1 = 0;
for cnt = 0 to P3-1
{
sum = sum + DayClose(cnt);
sum1 = sum1 + DayClose(cnt+1);
}
mav = sum/P3;
mav1 = sum1/P3;
T = 0;
if mav > mav1 Then
T = 1;
if mav < mav1 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == -1 Then
mav2=p5;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and C<C[1] and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and C>C[1] and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
2018-11-04
219
글번호 123335
답변완료
안녕하세요
반갑습니다.
아래식 지표를 1번과2번을
하나(통합)묶어서 사용 하고자 합니다
가능 하다면 부탁합니다
****1.번식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOPCHAN");
PLOT2(BCHAN, "BOTCHAN");
plot3((TCHAN+BCHAN)/2,"mid");
*****2.번식
INPUT : LENGTH(20);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOPCHAN");
PLOT2(BCHAN, "BOTCHAN");
plot3((TCHAN+BCHAN)/2,"mid");
감사합니다.
2018-11-04
206
글번호 123334
byeongup 님에 의해서 삭제되었습니다.
2018-11-04
0
글번호 123333
답변완료
문의 드립니다.
안녕하세요?
이평선 10과 시가가 있다면
가격이
10과 시가 위에 있다면 빨강,
10과 시가 아래에 있다면 파랑,
10 아래, 시가 위에 있다면 주황,
10 위, 시가 아래에 있다면 녹색.
이런 수식을 만들 수 있을까요?
2018-11-03
190
글번호 123332
답변완료
수식문의
안녕하세요
2018-11-03
174
글번호 123331