커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6347
글번호 230811
답변완료
문의 드립니다
안녕하세요
이평선에서 같이 수평선으로 표시하고 싶습니다
이평과 동시에 수평선을 보고자 합니다
이평변수는 조정가능하고자합니다
부탁드립니다
감사합니다
2017-02-02
139
글번호 106501
답변완료
안녕하세요 좀 도와주세요
안녕하세요
해결되지 않는 부분이 있어 도움을 요청합니다.
차트 셋팅은 종목1(Data1), 종목2(Data2), 지표로 구성되어있고,
지표는 Data1과 Data2의 데이터 값을 이용한 지표입니다.
제가 구성하고 싶은 것은....
1. 각종목(Data1,2)의 가격과 상관없이 오로지 지표값에 따라 진입, 청산을 하고 싶습니다.
(지표값이 일정해도 두종목의 가격은 서로 다르게 움직여서 진입가격을 종목의 가격으로
지정할 수 없습니다)
2. 진입후 오버가 진행되더라도 한번의 전략이 진행되는 동안에는
최초 진입당시의 지표값을 기준으로 청산과 재진입을 반복합니다
3. 당일 시초 지표값을 OpenPrice로 두고(최초 진입 기준값)
최초 진입 기준값보다 지표값이 "15" 상승하면 ---> 1차 매도진입
최초 진입 기준값보다 지표값이 "35" 상승하면 ---> 2차 매도진입
최초 진입 기준값보다 지표값이 "50" 상승하면 ---> 3차 매도진입
4. 최초진입후 지표값이 20하락하면(지표값 "-5") 청산후 매매종료
5. 최초진입후 2차진입까지 진행되면 지표값이 2차진입기준 25하락시(지표값 "10")
2차 매도분만 청산후 2차 매도진입 시점에서 재진입과 청산 반복
6. 3차진입까지 진행되면 3차진입 지표값 대비 30하락시(지표값 "20") 3차 매도분 청산후
3차 매도진입 시점에서 재진입과 청산을 반복
7. 지표값기준 총 누적손익(보유+청산)이 "70"이면 모두 청산후 매매 종료
8. 지표값기준 총 누적손실(보유+청산)이 "300"이면 모두 손절처리후 매매 종료
제가 만들어본 수식은 피라미딩을 허용하지 않으면 1차 진입과 청산은 이루어지는데...
피라미딩 적용후 2차까지의 진입시 2차 진입분은 청산이 되는데...
1차 진입분은 청산이 안되네요... 이유를 찾지 못하겠습니다. 좀 도와 주세요^^
감사합니다
## Xcond 조건 ##
IF MarketPosition == 0 Then Xcond = False ;
If TotalTrades > TotalTrades[1] Then
{
If (IsExitName("SX1",1) == True or IsExitName("BX1",1) == True) Then
Xcond = True;
Else
Xcond = false;
}
## 매도 조건 ##
## OpenPrice는 지표의 당일 시가값, Double은 지표값 ##
If ((stime > 100000 and stime <= 240000) or (stime < 063000)) and (Xcond == false) then
{
If MarketPosition == 0 and CrossUp(Double, OpenPrice+진입1) then
{
Sell("S1", OnClose, DEF, 1) ; // 1차 진입
AA1 = Double ; // 초기 진입지표값 기억
}
SellProfit1 = AA1 - Double ;
If CrossUp(SellProfit1, 목표수익1) then
ExitShort("SX1", OnClose, DEF, "S1", 1) ; // 1차진입분 청산
if MarketPosition == -1 and CurrentContracts == 1 and CrossDown(SellProfit1, -진입2) then
{
Sell("S2", OnClose, DEF, 1) ; // 1차 진입후 손실시 2차진입
}
if MarketPosition == -1 and CurrentContracts == 2 and CrossDown(Double_C, AA1+진입2-목표수익2) then
{
ExitShort("SX2", OnClose, DEF, "S2", 1) ; // 2차 진입분 청산
}
}
2017-02-02
138
글번호 106500
답변완료
수정 부탁드립니다.
수고하십니다.
다음 수식을 적용할때 선이 나타나지 않습니다.
무엇이 잘못 됬는지 수정 부탁드립니다.
input : P1(9);
var : LT1(0),HT1(0),NewH1(0),idx1(0),box1(false),TOP1(0),BTM1(0);
LT1 = LOWEST(L,P1);
HT1 = HIGHEST(H,P1);
if H > HT1[1] Then{
NewH1 = H;
idx1 = 0;
}
idx1 = idx1+1;
box1 = HIGHEST(H,P1-2) < HIGHEST(H,P1-1);
if idx1 == P1-2 and box1 Then{
TOP1 = NewH1;
BTM1 = LT1;
}
2017-02-02
133
글번호 106499
답변완료
시뮬차트와 전략차트에 대해서
첫번째 제가 틱봉으로 많이 보는데
시뮬차트에서 날짜로하는것과
같은 틱을 적용해서 건수로 하는것과는
결과값이 다르더라구요
봉도 조금씩 다르고요
틱봉이 시작하는 시점이 달라서 그런건가요?
그렇다면 똑같은 결과값을 갖기위해서 설정을 어떻게 바꿔야하는지 알려주세요
그리고 전략차트는 왜 날짜로는 안되는지 알려주시구요
두번째 제가 같은기간으로 틱을 잡아서 같은 조건으로
시뮬을 돌리는데 왜 결과값이 달라지는걸까요?
수수료는 똑같이했고 차트도 똑같이했습니다
전 엑셀로 정리해서 원래있던 기록도 같구요
2017-02-02
159
글번호 106497
답변완료
macd+stocastics 2차 파생지표의 시스템식(매수/매도신호)을 부탁합니다.
macd+stocastics 2차 파생지표의 시스템식(매수/매도신호)을 부탁합니다.
지난번에 지표주셔서 감사합니다.
제가 원하는 것은 Macd+Slow%K(12,26,14,3,3) Macd+Slow%D
1. MACD = 단기이동평균(12) - 장기이동평균(26) Stochastic Slow %K = Stochastic Fast %K의 이동평균 (즉 Stochastic Fast %D) MACD+Stochastic = MACD 값을 구한 후 Stochastic Slow %K에 대입할 때 종가 대신 MACD 값을 넣어서 구하는 방식으로 지표로 시스템식(매수/매도신호)을 만들어주시면 감사하겠습니다.
한화증권, 농협증권과 하나금융증권의 2차파생지표로 macd+stocastics를 많이 참고하고 있습니다.
한화증권의 2차파생지표인 macd+stocastics를 첨부했으니 참고해 주세요.
설명은 다음과 같은 계산식이 있네요.
* 계산식
MACD = 단기이동평균(12) - 장기이동평균(26)
Stochastic Slow %K = Stochastic Fast %K의 이동평균 (즉 Stochastic Fast %D)
MACD+Stochastic = MACD 값을 구한 후 Stochastic Slow %K에 대입할 때 종가 대신 MACD 값을 넣어서 구하는 방식입니다
감사합니다.
----------------
안녕하세요
예스스탁입니다.
1번식이 문의하신 내용으로 작성된 식입니다.
1
input : short(12),long(26),sto1(14),sto2(3),sto3(3);
var : HH(0),LL(0),FK(0),SK(0),SD(0);
var1 = MACD(short,long);
HH = Lowest(var1, sto1);
LL = Highest(var1, sto2);
FK = (var1 - LL) / (HH-LL) * 100;
SK = ema(FK,sto1);
SD = ema(SK,sto2);
plot1(Sk);
plot2(sd);
PlotBaseLine1(20);
PlotBaseLine2(80);
2
input : short(12),long(26),sto1(14),sto2(3),sto3(3);
var : HH(0),LL(0),FK(0),SK(0),SD(0),T(0);
var1 = MACD(short,long);
HH = Lowest(var1, sto1);
LL = Highest(var1, sto2);
FK = (var1 - LL) / (HH-LL) * 100;
SK = ema(FK,sto1);
SD = ema(SK,sto2);
if SK > SK[1] Then
T = 1;
if SK < SK[1] Then
T = -1;
if T == 1 and T[1] == -1 Then
buy();
if T == -1 and T[1] == 1 Then
sell();
즐거운 하루되세요
2017-02-02
290
글번호 106483
답변완료
선
전일 위꼬리 중심선
전일 아래꼬리 중심선
오른쪽으로연장 부탁드립니다.
2017-02-02
155
글번호 106482
답변완료
수식수정부탁드립니다.
안녕하세요. 수고많으세요 .
지난번에 답변받았던 수식이 재대로 작동이 안되서 다시 문의드립니다.
30분봉에서 60선이격도와 20선이격도에 따라 매도가 시행되고 적용시간이후 한번만 작동하고 멈추는 시스템이 필요합니다. 60선이격도와 20선이격도 모두 104를 넘는 경우와 둘중하나만 104를 넘어도 작동하는 2가지 부탁드립니다.봉완성시가 아닌 현재가의 이격도가 104을 넘는 순간 주문이 들어가야 합니다. 감사합니다.
______________________________________________________________________________________
안녕하세요
예스스탁입니다.
1
input : 적용일(20170120),적용시간(120000),P1(20),P2(60);
var : mav1(0),mav2(0),Tcond(false),Entry(false);
mav1 = ma(c,P1);
mav2 = ma(c,P2);
if sdate >= 적용일 and stime >= 적용시간 Then{
Tcond = true;
}
if Tcond == true and entry == false then{
if C >= mav1*1.04 and NextBarOpen < mav2*1.04 Then
buy("b1",AtStop,mav2*1.04);
if C >= mav2*1.04 and NextBarOpen < mav1*1.04 Then
buy("b2",AtStop,mav1*1.04);
}
if MarketPosition == 1 Then
entry = true;
2
input : 적용일(20170120),적용시간(120000),P1(20),P2(60);
var : mav1(0),mav2(0),Tcond(false),Entry(false);
mav1 = ma(c,P1);
mav2 = ma(c,P2);
if sdate >= 적용일 and stime >= 적용시간 Then{
Tcond = true;
}
if Tcond == true and entry == false then{
if NextBarOpen < mav1*1.04 Then
buy("b1",AtStop,mav1*1.04);
if NextBarOpen < mav2*1.04 Then
buy("b2",AtStop,mav2*1.04);
}
if MarketPosition == 1 Then
entry = true;
즐거운 명절 되시길 바랍니다.
2017-02-02
144
글번호 106481
답변완료
문의드립니다
input : ntime(50),sig(10),Period1(5),익절틱수(8),손절틱수(8);
var : mav1(0),Bxcond(false),Sxcond(false);
var1 = Accum(iff(ma(c-c[1],ntime) > 0,1,-1) * pow((ma(pow(c-c[1],2),ntime)+1),0.5)+
pow((pow(c-c[1],2) +1),0.5) * iff(c>c[1],1,-1));
var2 = ma(var1,sig);
mav1 = ma(c, Period1);
Bxcond = ExitDate(1) == sdate and MarketPosition(1) == 1 and (IsExitName("bl",1) == true or IsExitName("bp",1) == true);
Sxcond = ExitDate(1) == sdate and MarketPosition(1) == -1 and (IsExitName("sl",1) == true or IsExitName("sp",1) == true);
if MarketPosition <= 0 and Bxcond == false and
(crossup(var1,var2) or (var1 > var2 and mav1 > mav1[1])) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 Then{
if var1 > var2 and mav1 > mav1[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if CrossDown(var1,var2) then{
ExitLong("bx");
}
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
}
if MarketPosition >= 0 and Sxcond == false and
(CrossDown(var1,var2) or (var1 < var2 and mav1 < mav1[1])) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if var1 < var2 and mav1 < mav1[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if crossup(var1,var2) Then
ExitShort("sx");
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
}
위 수식의 매매방식을 유지하면서 큰선인 ntime1(400),sig1(200)를 추가하고자 합니다
예) ntime1(400),sig1(200),ntime2(50),sig2(10),Period1(5),익절틱수(8),손절틱수(8);
으로 수식을 만들고자 합니다
다시 말씀드리면
큰선 ntime1(400),sig1(200)이 상승일때만
(ntime2(50),sig2(10),Period1(5),익절틱수(8),손절틱수(8);)이것이 상승만 진행하고 하락은 진행하지 않음
반대로
큰선 ntime1(400),sig1(200)이 하락일때만
(ntime2(50),sig2(10),Period1(5),익절틱수(8),손절틱수(8);)이것이 하락만 진행하고 상승은 진행하지 않음
결론
큰선 ntime1(400),sig1(200)이 상승일 때 상승만 진행하고
큰선 ntime1(400),sig1(200)이 하락일 때 하락만 진행하도록 수식 부탁합니다
감사합니다
2017-02-02
127
글번호 106480
답변완료
시스템식 문의 드립니다.
안녕하세요
시스템식 문의 드립니다.
단기이평과 장기이평이 정배열상황에서 종가가 단기이평을 상승돌파하면
돌파봉의 고점 1틱 위에서 매수진입
단기이평과 장기이평이 역배열상황에서 종가가 단기이평을 하락이탈하면
이탈봉의 저점 1틱 아래서 매도진입
손절은 30틱
매수청산은 단기이평을 종가가 이탈하고 이탈봉의 저점(매수가보다 클 경우)
1틱 아래서 청산
매도청산은 단기이평을 종가가 돌파하고 돌파봉의 고점(매도가보다 작을 경우)
1틱 위에서 청산
감사합니다.
2017-02-02
125
글번호 106479