커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4630
글번호 230811
답변완료
이평선 리드,래그
안녕하세요?
이동평균선을 리드, 래그하는 함수를 알고 싶습니다.
현시점의 5ma가 var = ma(c,5)라면
이를 n봉 앞으로 땡기거나 뒤로 밀고 싶습니다.
2016-05-12
147
글번호 97972
에쓰엠씨 님에 의해서 삭제되었습니다.
2016-05-12
20
글번호 97971
답변완료
문의드립니다
실시간 봉마다 추세선을 이을수있을까요?
봉을 지나간뒤 나오는 선이 아닌
실시간 봉마다 연결되는 선을 좀 가지고싶습니다
가능은 할까요?
2016-05-12
143
글번호 97970
답변완료
피라미딩 수식 문의드립니다
안녕하세요?
골드값이 10 point씩 올라가거나 내려갈때마다
해당 Point에 Buy 주문이 없으면~ 미리 buy 주문을 하고
각 주문별 10 point 수익이 나면 자동 청산하는 수식을 만들고 싶습니다.
궁금한 부분은...
해당 Point에 이미 buy 포지션이 있는지 check하는 부분인데요
도움 부탁드립니다.
예를 들어...
현재 수치기준으로 바로 위와 바로 아래에 해당되는 Point 부분에
Buy 포지션상태가 아닌경우 미리 buy 주문을 걸어두는 부분입니다.
예) 현재 1165 일때,
바로 아래는 1160 .... int(C/10)*10
바로 위는 1170 .... int(C/10)*10+10
만약 1170에 buy 포지션 없을때.... 1170에 미리 buy주문(AtStop) 함.
만약 1160에 buy 포지션 없을때.... 1160에 미리 buy주문(AtLimit) 함.
도와주세요~
2016-05-12
115
글번호 97969
백프로만먹자 님에 의해서 삭제되었습니다.
2016-05-11
1
글번호 97968
답변완료
재문의드립니다.
안녕하세요
예스스탁입니다.
input : 시작시간(070000),끝시간(055000);
var : EntryStart(false);
Var9 = RSI(5);
var1 = ma(c,100);
var2 = ma(c,120);
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then
EntryStart = true;
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then
EntryStart = false;
if var1 > var2 and(CrossUp(var9,170))Then Sell();
if var1 > var2 and(CrossUp(var9,55))Then Sell();
if var1 > var2 and(CrossUp(var9,53))Then Sell();
if var1 > var2 and(CrossDown(var9,165))Then Sell();
if var1 < var2 and(CrossUp(var9,135))Then buy();
if var1 < var2 and(CrossDown(var9,57))Then buy();
if var1 < var2 and(CrossDown(var9,55))Then buy();
if var1 < var2 and(CrossDown(var9,130))Then buy();
if var1 > var2 and(CrossUp(var9,197))Then Sell();
if var1 > var2 and(CrossUp(var9,195))Then Sell();
if var1 > var2 and(CrossUp(var9,193))Then Sell();
if var1 < var2 and(CrossDown(var9,110))Then buy();
if var1 < var2 and(CrossDown(var9,107))Then buy();
if var1 < var2 and(CrossDown(var9,105))Then buy();
if var1 < var2 and(CrossDown(var9,103))Then buy();
if MarketPosition == 1 Then{
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then{
ExitLong();
}
ExitLong("bx",atlimit,AvgEntryPrice+PriceScale*40);
}
if MarketPosition == -1 Then{
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then{
ExitShort();
}
ExitShort("sx",atlimit,AvgEntryPrice-PriceScale*40);
}
즐거운 하루되세요
> 아침한때비51 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> input : 시작시간(070000),끝시간(055000);
var : EntryStart(false);
Var9 = RSI(5);
var1 = ma(c,100);
var2 = ma(c,120);
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then
EntryStart = true;
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then
EntryStart = false;
if var1 > var2 and(CrossUp(var9,170))Then Sell();
if var1 > var2 and(CrossUp(var9,55))Then Sell();
if var1 > var2 and(CrossUp(var9,53))Then Sell();
if var1 > var2 and(CrossDown(var9,165))Then Sell();
if var1 < var2 and(CrossUp(var9,135))Then buy();
if var1 < var2 and(CrossDown(var9,57))Then buy();
if var1 < var2 and(CrossDown(var9,55))Then buy();
if var1 < var2 and(CrossDown(var9,130))Then buy();
if var1 > var2 and(CrossUp(var9,197))Then Sell();
if var1 > var2 and(CrossUp(var9,195))Then Sell();
if var1 > var2 and(CrossUp(var9,193))Then Sell();
if var1 < var2 and(CrossDown(var9,110))Then buy();
if var1 < var2 and(CrossDown(var9,107))Then buy();
if var1 < var2 and(CrossDown(var9,105))Then buy();
if var1 < var2 and(CrossDown(var9,103))Then buy();
if MarketPosition == 1 Then{
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then{
ExitLong();
}
}
if MarketPosition == -1 Then{
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then{
ExitShort();
}
}
SetStopProfittarget(PriceScale*180,PointStop);
위의 로직에서
여러갯수의 매입을 하게 되면 평균단가 계산으로 합친수익 40틱이면 익절하게끔 부탁드립니다.
답변로직 받아서 넣어보니까요. 제가 문의드린거하구 다른거같아요.
어떤 가격에서 서로다른 가격들이 여러개 매입됐을경우 만약 3계약이 매입
되었다면
계약수를 합친 수익이 40틱이면 익절.
부탁드리겠습니다.
2016-05-11
118
글번호 97967
마르시아 님에 의해서 삭제되었습니다.
2016-05-11
0
글번호 97966
답변완료
수식문의드립니다.
수고하십니다. 수식문의드립니다.
Stochastics(12,5,5)
MACD(12,26,9)
RSI(14)
CCI(9,10)
위에 보조지표 4개와
1. 2개 보조지표가 골든크로스면 매수 + 최근 4분봉(4분동안.1분봉으로는4개봉,2분봉으로는2개봉)의 최고가와 최저가 사이가 10틱 이하일 때 매수매도신호 금지
매도는 그 반대로 해주시고요.
2. 3개 보조지표가 골든크로스면 매수 + 최근 4분봉(4분동안.1분봉으로는4개봉,2분봉으로는2개봉)의 최고가와 최저가 사이가 10틱 이하일 때 매수매도신호 금지
매도는 그 반대로 해주세요.
2가지식 부탁드립니다.
시스템 변수설정할수있게해주십시요. 고맙습니다.
2016-05-12
115
글번호 97965
답변완료
부탁드림니다
MACD의 상승형 다이버젼스를 이용한 매매식
[시스템 원리]
1. MACD의 다이버젼스가 발생할 때 매수
[시스템식]
input : shortPeriod(12), longPeriod(26), Period(9);
var : Gval(0), MACDval(0);
var1 = MACD(shortPeriod, longPeriod);//MACD
var2 = ema(MACD(shortPeriod, longPeriod), Period);//MACD signal
if crossup(var1, var2) then {
Gval = C; //MACD 골든크로스 발생한 시점의 종가
MACDval = var1; // MACD 골든크로스 발생한 시점의 MACD값
}
Condition1 = crossup(var1, var2) and var1 < 0;
Condition2 = accumN(iff(crossup(var1, var2),1,0), 30) == 2;
Condition3 = Gval[1] > C;
Condition4 = MACDval[1] < var1;
if Condition1 and Condition2 and Condition3 and Condition4 then
buy();
%%%%%%%%%%%%%%%% Condition2<<<<<<<<<<<<<<<<<<<<< 이 <> 부 <> 분<>
베이스라인0선아래에서만
첫번교차 두번째교차 사이의봉갯수조절 할수있게 추가 수정부탁드림니다
[조건설명]
Condition1 : MACD가 0 아래에서 골든크로스 발생
Condition2 <<<<<>>>>> 이전 30개봉 동안 MACD가 골든크로스 발생한 시점이 2번(신호발생 바로 전봉에서 골든크로스
가 발생한 상태이기 때문에 이전 29개봉 동안 골든크로스가 발생한 적이 1번 있어야 함,
다시 말하면 30개봉 동안 총 2번의 골든크로스가 발생했어야 함)
Condition3 : 현재의 종가가 이전 MACD 골든크로스 발생한 시점의 종가보다 작다
Condition4 : 이전 MACD 골든크로스 발생한 시점의 MACD값이 현재의 MACD값보다 작다
2016-05-12
110
글번호 97964