커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1710
글번호 230811
답변완료
함수요청
안녕하세요?
국내선물 30분봉으로 포지션매매를 하고자 합니다.
20ma 상향돌파와 MACD 오실레이터 양전환 중 나중에 발생하는 신호에 익봉 시가 매수 진입
20ma 하향이탈과 MACD 오실레이터 음전환 중 나중에 발생하는 신호에 익봉 시가 매도 진입
20ma 상향돌파와 MACD 오실레이터 양전환 중 먼저 발생하는 신호에 익봉 시가 매도 청산
20ma 하향이탈과 MACD 오실레이터 음전환 중 먼저 발생하는 신호에 익봉 시가 매수 청산
2021-12-28
796
글번호 154912
답변완료
수식 의뢰드립니다.
안녕하세요!
실시간 양합지수를 지표로 만들어 매매에 도움을 받고 싶습니다!
첨부파일 처럼 0선을 기준으로 실시간 양합 지수선을 나타나게 만들어 주세요!
콜과 풋의 교차챠트는 제가 선택하게 해주세요!
부탁드립니다!
그리고 올 한해 제겐 너무 큰 힘이 되어주셨어요!
정말 감사했습니다!
조건>
시가 양합 = 콜시가 + 풋시가
현재가 양합 = 콜현재가 + 풋현재가
실시간 양합지수 = 현재가 양합 - 시가 양합
---------------------------------------------------
첨부그림에서 처럼 콜과 풋이 교차하면 교차지점에서 부터 우측으로 선이 생성되도록
수식을 만들고 싶습니다.
기준>
1번 설명> 콜풋의 교차가 일어나면 교차지점을 시작으로 우측으로 선에 생성 (색상, 굵기는 외부변수) / 우측으로 연장되는 선의 길이는 새로운 교차가 일어나기전까지 계속됨.
2번 설명> 만약 여러번의 교차가 발생시는 최근 교차 지점에서 생성되는 선만 남기고 기존의 선들은 모두 자동 삭제 / 만약 안된다면 최초 첫번째 교차선 이외는 더 이상 교차가 되어도 나타나지 않도록 해주세요!
2021-12-28
1078
글번호 154910
답변완료
문의드립니다
1. 분봉 차트에서 swinghigh 함수를 이용할때 다른 주기의 가격을 이용할수있을까요
예를 들자면 swingHigh(1,weekhigh(사용자함수),1,1,100)) 이런식으로 이용하는게 가능한지 문의 드립니다.
2. "직전 거래가 수익인 경우 진입하지 않고 손실일 경우에만 새로운 진입을 한다" 를 코딩으로 가능할까요
예를 들자면
수익
수익(거래안함)
손실(거래안함)
손실(거래함)
이런식인데 실제로는 거래하지 않은 직전거래의 결과를 알아야 새로운 거래의 진입여부를 판단할수 있다는 얘기인데 이게 코딩으로 가능할지 모르겠습니다
항상 예스스탁에 감사드립니다.
2021-12-27
738
글번호 154909
답변완료
수식작성 부탁드립니다.
마틴게일로 [상승신호], [하락신호] 두가지 수식 부탁드립니다.
기준봉은 1분봉 기준입니다.
################################################################
[상승시 진입기준]
날이 바뀌고
1)당일의 캔들봉이 11번째 캔들봉이 양봉이면 1계약 매수 후
20틱 상승시 수익청산, 20틱 하락시 손실청산
20틱 수익청산후 다음봉이 양봉이면 1계약 재매수 후
20틱 상승시 수익청산, 20틱 하락시 손실청산 이렇게 계속 반복하다가
2)어느순간 20틱 손실이 발생하면 다음봉에 2계약 매수하여
20틱 상승시 매수수익청산, 20틱 하락시 매수손실청산을 반복하는 구조입니다.
그래서 손실후 재진입해서 계속 수익이 날때까지 2의 배수로 계약수로 진입을 하게 됩니다.(1,2,4,8,16~~)
그리고 진입시마다 진입회차를 텍스트로 표현 부탁드립니다.
[청산기준]
청산기준은 n차 금액이 될때까지 반복후 n차 금액이 도달하면 매매 종료하면 됩니다.
예)50만원 수익이 될때까지 매매를 반복실행
[하락시 진입기준]
날이 바뀌고
1)당일의 캔들봉이 11번째 캔들봉이 음봉이면 1계약 매도 후
20틱 하락시 수익청산, 20틱 상승시 손실청산
20틱 수익청산후 다음봉이 음봉이면 1계약 재매도 후
20틱 하락시 수익청산, 20틱 상승시 손실청산 이렇게 계속 반복하다가
2)어느순간 20틱 손실이 발생하면 다음봉에 2계약 매도하여
20틱 하락시 매도수익청산, 20틱 상승시 매도손실청산을 반복하는 구조입니다.
그래서 손실후 재진입해서 계속 수익이 날때까지 2의 배수로 계약수로 진입을 하게 됩니다.(1,2,4,8,16~~)
그리고 진입시마다 진입회차를 텍스트로 표현 부탁드립니다.
[청산기준]
청산기준은 n차 금액이 될때까지 반복후 n차 금액이 도달하면 매매 종료하면 됩니다.
예)50만원 수익이 될때까지 매매를 반복실행
2021-12-27
898
글번호 154908
답변완료
수식작성 오류검토 부탁드립니다.^^
안녕하세요
예스스탁입니다.
랭귀지는 청산과 동일포지션 진입이 동시에 발생하면
해당 진입도 같이 다시 청산이 됩니다.
그러므로 청산이후 동일시점에 즉시 재매수가 가능하지 않습니다.
청산이 발생하면 진입은 다음봉 시가에 진입하게 작성했습니다.
1
input : Price(350),익절틱수(50),손절틱수(50);
if TotalTrades == 0 and MarketPosition == 0 and H < Price Then
buy("b",AtStop,price,1);
if TotalTrades > TotalTrades[1] and MarketPosition == 0 Then
buy("bb",AtMarket,price,iff(PositionProfit(1) >= 0,1,MaxContracts(1)*2));
if MarketPosition == 1 Then
{
ExitLong("bp",Atlimit,EntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,EntryPrice-PriceScale*손절틱수);
}
2
input : Price(350),익절틱수(50),손절틱수(50);
if TotalTrades == 0 and MarketPosition == 0 and L > Price Then
sell("s",AtStop,price,1);
if TotalTrades > TotalTrades[1] and MarketPosition == 0 Then
sell("ss",AtMarket,price,iff(PositionProfit(1) >= 0,1,MaxContracts(1)*2));
if MarketPosition == -1 Then
{
ExitShort("sp",Atlimit,EntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,EntryPrice+PriceScale*손절틱수);
}
마틴게일 기법 오래전것인것 같습니다.
적용해보니 실행이 안되어 실행되게 부탁드립니다.
2021-12-27
667
글번호 154907
답변완료
미장 시작 후 시스템 작동
안녕하세요
아래와 같은 시스템을 만들고 싶은데 도움 부탁드립니다.
1. 미장 시작후 딱 30분만 매도 또는 매수 시그널 작동. (청산은 상관 없음)
1-a. 30분은 변수로 바꿀 수 있었으면 좋겠습니다.(ex. 240이면 미장 시작후 4시간만 작동)
1-b. 매도/매수 청산 시그널은 1-a의 시간 이후에 떠도 괜찮습니다.
1-c. 미장 종료 30분 전까지 포지션이 있다면 강제 청산
1-d. 1-c의 '30분'을 변수로 설정할 수 있도록 부탁드립니다.
2. If marketposition == 1 && X then Buy("물타기") 이렇게 해서 물타기를 하고 싶은데요 이떄 청산 관련해서 도움 부탁드립니다.
2-a. 물타기는 총 4번까지만 들어가게 부탁드립니다.
2-b. 2-a의 '4번'을 변수로 변경 가능하게 부탁드립니다
2-c. 물타기 1, 물타기 2, 물타기 3, 물타기 4 이런식으로 진입명을 각각 다르게하면, 각각 다르게 청산을 할 수 있나요? (ex. 4계약 까지 물타기 했을때 각 계약마다 다르게 트레일링스탑 & 손절라인 적용)
2021-12-27
633
글번호 154906
답변완료
함수요청
안녕하세요?
국내선물 30분봉으로 포지션매매를 하고자 합니다.
20ma 상향돌파 : 매수
20ma 하향이탈 : 매도
MACD 오실레이터 음전환 : 매수청산
MACD 오실레이터 양전환 : 매도청산
*30분봉 기준으로 완성이후 익봉 시가매매입니다.
2021-12-28
631
글번호 154904
답변완료
부탁 드립니다.
도움에 늘 감사 합니다.
MACD를 타주기
1)틱봉용
2)일봉용 부탁 드립니다.
첨부 수식은 macd의 오래전 올려주신 타분봉용 수식 입니다.
input : Atime1(60);
input : short(12),long(26),sig(9);
var : mav(0),dis(0),SS(0),LL(0),MACDV(0),MACDS(0);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0);
var : TF1(0),ema11(0),ema12(0),idx1(0),Xema11(0),Xema12(0),XMACDS1(0),MACDV1(0),MACDS1(0);
var : Didx(0),ema51(0),ema52(0),idx5(0),Xema51(0),Xema52(0),XMACDS5(0),MACDV5(0),MACDS5(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
Didx = Didx + 1;
Xema51 = ema51[1];
Xema52 = ema52[1];
XMACDS5 = MACDS5[1];
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%Atime1;
if bdate != bdate[1] or (TF1 < TF1[1] and bdate == bdate[1]) Then{
idx1 = idx1 + 1;
Xema11 = ema11[1];
Xema12 = ema12[1];
XMACDS1 = MACDS1[1];
}
if idx1 <= 1 then {
ema11 = C;
ema12 = C;
MACDV1 = (ema11-ema12)/ema12*100;
MACDS1 = MACDV1;
}
else{
ema11 = C * EP1 + Xema11 * (1-EP1);
ema12 = C * EP2 + Xema12 * (1-EP2);
MACDV1 = (ema11-ema12)/ema12*100;
MACDS1 = MACDV1 * EP3 + XMACDS1 * (1-EP3);
}
plot4(MACDV1);
plot5(MACDS1);}
타틱용 참고자료)
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
ii = 0;
}
Else
ii = ii +1;
if D1 > 0 then
{
TF = ii%nbar;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
idx = idx+1;
2021-12-27
797
글번호 154903
답변완료
수식 문의
아래 수식은 업다운볼의 차이를 페인트바로 표현한 수식입니다.
아래의 수식에 몇가지 조건을 더하고 싶은데
실력이 미천하여 도움을 구하고자 합니다.
-- 아 래 ---
if upvol > downvol Then
PlotPaintBar(H,L,"1",Rgb(242,150,97));
Else
PlotPaintBar(H,L,"1",rgb(103,153,255));
----------------
여기에 조건을 더하여,
1. 직전봉의 (upvol - downvol)의 값이 양수이고,
현재봉의 값이 음수이고,
2. 그 절대값이 직전봉의 절대값의 x배 이하면
ex : 직전봉값 abs(+1000*0.7) > 현재봉값 abs(-500)
직전봉의 색깔을 유지 합니다.
(직전봉의 값이 양수여도 전전봉의 색깔과 값에 따라
빨간색일수도 파란색일 수도 있음)
3. 그 절대값이 직전봉의 절대값의 x배 이상이면
rgb(103,153,255)(파란색) 색깔을 입힙니다.
4. 직전봉의 (upvol - downvol)의 값이 음수이고,
현재봉의 값이 양수이고,
5. 그 절대값이 직전봉의 절대값의 x배 보다 작으면
ex : 현봉값 abs(+100) < 직전봉값 abs(-500*0.7)
직전봉의 색깔을 유지 합니다.
(직전봉의 값이 음수여도 전전봉의 색깔과 값에 따라
빨간색일수도 파란색일 수도 있음)
6. 그 절대값이 직전봉의 절대값의 x배 보다 크면
(rgb(103,153,255) 빨간색) 색깔을 입힙니다.
즉,
(전봉값 * x) 보다 높은 절대값이 나오면 파란색/빨간색으로 칠하되,
그렇지 않으면 전봉의 색깔을 따라가도록 하고 싶습니다.
2021-12-27
840
글번호 154888