커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8101
글번호 230811
회원 님에 의해서 삭제되었습니다.
2018-09-12
3
글번호 122004
답변완료
수식 오류 재문의
please check attaschment.
always thank you
2018-09-13
308
글번호 122002
흑수돌 님에 의해서 삭제되었습니다.
2018-09-12
0
글번호 122001
답변완료
자세한답변 정말 고맙습니다^^* (재문의 드렸습니다)
아래 59289번 답변내용에 대해서 재문의드렸습니다 ^^*
2018-09-12
289
글번호 121998
답변완료
보내주신 수식대로 하니까 다르게 되네요... 확인 부탁드려요
첨부 차트는 쿠르드오일입니다.
조건:
1.일봉 5<10<20(역배열)이 아닐때 유효
2.매수 조건 : RSI(14)<25 & 전일/전전일 보다 낮은 때마다 매수(총 10계약)
3.매수 청산 : RSI(14)>70 전량 청산
4.매도 조건 : RSI(14)>80 & 전일/전전일 보다 높을 때마다 매도(총 10계약)
5.매도 청산 : RSI(14)>20 전량 청산
해당 조건의 수식은 다음과 같습니다.(알려주신 식)
input : P1(5),P2(10),P3(20);
var : count(0);
var : sumV1(0),sumV2(0),sumV3(0);
var : mav1(0),mav2(0),mav3(0),T(0);
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
for count = 0 to P3{
if count < P1 Then
sumV1 = sumV1+DayClose(count);
if count < P2 Then
sumV2 = sumV2+DayClose(count);
if count < P3 Then
sumV3 = sumV3+DayClose(count);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
maV3 = sumV3 / P3;
if mav1 > mav2 and mav2 > mav3 Then
T = 1;
Else if mav1 < mav2 and mav2 < mav3 Then
T = -1;
Else
T = 0;
var1 = RSI(14);
if T >= 0 then
{
if var1 <= 25 and C < C[1] and C < C[2] and C < C[3] and
(MarketPosition <= 0 or (MarketPosition == 1 and MaxContracts < 10)) Then
buy("매수",OnClose,def,1);
}
if MarketPosition == 1 and var1 >= 70 Then
exitlong("매수청산");
if T >= 0 then
{
if var1 >= 80 and C > C[1] and C > C[2] and C > C[3] and
(MarketPosition <= 0 or (MarketPosition == -1 and MaxContracts < 10)) Then
Sell("매도",OnClose,def,1);
}
if MarketPosition == -1 and var1 < 20 Then
ExitShort("매도청산");
=======================================================================================
조건:
1.일봉 5<10<20(역배열)이 아닐때 유효
2.매수 조건 : RSI(14)<25 & 전일/전전일 보다 낮은 때마다 건너뛰기 매수(총 10계약)
3.매수 청산 : RSI(14)>70 전량 청산
4.매도 조건 : RSI(14)>80 & 전일/전전일 보다 높을 때마다 건너뛰기 매도(총 10계약)
5.매도 청산 : RSI(14)>20 전량 청산
*건너뛰기: 최초신호:진입 두번째신호: skip 세번째신호:진입 네번째신호:skip
해당 조건의 수식은 다음과 같습니다.(알려주신 식)
input : P1(5),P2(10),P3(20);
var : count(0);
var : sumV1(0),sumV2(0),sumV3(0);
var : mav1(0),mav2(0),mav3(0),T(0);
var : Bcnt(0),Scnt(0);
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
for count = 0 to P3
{
if count < P1 Then
sumV1 = sumV1+DayClose(count);
if count < P2 Then
sumV2 = sumV2+DayClose(count);
if count < P3 Then
sumV3 = sumV3+DayClose(count);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
maV3 = sumV3 / P3;
if mav1 > mav2 and mav2 > mav3 Then
T = 1;
Else if mav1 < mav2 and mav2 < mav3 Then
T = -1;
Else
T = 0;
var1 = RSI(14);
if T >= 0 then
{
if var1 <= 25 and C < C[1] and C < C[2] and C < C[3] Then
{
if MarketPosition == 0 Then
buy("B");
if MarketPosition == 1 Then
{
Bcnt = Bcnt+1;
if Bcnt%2 == 0 and MaxContracts < 10 Then
buy("BB",OnClose,def,1);
}
}
}
if MarketPosition != 1 Then
Bcnt = 0;
if MarketPosition == 1 and var1 >= 70 Then
ExitLong("매수청산");
if T >= 0 then
{
if var1 >= 80 and C > C[1] and C > C[2] and C > C[3] then
{
if MarketPosition == 0 Then
Sell("S1");
if MarketPosition == -1 Then
{
Scnt = Scnt +1;
if Scnt%2 == 0 and MaxContracts < 10 Then
Sell("SS",OnClose,def,1);
}
}
}
if MarketPosition == -1 and var1 < 20 Then
ExitShort("매도청산");
if MarketPosition != -1 Then
Scnt = 0;
=====================================================================================
이렇게 했는데 첨부화일을 보면 알겠지만 진입/청산이 다르게 나오네요...
저는 신호발생시마다 진입하는것이 부담되어서 건너뛰기 진입하려고 했던건데...
아에 매수 진입이 되지 않는 부분이 있어서 무슨 문제인지 알려주시면 감사하겠습니다.
2018-09-12
305
글번호 121987
답변완료
수식 부탁드립니다..
해외선물 거래시
지표 중에 당일 고가 저가를 표시하는데
고가선 옆에 당일(고가- 저가)틱수를 표시 할수 있나요???
2018-09-12
303
글번호 121983
답변완료
수식점검부탁드립니다
input : 카운팅시작일자(20180911), 카운팅시작시간(070000);
input : 고점최고세력합(0); #만단위
if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then
Condition1 = true;
if Condition1 == true Then {
if C > O Then
var1 = var1 + V; #양봉일때의 거래량 누적
if C < O*0.99 Then
var2 = var2 + V; #음봉일때의 거래량 누적
var4 = 고점최고세력합-(var2-var1);
if C > O *1.01 Then
var1 = var1 + V; #양봉일때의 거래량 누적
if C < O Then
var2 = var2 + V; #음봉일
var5 = 고점최고세력합-(var2-var1);
var4 = 고점최고세력합-(var2-var1);
Condition1 = var4>=0 ;
Condition2 = var5<=0 ;
if Condition1 == true and Condition1[1] == false Then
buy("b1");
if Condition2 == true and Condition2[1] == false Then
sell("s1");
}
2018-09-12
311
글번호 121982
답변완료
수식점검부탁드립니다
if C <= DayClose(1)*0.97 and ExitDate(1) != sdate Then
buy("b",AtMarket);
이걸로 봉갯수를 1개로 설정하고 1틱차트에 그날 걸어놓으면 당일 기준으로 매수를 하는게 아니라 전날차트가 이조건을 만족하면 아침에 오늘은 조건을 만족하지않는데도 바로 매수를 해버리네요
프로그램에서 최소 1봉은 설정해놔야한다고해서 어제 봉이 최소 1개는 포함될수밖에 없는것같은데요. 매수는 어제 종가 기준에서 오늘 3프로 이상 빠졌을때만 매수되도록하려면 어떤수식을 추가해야하나요?^^
2018-09-12
273
글번호 121980
곰함 님에 의해서 삭제되었습니다.
2018-09-12
12
글번호 121978