커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7711
글번호 230811
답변완료
시스템식
안녕하세요
하기식을 당일만사용식으로 변경부탁드림니다. 현제는 전일을 불러와서 resell rebuy 로 진입합니다
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == 1 And #직전거래 매수포지션
and crossup(C,ExitPrice(1)) Then #진전거래의 청산가격을 상향돌파하면 재매수
buy("rebuy");
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == -1 And #직전거래 매도포지션
CrossDown(C,ExitPrice(1)) Then #직전거래의 청산가격을 상향돌파하면 재매도
sell("resell");
2011-07-13
709
글번호 40854
답변완료
질문요~~
더운데 수고하십니다..
##조건
1.챠드에서 어떤 임의의 라인을 그은다음 그선을 돌파하면 매수매도 신호가 나오게는 할수없나요..
2. 장중에 선을 마우스로 움직일수 있으면 참 편할것 같은데요
부탁드립니다..
2011-07-13
709
글번호 40851
답변완료
두식 결과값
1) ============================================================
해당 진입은 5-20데드크로스일때 진입할수도 있습니다.
만약 진입시 5-20데드크로스가 아닐때 진입하고자 하시면
아래와 같이 수정하시면 됩니다.
if crossup(ma(c,5),ma(c,20)) Then{
var1 = H;
}
if MarketPosition == 0 then{
if TotalTrades == 0 Then{
if crossup(c,var1) and !(CrossDown(ma(c,5),ma(c,20))) Then
buy("b1");
}
else{
if crossup(c,var1) and
countif(CrossDown(ma(c,5),ma(c,20)),BarsSinceEntry(1)) >= 1 and !(CrossDown(ma(c,5),ma(c,20))) Then
buy("b2");
}
}
if MarketPosition == 1 and BarsSinceEntry == 3 Then
exitlong("X");
2) ==============================================================
if CrossUp(ma(c,5),ma(c,20)) Then
Var1 = H;
if CrossUp(C, Var1) and Var1 > 0 Then // 숫자 0
Buy("B1");
if MarketPosition == 1 and BarsSinceEntry == 3 Then {
ExitLong("청산");
Var1 = 0; // 숫자 0
}
위와 같이 작성하셔도 됩니다
기존식과 조금 차이가 나는 부분은
작성하신 식은 청산후에 발생한 5-20 골드만을 이용하는 식이고
기존식은 진입이후에 청산전에 발생한 5-20 골드가 나는 것도 이용하는 식입니다.
=====================================================
질문) "기존식은 진입이후에 청산전에 발생한 5-20 골드가 나는 것도 이용하는 식입니다"
이 말은 진입한후 청산되기 전에 골드가 나는것도 이용한다는 말은 피라미딩을 말하는 건가요?
제 생각에는 두 식의 결과가 같아 보입니다(피라미딩 제외).
2011-07-13
677
글번호 40850
답변완료
수식문의
다음수식을 참조데이타(data2) 로 변경부탁드립니다
c < lowest(c, 15 )[1]
2011-07-13
681
글번호 40848
답변완료
수식문의
수고하십니다.
아래수식 한번 적용해 보니
포지션이 있을경우 청산 신호가 안나와도
반대진입신호가 나오면 진입합니다.
예를들어
매수진입=>매수청산=>매도진입 또는 매수진입=>매도청산 또는 매수청산... 이렇게 나와야하는데요.
매수진입=>매도진입=>매수진입=>..... 이렇게 나오는 경우가 허다합니다.
반대신호가 나와도 청산신호가 나올때까지는 반대진입을 안하게 해주십시요
input : sp(12), lp(26), signalP(9);
var1 = macd(sp,lp);
var2 = ema(var1,signalP);
if CrossUp(var1, var2) Then
buy();
if CrossDown(ma(C,20), ma(C,60)) Then
ExitLong();
if Crossdown(var1, var2) Then
sell();
if CrossUp(ma(C,20), ma(C,60)) Then
ExitShort();
감사합니다.
2011-07-13
698
글번호 40840
답변완료
질문드립니다
var : ma1(0),ma2(0),HH(0),Cross(0),idx(0),cnt(0),count(0);
ma1 = ma(c,5);
ma2 = ma(c,60);
if crossup(ma1,ma2) Then{
HH = H;
cross = 1;
idx = 0;
}
if cross == 1 Then{
idx = idx+1;
if H > HH Then
HH = H;
}
if CrossDown(ma1,ma2) Then{
cross = -1;
count = 0;
for cnt = 1 to idx {
if HH == H[cnt] Then
count = count+1;
}
if count >= 1 Then
var1 = HH;
var2 = var1[1];
}
여기 식에서 var1이 count==1 일때와 count>1 일때 값을 각각 변수에 저장하고
역시 var2 도 count==1 일때와 count>1 일때 값을 각각 변수에 저장하려면 어떡해야
할까요 부탁드립니다
2011-07-13
724
글번호 40832
답변완료
지표식 문의
현재봉에서 20일전과 60일전의 봉에 강조나 표시를 할수 있나요?
2011-07-13
657
글번호 40831
답변완료
동영상강의에서
시스템트레이딩 강좌 -> 녹화방송 보기 ->
7. 예스랭귀지 활용 [시스템트레이딩 고수되기]_1
데드크로스에서도 진입이 되는 것 같습니다.
데드크로스에서 진입 안되게 할려면 어떻게 수정해야 하나요?
2011-07-13
672
글번호 40830
답변완료
VOD강좌에서
시스템트레이딩 강좌 -> 녹화방송 보기 ->
7. 예스랭귀지 활용 [시스템트레이딩 고수되기]_1
질문1) 데드크로스에서도 진입이 되는것 같습니다.
데드크로스에서 진입이 안되게 할려면 수식을 어떻게 바꾸어 주어야 하나요?
질문2) 이렇게 간단하게도 처리되는데, 잘못된 부분이 있는지요?
if CrossUp(ma(c,5),ma(c,20)) Then
Var1 = H;
if CrossUp(C, Var1) and Var1 > 0 Then // 숫자 0
Buy("B1");
if MarketPosition == 1 and BarsSinceEntry == 3 Then {
ExitLong("청산");
Var1 = 0; // 숫자 0
}
2011-07-13
743
글번호 40829