커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5534
글번호 230811
답변완료
수식확인 요청
수식을 수정해 주셨는데, 신호가 전혀 잡히지 않아, 첫번째 매수에 있는 LatestEntryPrice(0)*0.98 식을 삭제하고 했더니 매수가 잡히긴 했으나, 두번째 매수부터는 전혀 진행되지 않았습니다...
그리고 매도는 RSI 80이상일시 50프로 매도후에, 나머지는 파라볼릭 sar 매도점이 나오면 바로 올매도 하는식으로 바꾸고 싶습니다.
Input : 투자금액(10000000),RSIP(14), P1(5), P2(25), P3(100), 시작일(20210407),시작시간(073000);
var : value(0),e(0),x(0),count(0),Vma(0), Tcond(false);
var : Rsiv(0),vv(0), Entry(0), mav1(0);
var1 = ma(C,p1);
var2 = ma(C,p2);
var3 = ma(C,p3);
var4 = sar(0.02,0.2);
mav1 = ma(C,30);
Rsiv = RSI(RSIP);
if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then
Tcond = true;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
count = count+1;
if sdate >= 시작일 and stime >= 시작시간 Then
Tcond = true;
if Tcond == true then
{
if crossup(c,var4) Then
Entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 0 and Entry < 1 and var1 > var2 and Rsiv < 60 and C > var4 Then
buy("b1",OnClose,DEF,Floor((투자금액*0.1)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 1 Then
buy("b2",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.1)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 2 Then
buy("b3",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.2)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 3 Then
buy("b4",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.2)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 0 and MaxEntries == 4 Then
buy("b5",atlimit,LatestEntryPrice(0)*0.98,Floor((투자금액*0.4)/min(NextBarOpen,LatestEntryPrice(0)*0.98)));
if MarketPosition == 1 and Rsiv > 55 and var1 > var2 and var2 > var3 and C < var4 Then
exitlong("s");
}
2021-04-12
679
글번호 147949
답변완료
71823 재문의 답변 바랍니다
감사합니다
2021-04-12
766
글번호 147947
답변완료
수식 질문드립니다.
아래 식에서 익절이나,손절, exit 후에는 condi 를 0으로 바꿀 방법이 있을지 궁금합니다.
부탁드립니다.
감사합니다 !!
-----------------------------
if sDate != sDate[1] Then
{
condi = 0;
condi = condi[0];
}
if average((c2+c3),20)>way Then
condi = 1;
if average((c2+c3),20)<-way Then
condi = -1;
if Data1(sTime >= 90000 and sTime < value3 and entry < aptny)and (Tcond == true) Then
{
if condi== 1 and CrossDown(c,ma(c,60))
then
Sell();
if condi == -1 and CrossUp(c,ma(c,60))
then
Buy() ;
}
SetStopEndofday(EndTime);
SetStopProfittarget(익절,PointStop);
SetStoploss(손절,PointStop);
2021-04-12
848
글번호 147946
답변완료
다시 한 번 여쭤 봅니다.
input : 연속봉수(4);
var : 양(False),음(False),S(-1);
양=C>O;
음=C<O;
if 음[1] == true and 양 == true Then
{
S = 0;
}
Else
{
if S >= 0 Then
S = S+1;
}
if S >= 연속봉수 && 양[1] == true && 음 == true Then
var1 = O;
Plot1(var1);
71910 에 답변 감사 합니다.
죄송 합니다. 또 하나 더 이 수식에서
여기를 돌파한 (당일) 검색 할 수 있는 검색식도 부탁 드립니다.
부탁 드립니다.
2021-04-13
634
글번호 147945
답변완료
시스템 수정 문의
진심으로 감사드립니다.
아래 수식 작성하여 주셨는데,
제가 기간변경을 하기 위해서 어느 부분을 수정하면 되는지 알려 주시면 감사하겠습니다.
예) 주,일,60분 봉 -> 일,30분, 3분
다양한 기간을 설정 하면서 테스트 해보고 싶어서 부탁드립니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 작성 부탁드립니다.
>
안녕하세요
예스스탁입니다.
Input : Wshort(12),Wlong(26),Wsig(9);
Input : dshort(12),dlong(26),dsig(9);
Input : short(12),long(26),sig(9);
var : widx(0);
Var : wEp1(0), Wema1(0), PreWema1(0);
Var : wEp2(0), Wema2(0), PreWema2(0);
Var : wEp3(0),PreWMACDS(0),WMACDv(0),WMACDs(0),preWMACDo(0),WMACDO(0);
var : didx(0);
Var : dEp1(0), dema1(0), Predema1(0);
Var : dEp2(0), dema2(0), Predema2(0);
Var : dEp3(0),PredMACDS(0),dMACDv(0),dMACDs(0),predMACDo(0),dMACDO(0);
Var : MACDv(0), MACDs(0),macdo(0) ;
wEp1 = 2/(Wshort+1);
wEp2 = 2/(Wlong+1);
wEp3 = 2/(Wsig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
widx = widx + 1;
PreWema1 = Wema1[1];
PreWema2 = Wema2[1];
PreWMACDS = WMACDs[1];
PreWMACDO = WMACDo[1];
}
if widx <= 1 then
{
Wema1 = C;
Wema2 = C;
WMACDv = Wema1-Wema2;
WMACDs = WMACDv;
WMACDO = WMACDV-WMACDS;
}
else{
Wema1 = C * wEP1 + PreWema1 * (1-wEP1);
Wema2 = C * wEP2 + PreWema2 * (1-wEP2);
WMACDV = Wema1-Wema2;
WMACDS = WMACDV * wEP3 + PreWMACDS * (1-wEP3);
WMACDO = WMACDV-WMACDS;
}
dEp1 = 2/(dshort+1);
dEp2 = 2/(dlong+1);
dEp3 = 2/(dsig+1);
if bdate != bdate[1] Then
{
didx = didx + 1;
Predema1 = dema1[1];
Predema2 = dema2[1];
PredMACDS = dMACDs[1];
PredMACDO = dMACDo[1];
}
if didx <= 1 then
{
dema1 = C;
dema2 = C;
dMACDv = dema1-dema2;
dMACDs = dMACDv;
dMACDO = dMACDV-dMACDS;
}
else{
dema1 = C * dEP1 + Predema1 * (1-dEP1);
dema2 = C * dEP2 + Predema2 * (1-dEP2);
dMACDV = dema1-dema2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
dMACDO = dMACDV-dMACDS;
}
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
macdo = MACDv-MACDs;
if WMACDO > PreWMACDO and
DMACDO > PreDMACDO and
MACDO > MACDO[1] Then
Buy();
if MACDO < MACDO[1] and MACDO[1] > MACDO[2] Then
ExitLong();
즐거운 하루되세요
> 대한이 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> 안녕하십니까?
시스템 작성 부탁드립니다.
조건
주봉 MACD오실레이터 상승 AND 일봉 MACD오실레이터 상승 AND 60분봉 MACD오실레이터 상승
일때 매수
60분봉 MACD오실레이터 하락 반전 매도
감사합니다.
2021-04-12
525
글번호 147944
젤플린 님에 의해서 삭제되었습니다.
2021-04-12
39
글번호 147938
답변완료
지표적용 문제
호가잔량지표가 브이아에선 작동되는데
한국투자증권에선 작동이 안됩니다
해결방법이 있을까요???
지표뿐아니라 시스템도 깜깜입니다.....
2021-04-12
921
글번호 147936
답변완료
수식 작성 부탁드립니다.
안녕하세요.
수식 작성 부탁드립니다.
1. 매매종목 : 해외선물(Austrailia Dollar)(5분봉 기준)
2. 매매 예시
1) 장 개시 시작되면 시장가 1계약 매도 or 매수
(전일 일봉이 양봉이면 매수, 전일 일봉이 음봉이면 매도로 진입)
2) 매수와 동시에 손절(-0.001포인트)만 설정
3) 최초 매수 or 매도한 가격 기준으로 수익 진행시 그대로 홀딩 후 종가 청산
4) 손절되었을 경우 그 방향으로 신규진입
ex) 0.76230 매도 진입 -> 0.76240 손절 되면 -> 0.76240 신규 매수 진입
5) 청산은 장 종료시에 시장가로 청산 설정(익일 05:55분)
이렇게 수식을 만들어 주시면 고맙겠습니다.
2021-04-12
824
글번호 147935
답변완료
수식 추가 수정 요청부탁드립니다.
안녕하세요. 어제 전량 청산 조건으로 수식 작성 부탁드렸는데 하나씩 청산하는
전략으로도 시뮬레이션을 해보고 싶어서요.
< 요청 사항 >
1. 피라미딩으로 수량 증가하면서 늘려가다가 그 반대방향으로 진행시에는 그 방향으로
하나씩 청산(손절) 되면서, 다 청산 되면 신규 매수 or 매도 진입이 되는 방식으로
만들었으면 합니다. 흐름을 따라가면서 계약수를 하나씩 증가시키거나, 감소시키고자
합니다.
2. 매매종목 : 해외선물(Australian Dollar) (5분봉 기준)
3. 매매 예시
1) 최초 시장가 1계약 매수 or 매도
2) 매수 or 매도와 동시에 손절(+- 0.001pt)만 설정
3) 최초 매수 or 매도한 가격 기준으로 수익 진행시 +0.001포인트마다 1계약씩
추가 매수 or 매도
ex) AUD 기준 0.76545 1계약 매수 -> 0.76645 추가 1계약 매수 ->
0.76745 추가 1계약 매수 -> 0.76845 추가 1계약 매수 -> 이후 가격이 0.76745로
되돌림 되었을 때는 먼저 0.76845에서 매수했던 1계약만 매수 청산(손절) ->
0.76745 에서 1계약 매수청산(손절) -> 0.76645 1계약 매수 청산(손절)
-> 0.76545 1계약 매수청산(손절) -> 이후 가격이 0.76445까지 내려가면 0.76445
1계약 매도 진입 -> 0.76345 1계약 매도 -> 0.76245 추가 1계약 매도 -> (반복)
4) 각 추가매수 or 추가매도한 계약별로 진입할 때마다 손절(-0.001포인트) 설정
5) 청산은 장 종료시에 시장가로 일괄 청산 설정(익일 05:55분)
6) 아~ 그리고 처음에 매수로 진행하지 않고, 시장 상태에 따라 제가 매수 or 매도를
한 후에 위의 방법대로 설정되어 시스템이 움직일 수 있도록 만들었으면 합니다.
항상 감사드립니다. 그럼 수고하세요.
==========================================================
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 작성 부탁드립니다.
> 안녕하세요
예스스탁입니다.
var : LP(0);
if sDate != sDate[1] Then
SetStopEndofday(55500);
if Bdate != Bdate[1] Then
{
SetStopEndofday(0);
LP = 0;
Buy("b1",AtMarket,DEF,1);
}
Else
{
if MarketPosition == 1 Then
{
LP = LatestEntryPrice(0);
Buy("bb",AtStop,LP+50,1);
ExitLong("bx",AtStop,LP-50,"",1,1);
}
if MarketPosition == 0 and LP > 0 Then
{
Buy("b2",AtStop,LP+50,1);
}
}
즐거운 하루되세요
> 바다가좋아 님이 쓴 글입니다.
> 제목 : 수식 작성 부탁드립니다.
> 안녕하세요.
피라미딩 기법으로 수식을 작성하고 싶습니다.
1. 매매종목 : 해외선물(Micro Mini NASDAQ100)(5분봉 기준)
2. 매매 예시
1) 최초 시장가 1계약 매수
2) 매수와 동시에 손절(-50포인트)만 설정
3) 최초 매수한 가격 기준으로 수익 진행시 +50포인트마다 1계약씩 추가 매수
ex. 13,000Pt에 1계약 최초 시장가 매수 -> 13,050 Pt에 1계약 추가 매수
-> 13,100 Pt에 1계약 추가 매수 ....
4) 각 추가매수한 계약별로 진입할 때마다 손절(-50포인트) 설정
5) 추가 매수후 손절되고, 그 이후 진행되는 봉에서 직전 가격을 또 돌파하면 그때
또다시 진입
ex. 13,100 Pt에 매수 후 13,050 Pt에 손절이 된 후 다시 13,100 Pt에 이르면
또 1계약 추가 매수로 진입
6) 청산은 장 종료시에 시장가로 일괄 청산 설정(익일 05:55분)
이렇게 수식을 만들어 주시면 고맙겠습니다.
2021-04-12
816
글번호 147933