커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4439
글번호 230811
답변완료
시스템수식문의드립니다
30분봉에서 3,9이평이 크로스되는 시스템수식을 만들고 싶습니다
자세한 설명은 첨부된 화일에 자세히 기록했습니다
부탁드립니다
감사합니다
2017-02-19
122
글번호 106992
답변완료
다음 시초가 진입 수식을 반대로 만들수가 있나요?
안녕하세요.
주말 내내 수식 검색하면서 테스트해보니..
다음의 수식으로는 지난 6개월동안 일관되게 수익이 - 결과로 합계 -130p 수익(수수료, 슬리피지 계산)이네요.
혹시, 다음 수식을 반대로 만들면 많은 수익이 나지 않을까요???
제가 혼자 해보니 손실은 줄어들기는하는데요. 큰(?) 수익은 안되네요.
전문가님께서 한번 반대로 만들어 주세요.
감사합니다.
--------------
안녕하세요
예스스탁입니다.
청산의 다른조건이 없으므로
barssinceentry() >= 0을 barssinceentry() == 0로 변경하셔도
결과는 같습니다.
즐거운 하루되세요
> 행복충전 님이 쓴 글입니다.
> 제목 : 시초가 주문
아래 식에서 주석문처리된 문장을 삭제하면 어떻게 되나요?
barssinceentry() >= 0 을 barssinceentry() == 0 이렇게 바꾸면 어떻게 되나요?
var : maV(0);
maV = ma(C,20);
//if index >= 0 then {
if maV > maV[1] then
buy("매수", atmarket);
//}
if barssinceentry() == 0 then
exitlong("매수청산", atmarket);
2017-02-19
124
글번호 106991
카카 님에 의해서 삭제되었습니다.
2017-02-19
20
글번호 106990
답변완료
수식문의
안녕하세요
하기 수식에서 추가하고 싶어서 메일 드립니다.
검토 부탁드립니다.
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;
if MarketPosition <= 0 and
C > BBup and C > O and countif(C > C[1],2) == 2 and
(ADXV < 40 or (ADXV > 40 and DP > DM)) and
BBup-BBdn >= PriceScale*30 and countif(adxv > adxv[1],2) == 2 Then{
buy("b2");
}
if MarketPosition >= 0 and
C < BBdn and C < O and countif(C < C[1],2) == 2 and
(ADXV < 40 or (ADXV > 40 and DP < DM)) and
BBup-BBdn >= PriceScale*30 and countif(adxv > adxv[1],2) == 2 Then{
sell("s2");
}
상기 수식에서 하기를 추가하고 싶습니다.
1. 20, 60, 120 이평이 4가지 모두가 10틱이내로 들어옵니다.
2. 볼린져밴드가 축소 되었다가 다시 확장하기 시작합니다.
3. 가격이 볼린져 밴드 중심선에서 상단으로 가면 매수,
하단으로 가면 매도 진입 수식 부탁드립니다.
4. 상기를 지표식으로도 표현이 가능한지도 부탁드립니다.
감사합니다.
2017-02-19
108
글번호 106989
답변완료
오류 부분 수정부탁드립니다.
안녕하세요..
다음 수식의 16 과 21번째 줄의 오류 수정 부탁드립니다.
input : 거래시간 (1), 시작시간 (160000), 끝시간 (045500),익절틱수 (30),손절틱수 (15);
input : LENGTH(17), Period(14);
var : TCHAN(0), BCHAN(0), ADXv(0), HH(0), LL(0);
ADXv = ADX(Period);
TCHAN = HIGHEST(HIGH, LENGTH);
BCHAN = LOWEST(LOW, LENGTH);
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
C = HIGHEST(HIGH, LENGTH) and adx(Period) < 25 Then
buy();
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
C = LOWEST(LOW, LENGTH) and adx(Period) < 25 Then
Sell();
if MarketPosition == 1 Then{
HH = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 ));
ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*HH);
}
if MarketPosition == -1 Then{
LL = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수));
ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수))-(PriceScale*손절틱수)*LL);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
2017-02-19
82
글번호 106988
답변완료
수식 문의드립니다
아래 지표는 거래량포함 당일평균선 지표식인데요,
당일평균선, 2일평균선, 3일평균선까지 하나의 지표에 같이 나타낼수 있으면 도움이 되겠습니다.
하나의 지표에 나타낼 수 없다면 2일평균선, 3일평균선 각각의 지표라도 나오게 부탁드립니다.
var : idx(0),mav(0);
if Bdate != Bdate[1] Then{
value1 = 0;
value2 = 0;
}
var1 = C*V;
value1 = value1+var1;
value2 = value2+V;
value3 = value1/value2;
plot1(value3);
2017-02-19
110
글번호 106987
답변완료
시스템수식 문의입니다.
하루에 1번만 수식이 나오면 끝나게 할수 있나요?
Input : shortPeriod(5), longPeriod(20);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
2017-02-18
112
글번호 106986
답변완료
수식문의합니다
안녕하세요
조건일치시 카운트 시작
계속 카운트 후 날짜변경 되면 0부터 다시 카운트
이렇게 부탁드립니다 키움에 있는 countsince 라고 해서 조건만족후의 봉 수 체크하는 함수입니다. 1)날짜변경여부 확인 2)조건 만족후 카운트 이렇게 두가지요 :)
2017-02-19
128
글번호 106985
답변완료
시스템식 수정 부탁드립니다.
안녕하세요.
다음의 시스템 수식 부탁드립니다.
감사합니다.
1. 예스트레이드 시스템선택식의 파라볼릭에서
당일 시초가 위에서는 매수진입과 매수청산을 실행합니다.
추가로 시초가위에서 매수청산후, 파라볼릭지표가 하방이고, 시초가밑으로 내려갈 경우에 매도진입과 청산을 하는 식입니다.
당일 시초가 밑에서는 매도진입과 매도청산 신호만 실행되게 시스템식 부탁합니다.
추가로 시초가 밑에서 매도청산후, 파라볼릭지표가 상방이고, 시초가 위로 올라갈 경우에 매수진입과 청산을 하는 식입니다.
예) 시가 밑에서 매도/매도청산 자동매매하다가, 장중에 현재가가 시초가 위로 바뀌고 파라볼릭 지표가 상방인 경우, 시초가위에서 매수집입과 매수청산을 자동매매가 되도록 부탁합니다.
2. 다음의 MACD+STOC 합성 시스템식에서 위와 같은 조건으로 수정 부탁드립니다.
당일 시초가 위에서는 매수진입과 매수청산을 실행합니다.
추가로 시초가위에서 매수청산후, MACD+STOC 합성 지표가 하방이고, 시초가 밑으로 내려갈 경우에 매도진입과 청산을 하는 식입니다.
당일 시초가 밑에서는 매도진입과 매도청산 신호만 실행되게 시스템식 부탁합니다.
추가로 시초가 밑에서 매도청산후, MACD+STOC 합성 지표가 상방이고, 시초가 위로 올라갈 경우에 매수진입과 청산을 하는 식입니다.
예) 시가 밑에서 매도/매도청산 자동매매하다가, 장중에 현재가가 시초가 위로 바뀌고MACD+STOC 합성 지표가 상방인 경우, 시초가 위에서 매수집입과 매수청산을 자동매매가 되도록 부탁합니다.
----------------
안녕하세요
예스스탁입니다.
1.
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
if C > dayopen Then{
If crossup(c,value) Then
Buy("b");
If CrossDown(c,value) Then
ExitLong("bx");
}
if C < dayopen Then{
If CrossDown(c,value) Then
sell("s");
If CrossUp(c,value) Then
ExitShort("sx");
}
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 = Highest(var1, sto1);
LL = Lowest(var1, sto2);
FK = (var1 - LL) / (HH-LL) * 100;
SK = ema(FK,sto1);
SD = ema(SK,sto2);
if c > dayopen then{
if SK > SK[1] and SK[1] < Sk[2] Then
buy("b");
if SK < SK[1] and SK[1] > Sk[2] Then
ExitLong("bx");
}
if c < dayopen then{
if SK < SK[1] and SK[1] > Sk[2] Then
sell("s");
if SK > SK[1] and SK[1] < Sk[2] Then
ExitShort("sx");
}
즐거운 하루되세요
> sky78 님이 쓴 글입니다.
> 제목 : 파라볼릭과 MACD+STOC 시스템식 부탁드립니다.
> 안녕하세요.
만들어주신 지표와 시스템식 잘 활용하고 있습니다.
오늘 하이투자증권 교대역 지점에서의 강의도 잘 들었습니다.
감사합니다.
다음의 2개 시스템식 부탁드립니다.
1. 예스트레이드 시스템선택식의 파라볼릭에서
당일 시초가 위에서는 매수진입과 매수청산 신호만 실행되게 시스템식 부탁합니다.
당일 시초가 밑에서는 매도진입과 매도청산 신호만 실행되게 시스템식 부탁합니다.
예) 시가아래서 매도/매도청산 자동매매하다가, 장중에 현재가가 시초가위로 바뀐 경우, 매도포지션으로 오버나잇한 경우에는 시초가위에서 매수신호와 매수청산을 자동매매가 되도록 부탁합니다.
2. 다음의 MACD+STOC 합성 시스템식에서
당일 시초가 위에서는 매수진입과 매수청산 신호만 실행되게 시스템식 부탁합니다.
당일 시초가 밑에서는 매도진입과 매도청산 신호만 실행되게 시스템식 부탁합니다.
예) 여기서도 시가아래서 매도/매도청산 자동매매를 하다가, 장중에 현재가가 시초가위로 바뀐 경우, 매도포지션으로 오버나잇한 경우에는 시초가위에서 매수신호와 매수청산을 자동매매가 되도록 부탁합니다.
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 = Highest(var1, sto1);
LL = Lowest(var1, sto2);
FK = (var1 - LL) / (HH-LL) * 100;
SK = ema(FK,sto1);
SD = ema(SK,sto2);
if SK > SK[1] and SK[1] < Sk[2] Then
buy();
if SK < SK[1] and SK[1] > Sk[2] Then
sell();
2017-02-19
116
글번호 106984