커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8164
글번호 230811
답변완료
신호좀 자주 나오게 해주세요.
지난번 질문에 수식 작성해주셔서 고맙습니다.
아래는
"최근 20개 봉의 평균 가격 기준 상 하 3% 이내에서는 조건을 만족해도 신호 발생하지 않는다."
라는 수식을 작성해주신건데 실행해보니까 신호가 3일에 한번 정도 나옵니다.
조금더 민감하게 해보려고
봉 수를 20개가 아닌 2개로 줄이고( var4 = (highest(H,20)+lowest(L,20))/2;), --> 이 부분에서 20을 2로 변경함
상하 3% 이내를 1% 이내로 줄이고 (C >= var4*1.03 or C <= var4*0.97) --> 이 부분을 1.03을 1.01로, 0.97을 0.99로 변경함
이렇게 수정하고 실행해도 신호가 안나옵니다.
좀더 민감하게 하려면 어떻게 해야 하는지요?
var1 = ma(c,3);
var2 = ma(c,6);
var3 = ma(C,9);
var4 = (highest(H,20)+lowest(L,20))/2;
#기존매수는 피라미딩이 되지 않게 MarketPosition <= 0 조건 추가
if MarketPosition <= 0 and var1 > var2 and C > var3 and C > O and
(C >= var4*1.03 or C <= var4*0.97) Then
buy("b");
#기존매도는 피라미딩이 되지 않게 MarketPosition >= 0 조건 추가
if MarketPosition >= 0 and var1 < var2 and C < var3 and C < O and
(C >= var4*1.03 or C <= var4*0.97) Then
sell("s");
#피라미딩매수(매수상태이고 첫봉에서 동일조건이면 추가매수)
if dayindex == 0 and MarketPosition == 1 and var1 > var2 and C > var3 and C > O and
(C >= var4*1.03 or C <= var4*0.97) Then
buy("bb");
#피라미딩매도(매도진입상태이고 첫봉에서 동일조건이면 추가매도)
if dayindex == 0 and MarketPosition == -1 and var1 < var2 and C < var3 and C < O and
(C >= var4*1.03 or C <= var4*0.97) Then
sell("ss");
if MarketPosition == 1 Then{
var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*10));
if var1 > var1[1] Then
Text_New(sdate,stime,H,NumToStr(var1*10,0)+"틱");
}
if MarketPosition == -1 Then{
var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*10));
if var1 > var1[1] Then
Text_New(sdate,stime,H,NumToStr(var1*10,0)+"틱");
}
2016-09-06
158
글번호 101720
뽀로오스 님에 의해서 삭제되었습니다.
2016-09-06
13
글번호 101710
답변완료
부탁드립니다
수고하십니다.
1)주가가 연속 2양봉이면서 5일선을 돌파하여 5일선은 상승하고 다시 고점을 돌파하면 매수
반대신호도 부탁드립니다
2016-09-06
172
글번호 101709
답변완료
변환
예스전환 부탁드림니다
sw=if(eavg(c,p10)>eavg(c,p30),1,
if(eavg(c,p10)<eavg(c,p30),-1,0));
pos=if(barssince(sw==1)< barssince(sw==-1),1,-1);
pos
2016-09-06
167
글번호 101708
답변완료
수식문의
그림처럼 시가를 기준으로 여러개의 선을 만들고 싶습니다
1.해당주의 시가를 기준으로 위로 몇틱 아래로 몇틱을 평균 분봉에 적용하여 저렇게만들고 싶습니다.
2.해당월
3.해당년
4. 해당주와 해당월의 평균
5. 해당월 해당년 평균
6. 3개모두의 평균
2016-09-05
212
글번호 101707
답변완료
수고많으십니다^^
스위칭매매식을 사용하고있습니다 손절40틱 익절80틱에 셋팅해서요
매매도중 한번이라도 손절내지익절이발생하면 매매를정지시키는 시스템식 부탁합니다
수고하세여^^
2016-09-05
139
글번호 101706
답변완료
무엇이 잘못된건지 가르쳐 주시면 감사하겠습니다
안녕하세요 수식이 어디가 잘못된건지 몰라서 여쭈어 봅니다
숫자값이나 숫자 표현식이 와야 한다고 하는데 어떻게 하면 이 문제를 해결할 수 있을까요?
2016-09-05
159
글번호 101705
답변완료
문의드립니다//
input : P1(6),sig1(2),당일수익(2);
input : P2(10),sig2(4);
var : TRIXV1(0),TRIXS1(0),TRIXV2(0),TRIXS2(0);
var : NP(0),N1(0),daypl(0),Xcond(false);
TRIXV1 = TRIX(P1);
TRIXS1 = ema(TRIXV1,sig1);
TRIXV2 = TRIX(P2);
TRIXS2 = ema(TRIXV2,sig2);
if TotalTrades > TotalTrades[1] and (IsExitName("bx",1) or IsExitName("sx",1)) Then
Xcond = true;
if ((stime >= 103000 and stime < 130000) or
(stime >= 140000 and stime < 170000)) and Xcond == false then{
if crossup(TRIXV1,TRIXV2) Then
buy();
if CrossDown(TRIXV1,TRIXV2) Then
sell();
if MarketPosition == 1 Then
ExitLong("bx",atlimit,EntryPrice+당일수익-dayPL);
if MarketPosition == -1 Then
ExitShort("sx",atlimit,EntryPrice-당일수익+dayPL);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{
ExitLong();
ExitShort();
}
위수식에 종료시간등을 적용해보니깐 부분적으로 좀다른지
앞전 다른수식과 동일하게 적용후..
현제는 신호는 유지되나..당일청산 부분에서 수식이
꼬였는지 잘안되네요...
다시 한번 부탁드리겠습니다
원하는 수익이 나왔을경우 신호가 종료되기를 바랍니다
2016-09-06
206
글번호 101704
라면의비밀 님에 의해서 삭제되었습니다.
2016-09-05
0
글번호 101703