커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1732
글번호 230811
답변완료
수식관련 문의드립니다.
저번에 설정해 주신 수식으로 진행을 하는데 첨부한 파일의 그림처럼
시뮬레이션이 초기에만 진행이되다 매매진행이 안되는 것같습니다.
확인한번해주시면 감사하겠습니다.
> 안녕하세요
예스스탁입니다.
청산함수에 이름을 지정하면 해당진입만 청산이 됩니다.
또한 청산에 각 진입별로 진입가를 사용하도록 변경했습니다.
Input : short(12), long(26), signal(9);
Var : MACDV(0) , MACDsig(0),EP1(0),EP2(0);
MACDV = MACD(short, long);
MACDsig = ema(MACDV,signal);
if CrossUp(MACDv,MACDsig) Then
Buy("진입1");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "진입1" Then
EP1 = LatestEntryPrice(0);
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "진입2" Then
EP2 = LatestEntryPrice(0);
if MaxEntries == 1 and C <= EntryPrice-300 and CrossUp(MACDv,MACDsig) Then
buy("진입2");
if MaxEntries == 1 and C >= EP1+30 and CrossDown(MACDv,MACDsig) Then
exitlong("청산1",OnClose,DEF,"진입1");
if MaxEntries == 2 and C >= EP2+10 and CrossDown(MACDv,MACDsig) Then
exitlong("청산2",OnClose,DEF,"진입2");
2021-03-09
976
글번호 146906
답변완료
지표 질문입니다
최근 7캔들 구간에서
음봉 숫자가 6개일때 7캔들 최저가를 표시
음봉 6개 중에 가장 낮은 음봉 저가를 표시
음봉 숫자가 5개일때 7캔들 최저가 형성 캔들의 고가를 표시
음봉 5개 중에 가장 낮은 음봉 고가를 표시
음봉 숫자가 4개일때 2번째로 낮은 캔들 고가를 표시
음봉 4개 중에 2번째로 낮은 음봉 고가를 표시
음봉 숫자가 3개일때 2번째로 높은 캔들 고가를 표시
음봉 3개 중에 가장 높은 음봉 고가를 표시
음봉 숫자가 2개일때 가장 높은 캔들 고가를 표시
음봉 2개 중에 가장 높은 음봉 저가를 표시
음봉 숫자가 1개일때 가장 높은 캔들 고가를 표시
음봉 1개 중에 가장 높은 음봉 고가를 표시
음봉 숫자가 0 개일때 가장 높은 캔들 고가,저가를 표시
감사합니다
2021-03-09
911
글번호 146900
크라켄 님에 의해서 삭제되었습니다.
2021-03-10
37
글번호 146898
답변완료
문의
var : K1(0,data2),K2(0,data2),K3(0,data2);
K1 = data2(ma(c,10))
K2 = data2(ma(c,15))
K3 = data2(ma(c,20))
Q1 = crossdown(k1,k2)할 때 data1(c)
Q2 = crossdown(k1,k3)할 때 data1(c)
W1 = 절대값(Q1-Q2)
if crossdown(K1,K3) then
sell();
if Q2 - W1 then # 진입가에서 W1 이익을 냈을 때 청산
exitshort();
수식을 완성하여 주십시요.
2021-03-09
750
글번호 146894
답변완료
부탁드립니다.
안녕하세요...글번호71233에수식 plotn62 30분전분봉.양봉종가고가
plotn63 30분전분봉.음봉종가저가
plotn65 30분봉.양봉종가고가
plotn66 30분봉.음봉종가저가
위4개수식을 글번호70800으로옮겨주세요. 제가하다하다 안되서 부탁드립니다.
글번호70800 plotn69(30분. 전분봉 양봉종가고가)
plotn70(30분. 전분봉 음봉종가저가)
plotn71(30분봉 양봉종가고가)
plotn72(30분봉 음봉종가저가)
수고하세요...꾸벅
2021-03-09
762
글번호 146893
답변완료
수식문의 드립니다
안녕하세요
count를 이용해서 var1이 n봉 이내에서 갱신된 종목을 뜨게하는 형태의 수식을 작성해주셔서 감사히 쓰고있습니다
1.그런데 이렇게 말고 당일장중에 var1이 갱신된 종목을 찾아주는 수식은 없을까요?
현재 30분봉을 기준으로 해서 15봉 이내로 검색중인데
이게 장중에 하면 어제 갱신된것까지 뜨길래...
당일 장중에 var1이 갱신된 종목만 걸러서 실시간으로 보고싶습니다
2.또한 n일전 갱신된 종목으로 검색하게할수도 있는지요
답변부탁드립니다..
2021-03-09
749
글번호 146892
답변완료
수식 부탁드립니다
Input : Period1(5), Period2(20), Period3(40), Period4(60), Period5(80), Period6(120);
var1 = wma(C,Period1);
var2 = wma(C,Period2);
var3 = wma(C,Period3);
var4 = wma(C,Period4);
var5 = wma(C,Period5);
var6 = wma(C,Period6);
Plot1(var1, "가중이동평균1");
Plot2(var2, "가중이동평균2");
Plot3(var3, "가중이동평균3");
Plot4(var4, "가중이동평균4");
Plot5(var5, "가중이동평균5");
Plot6(var6, "가중이동평균6");
이수식을 정배열 좀목검색 수식 으로 부탁드립니다
2021-03-08
627
글번호 146891
답변완료
트레일링 스탑에 관해
안녕하세요
지표 작성 중에 그리고 백테스팅 시에 트레일링 스탑에 관해 궁금한 사항 여쭤봅니다.
30 포인트 올랐다가 10포인트 빠지면 트레일링 스탑, 타겟 프로핏은 50포인트라고 가정해볼게요. 해당 트레일링 스탑은 봉 완성이 아니라 조건 만족 즉시 발동이라고 가정해볼게요.
매수 시그널이 발생해서 나스닥 만포인트에 매수 포지션을 들어갔다치고, 다음 봉에 10070까지 올라가서 양봉 마감했을 경우, 백테스팅 시에 타겟 프로핏을 만족했고 뜨는데, 실제로는 위아래 변동성이 워낙커서 트레일링 스탑으로 마감 할 때가 많아 보입니다.그럼에도 불구하고 프로핏 타겟 만족이라고 뜨더라고요.
즉, 백테스팅이 정확하지 않다는건데요, 이 문제를 해결하기 위해서는 어떻게해야하나요?
간단하게 위의 전략이 1시간 봉 기준으로 작동한다면, 세부적인 차트(1분봉)에서 해당 전략이 작동하게 하면 해결 될 것같은데, 도움 좀 부탁드립니다.
2021-03-08
826
글번호 146890
답변완료
부탁좀 드립니다
var : T(0),L1(0),L2(0),H1(0),H2(0);
var : BL1(0),SH1(0);
var1 = ma(C,10);
#--------------------------------------------------- 조건 1 아래로
if T <= 0 and
dayindex > 0
and countif(C<O or (C==O),2) == 2
Then
#-----------------------------------------------------조건 1 위로
{
T = 1;
L1 = l;
L2 = L1[1];
if H1 <= H2 and H2 > 0 Then
Sell("매도2");
}
#-------------------------------------------------------------- 조건 2 아래로
if T >= 0 and
dayindex > 0
and countif(C>O or (C==O),2) == 2
Then
#--------------------------------------------------------------- 조건 2 위로
{
T = -1;
H1 = H;
H2 = H1[1];
if L1 >= L2 and L2 > 0 Then
buy("매수2");
}
if T == 1 Then
{
if L < L1 Then
L1 = L;
}
if T == -1 Then
{
if H > H1 Then
H1 = H;
}
안녕하세요
위에 식을 수정좀 부탁합니다
매수 매수청산 매도 매도청산 색상을 사용합니다
당일 최고점 최저점에서 매도 매수를 할 생각입니다
매도1 조건 -- 당일 최고점을 찍고 매도(h2) 나오고 다음으로 매도(h1) 나오고
다음으로 매도(h) 가 나올때 진짜로 매도가 들어갑니다
즉 최고점을 찍고 저점무시
고점이(h2) 기준 같거나 낮아지는 신호가 세번나오면 -- 매도1
매도손절1 조전 --- 당일 최고점을 몸통(꼬리말고요) 양봉으로 돌파하면 손절1
매도2 조건 -- 매수1 진입하고 손절 조건이 맞아서 손절이 나가고
다음봉이 손절봉의 고가를 돌파하지 않으면 -- 매도2
매도손절2 조건 --- 당일 최저점을 몸통(꼬리말고요) 양봉으로 돌파하면 손절2
반대
매수1 조건 -- 당일 최저점을 찍고 매도(L2) 나오고 다음으로 매도(L1) 나오고
다음으로 매도(L) 가 나올때 진짜로 매도가 들어갑니다
즉 최저점을 찍고 고점무시
저점이(L2) 기준 같거나 높아지는 신호가 세번나오면 -- 매수1
매수손절1 조전 --- 당일 최저점을 몸통(꼬리말고요) 음봉으로 이탈하면 손절1
매수2 조건 -- 매도1 진입하고 손절 조건이 맞아서 손절이 나가고
다음봉이 손절봉의 저가를 이탈하지 않으면 -- 매수2
매수손절2 조건 --- 당일 최고점을 몸통(꼬리말고요) 음봉으로 이탈하면 손절2
매수 매도 진입후 진입봉 이전 10봉전 고가 -- 매도시 돌파시 손절3
저가 -- 매수시 이팔시 손절3
매수 매도 진입후 수익 최고가 봉의 10봉전 고가 -- 매도시 돌파시 청산
저가 -- 매수시 이탈시 정산
진입해서 수익최고가 대비 2/1 이하 내려오면 완청
진입해서 수익최고가 대비 3/1 이하 내려오면 완청
진입해서 최고 300틱 이상 수익나고 20일 이평선 골드 데드시 완청
2021-03-09
622
글번호 146889