커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4442
글번호 230811
답변완료
51816 시스템 함수변환요청(키움) 재질문
안녕하세요?
글번호 51816번 재질문드립니다.
YT언어로 함수변환 요청드립니다.
감사합니다.
Vars :
TickValue( 0 ),
RSI_value( 0 ),
RSI_period( 14 ),
MACD_OSC_value( 0 ),
MACD_period1( 12 ),
MACD_period2( 26 ),
MACD_signal_period( 9 ),
H_value1( 0 ),
H_bar1( 0 ),
L_value1( 0 ),
L_bar1( 0 ),
H_value2( 0 ),
H_bar2( 0 ),
L_value2( 0 ),
L_bar2( 0 ),
ShortPeriod( 9 ), // 전환선 기간
LongPeriod( 26 ); // 기준선 기간
// 호가단위
TickValue = OneTick * PriceScale;
// RSI
RSI_value = RSI(C, RSI_period);
// MACD 오실레이터
v0 = MACD(C, MACD_period1, MACD_period2); // MACD value
v1 = Ema(v0, MACD_signal_period); // MACD 시그널
MACD_Osc_value = v0 - v1; // MACD 오실레이터
// 전환선 & 기준선 HighestLowest 주어진 기간동안의 극단적인 최고가, 최저가를 반환
highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1);
highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2);
Value1 = (H_value1 + L_value1)/2; // 전환선 9개의 봉 동안 최고가 와 최저가의 중간값
Value2 = (H_value2 + L_value2)/2; // 기준선 26개의 봉 동안 최고가 와 최저가의 중간값
// 매수 진입
If Value1 > Value2 //전환선이 기준선보다 크고
And MACD_Osc_value > 0 //오실레이터 값이 0보다 크고
And CrossUp(RSI_value, 70) //RSI가 70을 상향 돌파
Then Buy("매수");
// 매도 진입
If Value1 < Value2 //전환선이 기준선보다 작고
And MACD_Osc_value < 0 //오실레이터 값이 0보다 작고
And CrossDown(RSI_value, 30) //RSI가 30을 하향 이탈
Then Sell("매도");
// 이하 청산 : 1계약당 손익이 10틱보다 크고
If ContractProfit > TickValue * 10 Then
Begin
// 매수 청산 : RSI가 70을 하향 이탈
If CrossDown(RSI_value, 70) then ExitLong("매수청산");
// 매도 청산 : RSI가 30을 상향 돌파
If CrossUp(RSI_value, 30) Then ExitShort("매도청산");
End;
// 손절 10틱
SetStopLoss(TickValue * 10);
2017-02-09
154
글번호 106690
답변완료
문의드립니다
안녕하세요.
어제 질문에 대한 답변은 감사히 잘 받았습니다.
전일 MACD 최고치와 최저치를 구하는 방법을 알고싶습니다.
아래는 전에 알려주신, 당일 MACD 최고/최저치를 구하는 조건식입니다.
이것을 활용하여 간단하게 전일 최고/최저치를 내는 방법이 있을까요?
if Bdate != Bdate[1] Then{
HH = MACDV;
LL = MACDV;
}
if MACDV > HH Then
HH = MACDV;
if MACDV < LL Then
LL = MACDV;
감사합니다.
2017-02-09
138
글번호 106689
답변완료
문의 드립니다.
안녕하세요
도움 감사 드립니다.
아직 배우는 중이라 많이 서툽니다.
2봉전 시가~1봉전 종가의 차이가 0.9%이상이 아니다.
이것을 어떻게 수식으로 표현하는지요...
2017-02-09
113
글번호 106688
답변완료
수식
안녕하세요. 다시 한번 수식 부탁드립니다.(옵션매매)
기본 이평선 골드데드에 하기 조건 부탁드립니다. 참고하여 공부하겠습니다.
# 매매날짜 : 매월 1일부터 ~ 15일까지
# 청산 : 옵션 매도 시 70% 감소후 50% 청산
감사합니다.
2017-02-09
117
글번호 106687
답변완료
수식 문의
안녕하세요
하기수식에 추가하고 싶은 사항이 있어서 문의 드립니다.
input : P(14),BBP(20),dv(2),MAP(60);
input : short(12),long(26),sig(9);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
bbmd = ma(c,BBP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
diff = C-O;
Bcond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 2) or (MarketPosition == -1 and BarsSinceEntry >= 2);
Scond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 2) or (MarketPosition == 1 and BarsSinceEntry >= 2);
if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),5) < 1 and DP < 40 and bcond == true
and (ADXV < 40 or (ADXV > 40 and DP > DM)) then
buy("b1");
if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),5) < 1 and DM <40 and scond == true
and (ADXV < 40 or (ADXV > 40 and DM > dP)) Then
sell("s1");
if MarketPosition == 0 Then{
if MarketPosition(1) == 1 and IsExitName("StopTrailing",1) == true and H > BBdn and macdv >= macds
and (ADXV < 40 or (ADXV > 40 and DP > DM))
then { buy("bb",AtStop,C-PriceScale);}
if MarketPosition(1) == -1 and IsExitName("StopTrailing",1) == true and L < BBup and macdv <= macds
and (ADXV < 40 or (ADXV > 40 and DM > dP))
then { sell("ss",AtStop,C+PriceScale);}
}
1.
매도 또는 매수 신호에 의해 진입이 되고,
진입한 봉 포함 5개 봉이 지난 다음부터는 손절이나 익절로 청산이 되지 않고,
원래 진입자리로 돌아오면 청산되는 수식을 구현해 주실 수 있으신지요?
매수면 +1틱 매도면 -1틱에서 청산되게 부탁드립니다.
5개봉이 지나고 가격은 원래자리에 없으면, 그냥 시스템 신호의 결정을 기다립니다.
자기 자리로 다시 돌아올때만 청산되게 부탁드립니다.
2.
ADX 라인이 DP/DM위로 올라서면 진입하는 수식 부탁드립니다.
DP가 DM보다 위에 있으면 매수로 진입, DM이 DP보다 위에 있으면 매도로 진입합니다.
ADX 라인이 DP/DM위에 있고, DP/DM change 가 발생해도 거기에따라 재진입 부탁드립니다.
감사합니다.
2017-02-10
119
글번호 106686
답변완료
안녕하세요
안녕하세요.반갑습니다
아래지표들을 9개전 값을 현재시간대에
나타나게 하여 두개값을 비교분석 하게 할수있을까요
1.RSI
Input : Period(9),SigPeriod(20);
Plot1(RSI(Period), "RSI");
plot2(ema(RSI(Period),SigPeriod), "RSI시그널");
PlotBaseLine1(30, "기준선1");
PlotBaseLine2(70, "기준선2");
PlotBaseLine3(50, "기준선3");
2.StochasticsK
Input : Period(12), Period1(5), Period2(5);
var : StoK(0),StoD(0);
StoK = StochasticsK(Period,Period1);
StoD = StochasticsD(Period,Period1,Period2);
Plot1(StoK, "StochasticsK");
Plot2(StoD, "StochasticsD");
PlotBaseLine1(20, "기준선20");
PlotBaseLine2(80, "기준선80");
PlotBaseLine3(50, "기준선50");
3.일목균형표 의 기준선만26개전값과 현재값 동시표시.
감사합니다.
2017-02-09
144
글번호 106685
답변완료
문의드립니다.
추운 날씨에 고생 많으십니다.
아래와 같은 수식 부탁드립니다.
1.매수
20일선 우하향 하다가 우상향으로 바뀐후 최초로 발생한 캔들A 가 있고
(캔들A는 봉이 5일선을 상승돌파하여 누적거래량 1000 초과한 봉이고)
캔들A 주변 전후로 10개봉 이내에서 거래량 지표상으로 거래량 2000 이상이
발생한 캔들B 가 추가로 생기면 봉이 5일선 이하로 눌렸을때 즉시 매수진입
2.매도
매수진입과 반대
수고하세요 ^^
2017-02-09
133
글번호 106684
답변완료
문의드립니다.
틱 차트에서 upvol, downvol의 연속된 합을 표현할 수 있나요??
[3111] 체결추이에 보면 순연속합이 있던데 틱차트에서 합치면 똑같을거 같은데 연속된 합을 구해서 표현하는 방법이 있는지 궁금합니다.
AccumN 함수로는 안될거 같고 논리구문을 써서 가능할지 궁금하네요
2017-02-09
133
글번호 106683
답변완료
문의드려요
안녕하세요 문듸드립니다.
1번과 5번에서 지수가 기준이평선과 +-3틱 차이일때 각각 매수 매도. 손절15틱 익절20틱
2번3번4번에서 위의내용처럼 +-3틱 신호로 진입했는데 5틱이 넘어가면 손절과 동시에 스위칭이 가능할까요
매도로 진입했는데 +5틱이 넘어가면 손절후 매수스위칭 / 매수 진입했는데 -5틱 넘으면 손절후 매도스위칭
기본손절 15틱과 익절 20틱, 기준이평선이 변수에서 변경 가능하면 좋겠습니다.
추가로 진입후 10틱 이상 진행하면 되돌아올시 +1틱에서 익절청산이 가능하다면 부탁드립니다.
만약에 안된다면
기준이평 밑에서는 +-3틱 차로 매도 신호, 위에서는 매수신호만 나오도록 해주세요
손절 익절 익절mit는 위와같이 부탁드릴게요
설명을 달아주시면 수정해서 사용해보도록 하겠습니다
수고하세요~~
2017-02-09
153
글번호 106682