커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4505
글번호 230811
답변완료
수식문의
안녕하세요
하시 수식에서 추가하고 싶은 것이 있어서 문의 드립니다.
검토 부탁드립니다.
MACD 와 볼린져 밴드 수식을 추가 하고 싶습니다. 조건은 하기와 같습니다.
1. MACD 선과 MACD signal 선이 모두 -0.1 아래에서 위로 올라오고
MACD선이 MACD signal 선 위로 올라갈 때, 매수 진입합니다.
MACD 오실레이터도 양으로 바뀌어야 합니다.
- 매도는 상기와 반대로 진입합니다. 0.1 위에서 아래로 내려올때 적용합니다.
- 0 과 0.1(또는-0.1) 사이에서의 MACD 선과 MACD signal 선의 교체는 무시합니다.
2. 추가 옵션으로 상기 조건이 충족되고,
매수의 경우 완성봉이 볼린져 중앙밴드 상단에 완성되었을때 진입하는 수식부탁드립니다.
매도의 경우 반대로 완성봉이 볼린져 밴드 중앙밴드 하단에 완성되었을때 진입하는
수식도 같이 부탁드립니다.
감사합니다.
------------------------------------------------------------------
input : P(14),BBP(20),dv(2),MAP(60);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
if crossup(ADXV,20) Then{
if DP > DM and dp < 25 Then
buy("b1");
if DP < DM and dm < 25 Then
sell("s1");
}
if MarketPosition == 1 and IsEntryName("b1") == true Then{
if CrossDown(DP,DM) Then
ExitLong();
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
if CrossUp(DP,DM) Then
ExitShort();
}
if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),10) < 1 and DP < 40 Then
buy("b2");
if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),10) < 1 and DM <40 Then
sell("s2");
if MarketPosition == 1 and IsEntryName("b2") == true Then{
if CrossDown(DP,DM) Then
sell("rs1");
if CrossDown(C,mav) Then
sell("rs2");
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
if crossup(DP,DM) Then
Buy("rb1");
if Crossup(C,mav) Then
buy("rb2");
}
2016-10-19
106
글번호 103069
답변완료
틱차트에서 봉의 시간을 구하는 방법
틱차트에서 현재봉 또는 특정봉의 시간을 초단위로 알 수 있는 함수가 있습니까?
가능하다면 혹시 밀리세컨 단위까지도 알 수 있습니까?
2016-10-19
111
글번호 103066
답변완료
수식변경 요청드립니다
안녕하세요.
다음 수식 중 익/손절조건을 매수/매도을 진입 후 익절틱수는 필요치 않으며 초기에는 손절틱수를 -15틱 설정되며 이익방향으로 진행 시 즉 15틱 이익이나면 손절가를 15틱 따라서 올릴 수 있도록 변경 부탁드립니다. (Input 에 손절틱수를 넣어 사용자가 변경 가능하도록 요청드립니다.)
input : 거래시간1(1), 시작시간1(160000), 끝시간1(045500),익절틱수(36),손절틱수(15);
input : P1(5),P2(20),N(20),X(0);
var : AA(0),BB(0),DD(0);
if 거래시간1 == 1 then
condition3 = (stime>=시작시간1 or stime<=끝시간1);
Else if 거래시간1 == 2 then
condition3 = (stime>=시작시간1 and stime<=끝시간1);
Else
condition3 = true;
AA = ma(C,P1);
BB = ma(C,P2);
DD = Disparity(P2);
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
BB > BB[1] and C < AA and C > BB and C > O and
DD <= 100.5 and
highest(BB,N) >= Lowest(BB,N)+PriceScale*X Then
buy();
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
BB < BB[1] and C > AA and C < BB and C < O and
DD >= 99.5 and
highest(BB,N) >= Lowest(BB,N)+PriceScale*X Then
Sell();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
if stime == 끝시간1 or (stime > 끝시간1 and stime[1] < 끝시간1) Then{
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
2016-10-19
123
글번호 103064
답변완료
문의드립니다
1.
input : P(10);
var : MM(0),T(0);
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if T == 1 Then
PlotPaintBar(H,L,"강조",red);
if T == -1 Then
PlotPaintBar(H,L,"강조",blue);
앞전 글에서 남겨주신 수식들을 제가 직접조합하니...엉망진창이 되버리는군요..
하 염치불구 하고 이제 마지막으로 여쭈어뵙고
...문의가 없을듯합니다..
1번 위 강조식에서 빨간색 표시나는곳에 매수신호 파랑색 표시나는곳에 매도신호
1-1번 위 강조식에서 신호뜨고 난뒤 진입3계약 한뒤 익절 5틱,10틱 분활청산 추가
스위칭 날경우 일괄청산후 다시 신호발생
2번 위 강조식에서 빨간색 표시나는곳에 매수신호 파랑색 표시나오는곳에 매도신호
위 회색부분에서 그전(빨강이였다가 회색이 나오면 매수청산 매도청산은 그반대)
2-1번 위 강조식에서 2번 문의에다가 그대로 진입3계약 익절5틱,10틱분할청산 추가
스위칭 날경우 일괄청산후 다시 신호발생
위 4가지 시스템에 밑에 4가지가 다드러갔으면좋겠습니다 감사합니다
#아침9시부터 캔들봉의 색깔로 바로신호 발생
#오후3시 됬을경우 그날자 신호 자동청산발생
#국내선물같은경우 틱수로 하여 그날 제가원하는 당일 수익을 얻은후
그날 신호 강제청산 (예: 1틱가치 0.05 원하는수익 10틱 0.25)신호 더이상 발생금지
위 1틱가치를(당일수익) 외부변수 가능하게 해주셨으면합니다
항생지수 에도 같이 1틱가치를 이용하여 이용해보고싶습니다
# 아침9시부터 오후3시까지 시간설정
위부수정 가능하게 부탁좀드리겠습니다
2016-10-19
116
글번호 103063
답변완료
참조 데이터 봉지칭 수식 문의
안녕하세요~
연결선물지수를 data1로 하고, 다우지수를 data2로 작업하고 있는데,
서로 시간대가 다르다보니, 봉이 엇갈려서 화면에 표시됩니다.
게다가 더 애매한 부분은 두 시장의 휴장일이 서로 다르므로,
어떨땐 현재 국내 봉과 가장 가까운 봉이 반일 차이일수도 있지만, 어떨땐 며칠이 차이가 날수도 있습니다.
제가 정확히 원하는 로직은 아니나, 아주 쉽게 이해를 돕기 위해서 다음과 같이 상황을 축약해보겠습니다.
[바로 전날 밤 다우지수가 상승하면, 오늘 아침 선물을 매수하고, 전날 밤 다우지수가 떨어지면 오늘 아침 선물을 매도한다.]
위의 전략을 짠다고 했을때, 다음과 같은 갈림길이 생깁니다.
1) 어제 미국장이 열린 경우
2) 어제 미국장이 열리지 않은 경우(즉, 가장 가까운 봉이 어제가 아니라 그제이거나, 그그제이거나 할 수 있음)
2-1) 어제 미국장이 열리지 않았으므로, 어제의 상승률은 그냥 0%로 가정하는 경우
2-2) 어제 미국장이 열리지 않았지만, 가장 가까운 날짜의 상승률을 어제 상승률로 가정하고 적용하는 경우
일단 위의 각 상황에서 어떻게 위의 전략을 구현해야하는지 궁금합니다.
그리고 추가로, 국내 장 역시 비어있는 칸이 생깁니다. 국내 장만 화면에 표시하면 빈 칸이 없지만, 미국장과 함께 표시하니 미국장이 열리지만 우리 장은 안열리는 곳은 빈칸이 됩니다(예를 들어 금년 8월 12 일, 15일).
이 경우에는 당연히 거래가 일어나지 않게 조치를 취해야 겠죠.
이때, 그냥 위에 써주실 로직을 적용 하면 문제 없이 해당일에는 거래가 발생하지 않도록 되는 것인지. 아니면 이를 고려하기 위해서 추가로 조치를 취해야 하는지 궁금합니다.
- 예를 들어, 8월 12일 거래는 미국장 8월 11일 상승률을 고려해 결정되어야 하고, 8월 16일 거래는 미국장 15일 상승률을 고려해 결정되어야 하는데, 행여나 8월 16일 거래에 있어 미국장 8월 11일의 다음봉인 12일 봉을 참조하는 문제가 생기지는 않을지 걱정이 됩니다.
만약 이를 해결하기 위한 추가 조치가 필요하다면, 그 조치도 함께 부탁드립니다.
감사합니다.
2016-10-19
122
글번호 103062
답변완료
수식문의입니다
안녕하세요
옵션차트에서 콜255일때 상대편 풋255의 전일고가를 콜차트에 나타내는
수식 좀 부탁드립니다
2016-10-18
137
글번호 103061
답변완료
수식 부탁드립니다
안녕하세요?
신속하고 친절한 답변에 대해 감사드립니다.
밑에 4등분선에 대한 수식이 있어서 마침 필요하던차 사용해봤는데요
최근 30봉이내의 고가,저가, 1/4, 2/4, 3/4을 가로선으로 나타내는 수식이라 제가 원하는 것과는 맞지 않았습니다. 저는 당일의 고저가 4등분선이 필요한데요. 그래서 input : P(30); 을
input : P(dayopen); 으로 바꿔서 사용해 보았더니 전일부터 오늘까지 2일간의 고저가 4등분선이 나오게 되더군요.
제가 원하는 것은 오늘 개장시부터 계속해서 연속되는 고저가 4등분선이 필요합니다.
수식 부탁드리겠습니다
-----------------------------------------------------
input : P(30);
var : HH(0),LL(0);
HH = highest(H,P);
LL = lowest(L,P);
plot1(HH);
plot2(HH-(HH-LL)*(1/4));
plot3(HH-(HH-LL)*(2/4));
plot4(HH-(HH-LL)*(3/4));
plot5(LL);
2016-10-18
114
글번호 103060
답변완료
부탁합니다.
안녕하세요.
시스템식 부탁합니다.
- 20이평이 우상향이며 일목기준선 위에 있고,
일목기준선이 Trione지표의 중간선위에 있을때 매수.
- 20이평이 우하향하면 청산.
- 20이평이 우하향이며 일목기준선 아래에 있고,
일목기준선이 Trione지표의 중간선아래에 있을때 매도.
- 20이평이 우상향하면 청산.
감사합니다.
2016-10-18
102
글번호 103058
답변완료
질문드립니다
수익률 계산할 때 식을 보자면
계약수 * 등락포인트 * 50만원 / 가격 *50만원 * 0.125(증거금률) 인데요
이 때 가격이 청산시점에서의 가격인가요 아니면 진입시점에서의 가격인가요?
2016-10-18
98
글번호 103055