커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7962
글번호 230811
답변완료
부탁드립니다.
늘 수고가 많으십니다.
1)파라볼릭, 2) 5/20선
2가지 조건이 일치했을때(파라볼릭 위이고 5/20선 골드가 나왔을때) 매수신호, 반대면 매도신호가 나오는 시스템식을 만들고자 합니다.
이때 신호가 바로 나오지 않고 매수신호 조건을 만족한 "양봉"이 나오면 다음 다음봉, 즉 "양봉" 다음의 2번째 봉이 해당 양봉과 비교해 가격이 같거나 더 높을때 매수신호가 나오게 하고 싶습니다.
매도신호는 반대의 경우입니다.
잘 부탁드립니다. 수고하세요~
2020-05-11
1606
글번호 138774
답변완료
문의드립니다
현재봉은 계산하지않고
Var1 = (Upvol/DownVol);
이수식을 완성해주십시요
2020-05-11
1635
글번호 138773
답변완료
수식 문의 드립니다.
안녕하세요.
볼린저밴드 지표에서 기본값인 "C" 종가를 "(H+L+C)/3" 으로 바꾸었습니다.
그리고, 당일만 "O" 시가를 적용해서 사용하고 싶습니다.
일봉, 주봉, 월봉 에서 사용하고자 합니다.
감사합니다.
====================================================================================
Input : Period(20), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = ma((H+L+C)/3,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
Plot1(MAv, "이평");
Plot2(BBup, "상단밴드");
Plot3(BBdn, "하단밴드");
====================================================================================
Input : Period(Numeric), D(Numeric);
BollBandUp = ma((H+L+C)/3, Period) + (D * std((H+L+C)/3, Period));
====================================================================================
Input : Period(Numeric), D(Numeric);
BollBandDown = ma((H+L+C)/3, Period) - (D * std((H+L+C)/3, Period));
====================================================================================
Input : Price(NumericSeries), Length(NumericSimple);
Var : SumSqrt(0), Avg(0), Counter(0);
If Length != 0 Then Begin
Avg = Ma(Price, Length);
SumSqrt = 0;
For Counter = 0 To Length - 1 Begin
SumSqrt = SumSqrt + (Price[Counter] - Avg) * (Price[Counter] - Avg);
End;
Std = SquareRoot(SumSqrt / Length);
End
Else
Std = 0;
2020-05-11
1772
글번호 138772
답변완료
rsi 가 쌍바닥일때 수식 알려주세요
3분봉 챠트에서 보조지표 rsi가 그림처럼 쌍바닥일때와 쌍봉일때 화살표 나오는 시스템을 하려니 어렵네요.
물론 화살표는 캔들에 나와야겠죠
수식 좀 알려주세요
2020-05-11
2462
글번호 138771
피리소리 님에 의해서 삭제되었습니다.
2020-05-12
4
글번호 138770
답변완료
한가지 더 문의하겠습니다
올려주신 답변을 적용하여 문제를 해결할 수 있게 되었습니다. 감사합니다 ^^
다름이 아니고 분봉차트에 적용하는 수식에서 질문이 있는데요
IF h < ENTRY and NextBarSdate == sdate Then
BUY("ENTRY",ATSTOP,ENTRY);
IF MarketPosition == 1 and nextbarsdate!= sdate Then
EXITLONG("EL",ATMARKET);
이 부분입니다.
1, 우선 올려주신 답변에서는 h > entry 로 적어주셨는데, h < entry가 맞지 않나요?
2. 진입 수식에서 nextbarsdate == sdate 이 부분 해석을 entry조건을 충족하고나서 다음에 형성되는 캔들의 시작날짜와 entry조건을 충족하는 봉의 시작날짜가 충족하면 entry 값으로 진입
3. 청산 수식에서 포지션을 보유하고 나서 바로 다음에 형성되는 캔들의 시작날짜와 포지션을 보유하게 된 직후의 봉의 시작날짜가 다른 경우 다음봉 시가로 청산
즉, nextbarsdate와 sdate의 값이 달라지고 나서 바로 다음봉에 시가로 매도한다.
이렇게 해석하면 되나요?
2020-05-11
1877
글번호 138769
답변완료
시장가 청산로직 추가
Inputs: N(5), 손절틱(50), 익절틱(100);
var : SH(0),SL(0);
if SwingHigh(1,data2(H),N,N,N*2+1) != -1 Then
{
SH = data2(H[N]);
}
if SwingLow(1,data2(L),N,N,N*2+1) != -1 Then
{
SL = data2(L[N]);
}
#스윙하이 보다 높은값에서 롱진입
if
진입조건
SH < C[0] and //롱1
MarketPosition == 0
Then buy("추세롱1",AtStop,C[0]);
SetStopLoss(PriceScale*손절틱,PointStop);
SetStopProfittarget(PriceScale*익절틱,PointStop);
위 시스템수식은 차트2(상위분봉차트)에서 스윙하이값을 구하고,
차트1(하위분봉차트)에서 스윙하이보다 높은 값에서 롱진입을 하는 수식입니다.
위 수식에서는 정해진 익절틱, 손절틱에 도달할경우 청산하는 방식인데,
한가지 청산방식을 더하고 싶습니다.
<추가하고 싶은 시장가 청산로직>
롱 포지션을 가지고 있는 상태에서 차트2(상위분봉차트)에서 새로운 스윙하이값이 나오고
기존 롱진입의 '진입가격 + 익절틱*Pricescale' 의 값이 새로운 스윙하이 보다 클경우,
기존 롱진입을 시장가 청산하는 로직을 추가하고 싶습니다.
2020-05-11
1887
글번호 138767
답변완료
문의드립니다
안녕하세요 답변 정말 감사드립니다!!
업무 끝날시간 전에 문의드릴려다보니 급하게 또 문의드립니다.
임의의 현재분봉종가에서 50틱이상 높은 앞전의 분봉을 찾으려면
(앞전의 분봉이 50틱이상의 분봉이 많을때 조건에 만족하는 첫번째 분봉만 추출함)
(예를들어 1분봉에서 현재가가 25.00 / 14:00이였는데 25.50 넘는봉이이 13:15분이 첫번째 조건에 만족하면 그때가격만 추출함)
수식 알수 있을까요??
감사합니다!!
2020-05-11
1755
글번호 138765
답변완료
67408 재문의 드립니다.
정말 감사드립니다!
T1 = data2(stime); 이부분에서
'값을 대입할수 있는 변수나 배열의 요소 , 입력변수 배열의 요소가 와야합니다.'
이렇게 오류가 났습니다.
좀해보고 다시 문의드리는데 해결책좀 부탁드립니다^^
번거롭게해서 죄송합니다.
=================================================
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다
> 안녕하세요
예스스탁입니다.
cond1은 단지 최근 0봉~40봉 사이에 한번이상 지정한 조건이 만족하면 true가 됩니다.
시간구간이 어떤식으로 지정되는지 모르겠습니다.
cond1이 true일때 시간을 지정해서 해당 시간이후에
만족할때만 cond2와 cond3이 true가 되게 수정해 드립니다.
var : 몸통상단1(0,Data2),Maxdata1(0,data2);
Var : 몸통상단2(0,Data3),Maxdata2(0,data3);
Var : 몸통상단3(0,Data4),Maxdata3(0,data4);
var : Arr(0,data1),cond1(false,data1),cond2(false,data1),cond3(false,data1);
몸통상단1 = Data2(max(C,O)); #data2몸통상단
Maxdata1 = data2(Highest(몸통상단1, 3)); #data2 몸통상단의 3개봉 최고값
몸통상단2 = Data3(max(C,O)); #data2몸통상단
Maxdata2 = Data3(Highest(몸통상단2, 4)); #data2 몸통상단의 5개봉 최고값
몸통상단3 = Data4(max(C,O)); #data2몸통상단
Maxdata3 = Data4(Highest(몸통상단3, 5)); #data2 몸통상단의 5개봉 최고값
cond1 = false;
For ARR = 0 TO 40
{
If data1(H) >= Maxdata1[arr] Then
{
cond1 = true;
T1 = data2(stime);
}
}
cond2 = false;
For ARR = 0 TO 50
{
If data2(H) >= Maxdata2[arr] and cond1 == true and data2(stime) >= T1 Then
cond2 = true;
}
cond3 = false;
For ARR = 0 TO 60
{
If data3(H) >= Maxdata3[arr] and cond1 == true and data2(stime) >= T1 Then
cond3 = true;
}
if cond1 == true && cond2 == true && cond3 == true then
buy();
2020-05-11
1709
글번호 138759