커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6177
글번호 230811
gaara 님에 의해서 삭제되었습니다.
2018-02-27
0
글번호 116962
답변완료
질문입니다.
질문1.
지표에 관한 질문입니다.
일봉기준으로 현재일이 2월 27일이라면,
1월 28일부터 2월 27일까지 일봉의 갯수를 구하는 지표를 알고 싶습니다.
즉, 한달간의 거래일 갯수를 구하는 지표이죠.
또한, 변수X를 주어 X가 1이면 한달, X가 2이면 두달...이런식으로
X에 따라 거래일봉의 갯수를 구하고 싶습니다.
질문2.
시스템에 관한 질문입니다.
선물에서 1계약으로 운영하는 시스템이 있습니다.
여기에 피라미딩을 전략을 적용하여 2계약을 운영하려고 합니다.
예를들어 5일이평을 하향돌파하면 매도,
10일이평을 상향돌파하면 매수라는 1계약 운영시스템에,
매수진입한 가격보다 0.5points 상승이라면 1계약추가매수,
매도진입한 가격보다 0.7points 하락이라면 1계약추가매도라는 피라미딩을 적용하려고합니다.
문제는 예를들어 2계약이 들어간 상태에서 특정봉에서 매도시그널이 나왔는데,
매도시그널과 매수피라미딩 시그널이 겹치는 현상이 발생합니다.
매수2계약 진입 후 매도 시그널이 발생하면 매수2계약을 청산하고,
매도로 1계약을 진입해야하는데,
매도로 진입함과 동시에 그 봉에서 매수피라미딩이 발생해버립니다.
이렇게 한봉에서 신호가 겹치는 현상을 해결하고 싶습니다.
예시로 부탁드립니다.
감사합니다.
2018-02-27
173
글번호 116961
알리섬 님에 의해서 삭제되었습니다.
2018-02-27
10
글번호 116955
답변완료
염치 없지만 수식 작성을 부탁드려 봅니다.
안녕하세요.
어설픈 설명보다는 수식을 보여드리는 게 나을 것 같습니다.
키움증권에서의 수식은,
A = Highest(H,기간);
A * (1-이격/100);
입니다.
기간과 이격은 사용자가 넣는 설정값이고요.
기간=10
이격=20
이런 식으로 말이죠.
저 수식을 예스트레이더에 맞게 바꾸려니 작성법이 달라 어렵더라고요.
기간과 이격값은 제가 설정할 수 있게 부탁 드리겠습니다.
고맙습니다.
2018-02-27
246
글번호 116954
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
코딩 변환 부탁드립니다.
inputs:AMT(50000),
R2LENGTH(18),SMOOTH(3),TREND(.42),R2MAX(.85),LAG(10),
LRCRIT(10),MAB(50);
variables: SH(0),R21(0),MAST(0),ST(0),OB(0),R2(0),R22(0),LR(0);
SH=ROUND(AMT/C,0);
//R2
If barnumber>R2LENGTH+SMOOTH+LAG then begin
R21 = COEFFICIENTR(C,CUM(1),R2Length);
R22=AVERAGE(R21,SMOOTH);
R2 = Square(R22);
LR=100*LinearRegSLOPE(C, R2Length);
If R2 CROSSES OVER TREND AND R2<R2MAX AND R2>R2[LAG] THEN
BEGIN
// LONG
If C > AVERAGE(C,MAB) AND LR>LRCRIT THEN BUY("STRONGTREND")
SH SHARES NEXT BAR AT MARKET;
//SHORT
If C <AVERAGE(C,MAB) AND LR<-LRCRIT THEN SELLSHORT
("STRONGDOWNTREND") SH SHARES NEXT BAR AT MARKET;
END;END;
IF C CROSSES UNDER AVERAGE(C,MAB) THEN SELL("MA")
ALL SHARES NEXT BAR AT MARKET;
IF C CROSSES OVER AVERAGE(C,MAB) THEN BUYTOCOVER("XMA")
ALL SHARES NEXT BAR AT MARKET;
If LastBarOnChart then sell("LAST") THIS BAR AT CLOSE;
If LastBarOnChart then BUYTOCOVER ("XLAST") THIS BAR AT CLOSE;
2. 기타
1번 전략에서 지표 부분만 뺄 수 있을까요.
2018-02-27
280
글번호 116953
답변완료
수식부탁드립니다==================
// hii 를 당일의데이타만 사용하여 표시하게해주시면 감사하겠슴니다
// 수고하세요
Input:찬스라인(0),downn(0.98),LENGTH1(60),LENGTH2(10),비교봉(5),비교봉1(5),양합상승(1.008),양합하락(0.985),표시2(0);
Input:소리2(1),소리22(0),표시위치(0.7),최고저기준(20),교차간격(0);
var : sum2(0,data1),sum4(0,data1),sum6(0,data1),TEMA1atm2(0),TEMA1atm4(0),TEMA1atm6(0),ss(0);
var : HH(0,data2),LL(0,data2),hl(0,data2),ii(0,data2);;
var : crup(0),crdn(0),sum22(0),ccurnt(0),cgap(0),callgap(0),putgap(0),plemeumgap(0),chanline(0);
var :linegi(0),data2yc(0),data3yc(0),hapyc(0),hapycrt(0),TEMA1hapycrt(0),crup96(0),data2opc(0),data3opc(0),datatoopp(0);
var :susm22(0),sucrup(0),hhh(0),lll(0),hii(0),chanceline(0),pyungyc(0),pyungty(0);
sum2 = (data2(c)+data3(c));
sum22 =(data2(c)+data3(c))/2*250000;
data2opc = data2(openD(0));
data3opc = data3(openD(0));
datatoopp = (data2opc + data3opc) / 2 *250000;
susm22 = sum22 - datatoopp;
data2yc = data2(closeD(1));
data3yc = data3(closeD(1));
pyungyc = ( data2yc + data3yc ) / 2 *250000;
pyungty = pyungyc - datatoopp;
if data2(bdate != bdate[1]) Then{
ii = 0;
HHh = susm22 ;
LlL = susm22;
}
else
{
ii = ii+1;
if ii < 최고저기준 Then
{
if susm22 > hHH Then
HHh = susm22;
if susm22 < lLL Then
LLl = susm22;
}
else{
HHh = data2(highest(susm22,최고저기준));
LLl = data2(lowest(susm22,최고저기준));
hii = (hhh + lll)/2;
}
}
//plot1(sum2,"양합");
PLOT3(sum22,"수정양합");
//hhh = hh - susm22;
//lll = ll - susm22;
//hii = (hhh + lll) / 2;
plot21(HHh,"Data2 H" );
plot22(LLl,"Data2 L");
plot23(hii,"hii");
if hii > hii[1] then {
PLOT24(hii,"상승");
if 소리2 == 1 then {
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩up2.wav");
}
}
if hii < hii[1] then {
PLOT25(hii,"하락");
if 소리2 == 1 then {
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩dn2.wav");
}
}
TEMA1atm2 = (3 * Ema(sum22,LENGTH1)) - (3 * Ema(Ema(sum22,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(sum22,LENGTH1),LENGTH1),LENGTH1));
plot5(TEMA1atm2,"태마2",iff((TEMA1atm2 )>(TEMA1atm2[1])+00,RED,iff((TEMA1atm2 )<(TEMA1atm2[1] )-00,BLUE,BLACK)));
if ( Data2(c) > Data3(c)) and ( Data2(c) - Data3(c)) < 교차간격 Then{
crup = (Data2(c)+Data3(c))/2*250000;
ccurnt = c;
}
if ( Data3(c) > Data2(c)) and ( Data3(c) - Data2(c)) < 교차간격 Then{
crup = (Data2(c)+Data3(c))/2*250000;
ccurnt = c;
}
// PLOT31(crup,"교차라인");
if ( Data2(c) > Data3(c)) and ( Data2(c) - Data3(c)) < 교차간격 Then{
PLOT52(hii+3500,"상승교차");
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩dd2.wav");
}
if ( Data3(c) > Data2(c)) and ( Data3(c) - Data2(c)) < 교차간격 Then{
PLOT53(hii+3500,"하락교차");
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩dd2.wav");
}
if sTime == 090000 Then {
plot59( 20000,"장시작" );
}
// PLOT58(datatoopp ,"시가평균");
susm22 = sum22 - datatoopp;
PLOT61(susm22 ,"시가대비평가");
plotbaseline1(0);
sucrup = crup - datatoopp;
PLOT62(sucrup,"수정교차라인");
// chanceline = datatoopp * 찬스라인;
// PLOT63(chanceline,"찬스라인");
PLOT63(pyungty ,"전데이타평");
2018-02-27
288
글번호 116952
답변완료
시스템수정 부탁드립니다.
안녕하세요.
이번에 부탁드릴 내용은 다음 시스템에서
당일 수익이 한화로 100만원이 초과하거나 손실이 100만원 초과하면 거래가 중지되도록
요청드립니다. 수익과 손실규모는 수정이 가능하도록 설정부탁드립니다.
Input : 거래시간 (1), 시작시간 (070000), 끝시간 (055000),익절틱수 (6),손절틱수 (10), short(12), long(26), sig(9),BBP(120);
Inputs: 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52);
Var : MACDv(0), MACDsig(0),macdosc(0), HH(0), LL(0);
Variables: 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0);
var1 = MACD(short, long);
var2 = ema(MACDv,sig);
var3 = ma(C,BBP);
전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2;
기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2;
기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2;
선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ;
선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2;
if 거래시간 == 1 then
condition3 = (stime>=시작시간 or stime<=끝시간 );
Else if 거래시간 == 2 then
condition3 = (stime>=시작시간 and stime<=끝시간 );
Else
condition3 = true;
# 매수/매도청산
If MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then
Buy();
# 매도/매수청산
If MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then
Sell();
if MarketPosition == 1 Then{
LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 ));
ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL);
}
if MarketPosition == -1 Then{
HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 ));
ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수 ))-(PriceScale*손절틱수 )*HH);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
2018-02-27
204
글번호 116951
답변완료
수식 문의 드립니다.
안녕하세요. 수식 문의 드립니다.
차트 30분봉
1. 이전봉이 전일 저가 위에 있을때, 전일 저가에서 매수
2. 이전봉이 전일 고가 아래에 있고, 전일 고가에서 매도
청산 30틱, 손절 20틱
[수식 시도 했으나 오류발생함]
--------------------------------------------
If c[1] > daylow(1) Then
{
Buy("B",atstop,daylow(1));
}
IF c[1]< dayhigh(1) Then
{
Sell("S",atstop,dayhigh(1));
}
If MarketPosition == 1 Then
ExitLong("EB", AtStop, EntryPrice - 20*PriceScale);
If MarketPosition == -1 then
ExitShort("ES", AtStop, EntryPrice + 20*PriceScale);
If MarketPosition == 1 Then
Exitlong("XB", atlimit, EntryPrice + 30*PriceScale);
if MarketPosition == -1 Then
ExitShort("XS", atlimit, EntryPrice - 30*PriceScale);
2018-02-27
237
글번호 116950
eiger 님에 의해서 삭제되었습니다.
2018-02-27
0
글번호 116949