커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1643
글번호 230811
답변완료
수식작성 부탁드립니다.
스토캐스틱(10,5,5)
매도조건시 매수청산과 동시에 매도진입하는 스위칭 전략입니다.
매수조건 : 1봉전 %K < 20 AND 2봉전%D < 1봉전%D < 0봉전%D AND %K가 %D를 상향돌파
매도조건 : 1봉전 %D < 80 AND 2봉전%D > 1봉전%D > 0봉전%D AND %K가 %D를 하향돌파
조건이 만족되더라도 반드시 봉이 끝나고 새로운 봉이 시작될때만 청산 및 진입이 되도록 부탁드립니다.
조건과 상관없이 손절은 0.13%, 익절은 0.3% 입니다.
2021-07-21
1654
글번호 150967
답변완료
수식 문의
안녕하세요
참조 차트의 이평선에서 이번 봉과 이전 봉에서의 이평선 값 비교 수식 문의드립니다
var1=ma(c,5);
if var1 < var1[1] 으로 하니 기본차트의 값이 비교되는 것 같아서 그렇습니다
감사합니다
2021-07-21
1629
글번호 150966
답변완료
함수문의 드립니다
안녕하세요?
1. ExitPrice를 buy로 청산한거와 sell로 청산한 것을 구분할수있나요?
c < ExitPrice(1) Then
Buy("ExitBuy");
c > ExitPrice(1) Then
sell("ExitBuy");
2. ExitPrice(1)와 LatestExitPrice는 같은것인가요?
3. LatestEntryPrice을 buy진입, sell진입을 구분할수 있나요?
2021-07-21
1651
글번호 150965
답변완료
시스템 질문입니다
1.
오전9시 이후 1~3번째 봉을 카운터하여 음봉의 수가 양봉의 수보다 많으면 매도
오전9시 이후 1~3번째 봉을 카운터하여 양봉의 수가 음봉의 수보다 많으면 매수
오전9시 이후 1~5번째 봉을 카운터하여 음봉의 수가 양봉의 수보다 많으면 매도
오전9시 이후 1~5번째 봉을 카운터하여 양봉의 수가 음봉의 수보다 많으면 매수
1포인트 수익 익절
3봉,5봉 입력 외부 표출
2.
오전9시 이후 1~3번째 봉 고가를 표시한다
오전9시 이후 1~3번째 봉 저가를 표시한다
오전9시 이후 1~5번째 봉 고가를 표시한다
오전9시 이후 1~5번째 봉 저가를 표시한다
3봉,5봉 입력 외부 표출
감사합니다
2021-07-22
1499
글번호 150964
답변완료
수식검토 부탁드립니다.
아래 수식검증시 오류는 없습니다.
문제는 직접 돌려보면 매도는 정상적으로 실행되지만 매수의 경우 항상 매수진입과 거의 동시에 매수청산이 실행되어버립니다.
매수부분만 따로 떼어내서 돌려보면 그런 현상이 없습니다.
그리고 매수와 매도 진입시 조건을 만족하면 즉시 진입하는 경우와 조건을 만족하더라도 봉이 완성된 후 진입하는 경우 각각 어떤 수식을 넣어야 하는지도 알려주십시오.
Var : value(0);
value = 0;
# 매수
If CCI(9) > 0 Then
value = 1;
If MACD(8,18) > 0 Then
value = value+1;
If DIPlus(14) > DIMinus(14) Then
value = value+1;
If StochasticsK(6,3) > StochasticsD(6,3,3) Then
value = value+1;
# 매수/매도청산
if MarketPosition == 0 and value >= 2 Then
{
Buy();
}
Var : value2(0);
# 매도
If CCI(9) < 0 Then
value2 = 1;
If MACD(8,18) < 0 Then
value2 = value2+1;
If DIPlus(14) < DIMinus(14) Then
value2 = value2+1;
If StochasticsK(6,3) < StochasticsD(6,3,3) Then
value2 = value2+1;
if MarketPosition == 0 and value2 >= 2 Then
{
Sell();
}
2021-07-21
1509
글번호 150960
답변완료
수식문의 드립니다
안녕하세요
다름이 아니라 아래와 같은 지표를 사용중인데 차트로딩시에 시간이 다소 걸립니다
제 생각엔 혹시 과거데이터까지 그리느라 시간이 좀 걸리는게 아닌가 싶은데
아래와 같은 지표에서 오늘의 vi가격만을 나타낼수는 없을까요?
아니면 혹시 로딩에 부하걸리는 원인을 고쳐주실수없는지 부탁드려봅니다 ㅠㅠ
---------------------------------------
var : tx2(0)tx4(0);
var : a1(0),a2(0);
if Bdate != Bdate[1] Then
{
var1 = O;
}
Else
{
if H[1] == L[1] and v[1] == 0 and
v >= 1 and
(abs(C[1]-A1[1]) <= PriceScale*1 or
abs(C[1]-A1[1]) <= PriceScale*1) Then
var1 = O;
}
Var2 = Floor((var1*0.1)/PriceScale)*PriceScale;
if var1*0.1 > Var2 Then
{
Var2 = Var2+PriceScale;
}
a1 = var1+Var2*1;
b1 = var1-Var2*1;
a2 = var1+Var2*2;
b2 = var1-Var2*2;
Plot2(a1,"상단1",RED);
Plot4(a2,"상단2",RED);
Text_Delete(tx2);
tx2 = Text_New(NextBarSdate,NextBarStime,a1,NumToStr(a1,2));
Text_SetStyle(tx2,0,1);
Text_SetColor(tx2,WHITE);
Text_Delete(tx4);
tx4 = Text_New(NextBarSdate,NextBarStime,a2,NumToStr(a2,2));
Text_SetStyle(tx4,0,1);
Text_SetColor(tx4,WHITE);
2021-07-21
1351
글번호 150939
답변완료
질문드립니다
호가잔량 대한 질문드립니다.
분봉에서 장 시작후 첫번째가 아닌 두번째 캔들 이후부터 발생한 당일 호가잔량의 최고가와 최저가를 각각 구하는 식을 부탁드리겠습니다. 즉 첫번째 캔들의 호가잔량 수치는 무시하고 두번째 캔들 이후부터 현 시점까지의 당일 호가잔량 최고/최저치를 구하는 식입니다.
감사합니다.
2021-07-21
1490
글번호 150937
답변완료
안녕하세요 질문드립니다.
안녕하세요 먼저 이전의 질문에 대한 답변 너무 감사합니다
제가 여쭈어 봤던건
1. 45프로 이득후 청산 또는
2. 35상승후 10프로 하락시 청산 또는
3. 6프로 하락시 청산 또는
4. 1540봉 경과시 청산
이었습니다.
해서 이걸 써본다면
A1, A2 라는 진입이 2개가 있을경우
1,2,3 조건은 이렇게 작성되는걸로 알고있는데요
여기서 질문드립니다 (질문은 맨 밑에 있습니다)
var : A1Price(0),A1high(0);
var : A2Price(0),A2high(0);
if MarketPosition == 1 Then
{
#A1진입 발생
#보유수량이 증가하고 최근 발생한 진입명이 A1이면
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "A1" Then
{
#진입가 저장
A1Price = LatestEntryPrice(0);
#진입이후 최고가의 초기값으로 현재봉 고가저장
A1high = H;
}
#새로운 고가가 발생하면 변수의 값을 새로운 고가를 변경
if A1high > 0 and H > A1high Then
A1high = H;
#45% 수익이면 청산
ExitLong("C1",AtLimit,A1Price*1.45,"A1");
#35% 이상 수익이후에 10% 하락하면 청산
if A1high >= A1Price*1.35 Then
ExitLong("C2",AtStop,A1high*0.0.9,"A1");
#6% 손실시 청산
ExitLong("C3",AtStop,A1Price*0.94,"A1");
#A2진입
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "A2" Then
{
A2Price = LatestEntryPrice(0);
A2high = H;
}
if A2high > 0 and H > A2high Then
A2high = H;
ExitLong("D1",AtLimit,A2Price*1.45,"A2");
if A2high >= A2Price*1.35 Then
ExitLong("D2",AtStop,A2high*0.90,"A2");
ExitLong("D3",AtStop,A2Price*0.94,"A2");
}
Else
{
A1Price = 0;
A1high = 0;
A2Price = 0;
A2high = 0;
}
--------------------------
질문입니다.
1540봉 이후 청산을 여기 추가하려면
아래 3개의 식을 넣어야하는걸로 알고있는데
어떻게 넣어야하는건지 모르겠어요
대입해주시면 감사하겠습니다.
진입이 2개니까 2번 넣어야하는건지...
진입이 여러개로 늘어날땐 또 어떻게 대입해야하는건지...
진입 개수와 상관없이 하나만 넣으면 되는건지,...너무 어렵네요...
대입좀 부탁드리고 후에 간략한 설명해주심 너무너무 감사하겠습니다.
var : bidx(0);
if Bidx == 1540 Then
ExitLong("bx");
bidx = 0;
2021-07-21
1566
글번호 150936
답변완료
문의
아래 수식을
- 국내선물, 오버나잇에 적용코자 합니다.
요청1.
선물 만기일(매분기)에는 15시 10분에 청산하는 수식을 추가해 주십시요.
아래 수식을
- 국내 미니선물, 오버나잇에 적용코자 합니다.
요청2.
미니선물 만기일(매월)에는 15시 10분에 청산하는 수식을 추가해 주십시요.
********************************************************************************
Input : up(3900),dn(5800),진입수량1(1),진입수량2(1);
var : C2(0,data2),entry(false,data2);
C2 = data2(C);
if data2(Bdate != Bdate[1]) Then
entry = false;
if entry == false and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= up) Then{
entry = true;
buy("b",onclose,DEf,진입수량1);
}
if entry == false and data2(Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= dn) Then{
entry = true;
sell("s",onclose,DEf,진입수량2);
}
2021-07-21
1301
글번호 150934