커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4615
글번호 230811
답변완료
복수 종목에 복수 시스템 적용할 때 전체 이익시 전체 청산수식
2개의 다른 종목 차트에
각각 다른 A와 B시스템을 적용시킨후
청산은 톻합으로 (A와 B )2개의 시스템을 모두 적용시켜서
계좌의 전체 합산이 이익이 날때 A시스템과 B시스템이라고 가정할 때
한꺼번에 계좌의 모든 시스템을 청산하는 수식을 가능하면 부탁드립니다.
A종목 A시스템 적용
B종목 B시스템 적용할 때
각각 시스템을 종목마다 적용하는 것은 당연하고
혹시 A종목에만 A와 B 함성 시스템을 적용해서
A종목과 B종목 둘다 시스템이 적용되어 매수메도 주문이 들어가는 것이 가능할 수
있는지요?
이렇게 합성시스템으로 한종목만 걸어 놓고 하는 것이 더 낫겠는지요?
아니면 각각 분리해서 시스템을 적용하고 전체 계좌의 전체합산 이익이 날때나 손실이 날때
청산하는 것이 좋겠는지 조언해 주시면 감사드리겠습니다.
2016-05-25
84
글번호 98444
답변완료
수식 문의 드립니다.
주식 특정 2 종목을 사서 차트와 함께 2종목 합산 수익률을 그래프로 나타내고 싶습니다.
수식 좀 부탁 드리겠습니다.
2016-05-25
106
글번호 98443
답변완료
시스템 재질문 드립니다.
안녕하세요
[ 1.2번 캡쳐에 대한 문의 ]
지난주에 문의글 올렸었는데 캡쳐된 그래프에 표시된 부분이 다른식을 나타낸 것으로 보인다고 하셨었는데 제가 코드를 다른 부분을 붙여서 문의드렸었더군요..
헌데 실제로 진입에 대한 조건 자체는 아래와 같이 이전에 문의드린부분과 동일합니다.
저 아래의 조건문 17일선 > 40일선 and CrossDown(C, 40일선) 이 부분을 통과하지 못하는 한 거래 진입이 되지 않을 것이기 때문에 상위단의 조건은 의미가 없다고 생각되는데요..
저 코드반영해서 돌리게 되면 현재 생성되고 진행중인 차트에서는 문제가 발생하고 다 완성된 시스템 차트에서는 실제로 처음의 것만 진입한거로 나타나게 됩니다. 어떤부분이 문제인건지 문의드립니다.
Input : shortPeriod(17), longPeriod(40);
Var : Plus(1.25), Minus(1);
value17 = ma(C, shortPeriod);
value40 = ma(C, longPeriod);
If((value17 > value40) and (CrossDown(C, value40))) Then
{
MessageLog("매도 기본 진입 현재가 : %.2f ", C);
Sell("매도기본");
SetStopProfittarget(Plus, PointStop);
SetStopLoss(Minus, PointStop);
}
[ 2,3번째 캡쳐에 대한 문의 ]
아래 있는 식은 위의 식과 비슷하게 반대로 17일선과 40일선을 기준으로 현재가가 CrossUp시에 매수 진입하도록 하는 식입니다.
헌데 2번과 3번 캡쳐에 동그라미 표시된 부분을 보시면.. 17일선(깜장)이 40일선(분홍)보다 밑에 있고 캔들이 CrossUp하는 시점이 여러번 있는것으로 판단되는데 실제 장이 진행되는동안에는 캡쳐와 같이 진입하지 못하는 경우가 발생합니다.
시스템모니터 상으로는 OnClose 표시로 깜빡깜빡 거리다가 결국 포지션을 챙겨가지 못하는데... 어떤 부분이 문제인가요?? 수식 문의 드립니다.
보다 더 원하는것은 OnClose로 포지션에 들어가게되면 해당 캔들이 완성되는 종가에 진입이 되는것으로 알고 있는데요.
원하는 수식은 현재 봉이 만들어져가고 있는 동안에 40일선을 넘어서는 순간 바로 진입하고 싶습니다.
현재봉의 종가 기준으로 동작하게 되기 때문에 지금 그림과 같이 진입못하는 시점이 생기는건지 의문도 있으면서... 40일선을 넘어가는 그 순간에 바로 시장가로 Buy 가 들어가게 하고싶은데요.. 수식 문의드립니다..
If((value17 < value40) and ( CrossUP(C, value40)))Then
{
MessageLog("매수 기본 진입 현재가 : %.2f ", C);
Buy("매수기본");
SetStopProfittarget(Plus, PointStop);
SetStopLoss(Minus, PointStop);
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 문의드립니다.
>
안녕하세요
예스스탁입니다.
청산후 종가에 다시 조건이 충족하면 다시 진입을 할수는 있습니다.
다만 올려주신 식은 테스트결과
종가에 조건만족하지 않은 상태에서 진입은 나오지 않고 있고
첨부하신 그림에는 매도진입명이 매도기본인데
올려주신 식은 매도옵션1입니다.
해당 조건이 아닌 다른조건에 의해 발생되는 신호같습니다.
수식 전체를 올려주시거나 해당 상황발생시에 02-3453-1060으로 전화주시기 바랍니다.
즐거운 하루되세요
> 꿈돌이 님이 쓴 글입니다.
> 제목 : 시스템식 문의드립니다.
> 안녕하세요.
이평선을 기반으로 해서 시스템식을 구현하고 있는데 이상하게 거래되는 부분이 있어서 문의드립니다.
그림과 같이 기본 Sell() API를 사용하여 구현한 매도식에서 매도 진입 후 5틱 정상청산 직후
시스템에서 바로 다시 매도를 진입하는것을 확인하였습니다.
시스템 식은 아래와 같습니다.
17일선이 40일선보다 위에 있으면서 현재봉이 40일선을 뚫을때 매도진입하도록 한건데
그림에서 보면 처음 진입은 잘 하였으나 청산과 동시에 다시 매도 진입이 들어가는 걸 볼 수 있는데요. 차트상으로 전혀 들어갈수 없는 타이밍인데 청산과 동시에 다시 진입이 됩니다.
시스템 종료후에 다시 적용하면 처음 1회꺼만 진입과 청산을 잘 하였다는식으로 나오는데 어떤 문제인지 문의드립니다.
Input : shortPeriod(17), longPeriod(40)
value17 = ma(C, shortPeriod);
value40 = ma(C, longPeriod);
# 매도 및 청산
If((value17 > value40) and (CrossDown(C, value40))) Then
{
MessageLog("매도 옵션 진입 현재가 : %.2f", C);
Sell("매도옵션1");
SetStopProfittarget(Plus, PointStop);
SetStopLoss(Minus, PointStop);
}
도움 부탁드립니다.
2016-05-24
146
글번호 98442
답변완료
Data2에 대한 식으로 변경 부탁
안녕하세요? 제가 아래의 식을 data2에 대한 식으로 변경해 보았는데 맞지 않는 것 같아 확인하기위한 것이니 data2에 대한 식으로 변경 부탁드립니다.
========================================================
Inputs: ShortPeriod(5),LongPeriod(20);
Variables: Fval(0),FvalFast(0),FvalSlow(0);
Fval = ((Close - Close[1]) * Volume) ;
FvalFast = Ema(Fval, ShortPeriod);
FvalSlow = Ema(Fval, LongPeriod);
If FvalSlow[1] < FvalSlow[0] Then
Plot1(FvalSlow, "Force Index2", MAGENTA);
If FvalSlow[1] > FvalSlow[0] Then
Plot1(FvalSlow, "Force Index2", BLUE);
Plot2(FvalFast, "Force Index1");
PlotBaseLine1(0, "기준선");
==================================================
감사합니다.
2016-05-24
110
글번호 98441
답변완료
문의
안녕하세요
너무자주찾아와서 죄송합니다~~~~~
성공을위하여 오늘두머리짜봅니다
이번에는 스토캐스틱수식부탁합니다
주가가 120 이평선위에있을때는 스토침체탈출시매수 손절10틱 익절20틱
주가가 120 이평아래있을때는 스토과열이탈시매도 손절10틱 익절20틱
2016-05-24
109
글번호 98440
답변완료
고가매수(봉종가기준)저가매도(봉종가기준)
input : HP(5),LP(5);
var : cnt(0),HH(0),LL(0);
HH = dayhigh(1);
for cnt = 1 to HP{
if dayhigh(cnt) > HH Then
HH = dayhigh(cnt);
}
LL = dayLow(1);
for cnt = 1 to LP{
if daylow(cnt) < LL Then
LL = dayLow(cnt);
}
if crossup(c,HH) then
buy();
if CrossDown(c,LL) Then
sell();
위수식은최고가와최저가매매입니다
이것을 봉종가기준 5일고가매수와 5일저가매도부탁합니다
봉의꼬리는 무시합니다 즉 봉시가와 종가만 사용합니다
항상 대단히 감사합니다
2016-05-24
113
글번호 98439
답변완료
수식작성 좀 요청드립니다.
안녕하세요!! 수고가 많으십니다.
1. 아래에서 ATR 계산 시 일봉을 기준으로 작성해야 되는데요.
차트를 1분봉에 해놓으니 바로 청산 되더라구요^^
일봉기준으로 ATR 계산한 후 적용은 1분봉으로 되는 코드 좀 부탁드립니다.
2. 그리고,
당일 현재가 > 시가+ 전일의 a*승수 --> 매수
당일 현재가 < 시가 - 전일의 a*승수 --> 매도
위의 상한선, 하한선을 차트에 표시하려고 하는데 작성 코드 좀 부탁드려용^^
매일 매일 상한선, 하한선이 업데이트 되고, 장중에는 동일하게 유지 되야 되요
주문 나가는 선을 엑셀의 값이랑 확인하려고 합니다.
감사합니다.
------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : n(10),승수(1),P(10),X(1);
var : sum(0),avgv(0),cnt(0),atrv(0);
sum = 0;
for cnt = 1 to n{
sum = sum + (dayhigh(cnt)-daylow(cnt));
}
avgv = sum/n;
atrv = atr(P);
if crossup(c,dayopen+avgv*승수) Then
buy();
if CrossDown(c,dayopen+avgv*승수) Then
sell();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-atrv*x);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+atrv*x);
SetStopLoss(1,PercentStop);
즐거운 하루되세요
> 전략도사 님이 쓴 글입니다.
> 제목 : 수식 좀 부탁드립니다^^
> 1. 과거 n일간의 고가-저가 차이를 평균(a)한다.
2. 당일 현재가 > 시가+ 전일의 a*승수 --> 매수
당일 현재가 < 시가 - 전일의 a*승수 --> 매도
3. 전체 투자금액의 1% 손실 시 손절
ATR 기준 트레일링 스탑
a를 계산할 때는 일봉 기준으로 해야 되는데, 매매는 1분봉으로 할 생각입니다^^
코드 작성 좀 부탁드립니다^^
2016-05-24
106
글번호 98432
답변완료
강조식부탁드립니다
안녕하세요
1.아래식은 전에 작성해 주신 강조식입니다
이강조를 120틱에서 사용했을때 960틱에서도 똑같은 강조상태가 발생해
을때만 120틱차트에서 강조봉발생되는 식부탁드립니다
감사합니다
input : P(5),dv(2),단기(3),중기(10),Period(14);
var : Price(0),BBmd(0),BBup(0),BBdn(0),diff(0);
var : mav1(0),mav2(0),adxv(0);
Price = (C+H+L)/3;
BBmd = ma(Price,P);
BBup = BBmd + std(Price,5)*dv;
BBdn = BBmd - std(Price,5)*dv;
diff = BBup-BBdn;
mav1 = ma(C,단기);
mav2 = ma(C,중기);
adxv = adx(Period);
if BBmd > BBmd[1] and diff > diff[1] and
mav1 > mav2 and
Adxv > adxv[1] Then
PlotPaintBar(H,L,"강조",RED);
if BBmd < BBmd[1] and diff > diff[1] and
mav1 < mav2 and
Adxv > adxv[1] Then
PlotPaintBar(H,L,"강조",BLUE);
2.47888질문에 대한 추가내용입니다
아래식은 틱수표시 지표식인데 이식을 응용해서 120틱,480틱,960틱봉이 함께 나타나록할수없을까요
Plot1(Ticks,"Ticks",RED);
if Ticks>=BarInterval then Plot1(Ticks,"Ticks",RGB(255,0,0));
else {
Var1 = Round(255-200*Ticks/BarInterval,0);
Plot1(Ticks,"Ticks",RGB(255,var1,0));
}
감사합니다
2016-05-24
136
글번호 98431
답변완료
수식 문의드립니다.
아래 조건을 만족하는 수식이 궁금합니다.
- 매수 : 당일 장중 가격 > 당일 시가 + (전일 고가 - 전일 저가) ---> 돌파 시점에
시장가 매수
- 매수청산 : 다음날 시가 시장가 청산
- 매도 : 당일 장중 가격 < 당일 시가 - (전일 고가 - 전일 저가) ---> 돌파 시점에
시장가 매도
- 매도청산 : 다음날 시가 시장가 청산
2016-05-24
107
글번호 98429