커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1692
글번호 230811
회원 님에 의해서 삭제되었습니다.
2022-01-28
92
글번호 155889
답변완료
현재봉 기준 7개 이전 봉의 날자에서(x축에 접해)위로 화면 크기의 1/4정도로 막대 그래
현재봉 기준 7개 이전 봉의 날자에서(x축에 접해)위로 화면 크기의 1/4정도로 막대 그래프
그렸으면 합니다
예스스탁 강조에서 봉에 표시 해도 되겠군요
input : Short(5),Mid(20),Long(60),VeryLong(120);
if c[60] or c[120] Then
begin
PlotPaintBar( High, Low, "정배열");
end
else
NoPlot(1);
이러니 안 그려 지네요
input : Short(5),Mid(20),Long(60),VeryLong(120);
if BarIndex == 60 or BarIndex == 120 Then
begin
PlotPaintBar( High, Low, "120이전봉");
end
else
NoPlot(1);
이도 안되네요
2022-01-28
1067
글번호 155885
답변완료
문의드립니다
수정합니다
스스로 해결 노력중..
감사합니다
2022-01-28
1197
글번호 155884
답변완료
전역 변수 같은게 있을까요??
매 봉마다 새로 리셋되는 로컬 변수말고
한번의 시뮬 전체에서 모든 봉이 공유해서 접근할 수 있고
다음 봉이 이전봉이 저장해놓은 광역변수에 접근해서 데이터를 가져다 쓸수있는
전역변수같은게 있을까요?
2022-01-28
1212
글번호 155882
답변완료
수식문의드립니다
1. 변수 초기치 설정
돌파가격 HB, LB의 초기치를 지정가로 정해놓고
지정가 돌파시 매수,
청산시 진입 이후 고가로 HB, LB 업데이트해
업데이트된 가격으로 다시 조건이 되면 재진입
이렇게 구현하고 싶은데
아래와 같이 만들면 초기치가 설정이 안됩니다
var : HB(13990), LB(13985), e60(0);
e60 = Ema(C,5);
if CrossUp(C, HB) Then Buy() ;
if CrossDown(C, LB) Then Sell() ;
if CrossDown(HB, e60) Then Begin
ExitLong();
HB = Highest(H, BarsSinceEntry) ;
End;
if CrossUp(LB, e60) Then Begin
ExitShort();
LB = Lowest(L, BarsSinceEntry);
End;
messagelog로 확인해보면 HB, LB 값이 안뜨고 1.#QNAN00000 이런게 뜨네요
어떤 부분이 잘못된건지 확인 부탁드립니다
2. marketposition initial value
시스템을 실행하면 실행 이전에 차트상의 조건 때문인지 marketposition이 처음엔 -1, 1로 잡혀있고
한번 체결되고 나면 그때부터 제대로 잡히는데
실제 진입 이전의 marketposition 초기치를 0으로 만들고, 이후 업데이트 하도록 하려면 어떻게 해야할까요?
3. 이전 도와주셨던 식 질문
HB 상향돌파시 매수진입, HB -10이면 손절
LB 하향돌파시 매도진입, LB + 10이면 손절
이 조건에서 청산을 봉 완성 이전 현재가가 손절가에 도달했을 때 바로 청산되도록 만들고 싶다 요청드렸고
아래와 같이 작성해 주셨고, 작성해주신 부분에 대해 질문이 있습니다
input : HB(14230), LB(14220) ;
if MarketPosition <= 0 Then
Buy("b",AtStop,HB);
if MarketPosition >= 0 Then
Sell("s",AtStop,LB);
if MarketPosition == 1 Then ExitLong("bx1",AtStop,HB-10);
if MarketPosition == -1 Then ExitShort("sx1",AtStop,HB+10);
진입시 marketposition이 매수일땐 0이하, 매도일땐 0이상인 이유가 무엇인가요?
그리고 이 조건에선 진입이 정확이 어떻게 되는건가요? HB, LB에 매수매도가 걸려있는건가요?
4. "최근 100봉 ATR(14)의 최대값"을 쓰고 싶은데 어떻게 구할 수 있는지 부탁드립니다
2022-01-28
1220
글번호 155881
답변완료
수식 부탁드립니다.
매수 진입
1. data 1에서
a) MACD >= 0 이고
b) MACD SIGANL >= -15 이고
c) MACD SIGNAL의 기울기가 우상향(+)이고
d) RSI의 값이 45보다 크고
e) C 가 20일선 보다 크며
f) C 의 20일선 기울기가 우상향(+)이고
2. data 2 에서
a) RSI 10일평균의 기울기가 우상향(+)이고
b) RSI 의 기울기가 우상향(+)이고
c) MACD 기울기가 우상향(+)이고
d) MACD SIGNAL의 기울기가 우상향(+)이고
e) MACD > MACD SIGNAL 일 경우 매수 진입
청산 a) 진입후 50틱 수익이면 data 1의 30일선 하향 돌파시 청산
b) 진입후 50틱에 도달하지 못하고 손실이면 -30틱에서 청산
매도 진입과 청산은 반대 입니다.
추가로 2의 배수분 (2분, 4분, 6분...)과 5의 배수분(5분, 10분, 15분....)에서 30초전에
알람을 울리게 해 주세요
항상 수고해주셔서 감사합니다.
2022-01-28
1201
글번호 155880
답변완료
부탁드립니다
수고하십니다
1.주식챠트에서 9시 첫5분봉 고가선,저가선,중심선 과 그대로고,저,중심가선의폭을 상,하로
수식부탁드립니다
2022-01-28
1230
글번호 155879
답변완료
수식 문의합니다.
당일 손실 거래가 3회 연속인 경우
당일 매매진입 금지
2022-01-28
1183
글번호 155878
답변완료
지표수식과 관련한 질문과 수정 부탁 드립니다.
담당자님, 안녕하세요.
지표 수식 활용에 큰 도움을 주셔서 매우 감사드립니다.
다음 지표 수식을 차트(분봉 차트)에서 실행한 후
지표속성창에서 Length 변수값 20을 다른 숫자로 지정해서 입력해도
지표 결과에 전혀 변화가 없는데 왜 그런 것인지 그 이유에 대해 질문드립니다.
분봉 차트에서도 적용되도록 하는 로직이 포함되지 않아서 그런 것인가요?
그리고, (분봉 차트에서)
변경된 외부입력 변수값을 지정하여 입력하면
그 변수값을 반영하여 변화된 지표 결과가 나올 수 있도록
아래 지표 수식의 수정을 부탁드립니다.
cf. Yes Language에서 Length 변수값을 다른 수치로 변경해서 저장한 후 실행해도
지표 결과에 변화가 없습니다.
--------------------------------------------------------------------
inputs : Length(20);
var : Price(0),VSum(0),PVsum(0),VWMA(0);
Price = (H+C)/2;
if Bdate != bdate[1] Then
{
Vsum = 0;
PVsum = 0;
}
VSum = Vsum + V;
PVsum = PVsum + Price*V;
VWMA = PVsum/VSum;
plot1(Vwma);
-----------------------------------------------------------------------
담당자님 노고와 답변에 미리
감사드립니다.
설 명절 잘 보내시기 바랍니다.
2022-01-28
1453
글번호 155877