커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7644
글번호 230811
답변완료
목표수익 달성 후 당일 매매종료
간단하게 매일 하루에 목표수익을 달성하면 당일청산 신호가 나가는 수식을 부탁드립니다.
예를 들어 선물 목표 수익이 1.0 포인트이면
신호가 나오고 청산이 되는 시점에 누적 수익 포인트를 계속 체크해서
1.0 포인트가 넘어가면 당일청산 신호가 발생 되면서 매매를 종료하는
수식을 부탁드립니다.
2012-07-19
326
글번호 53070
답변완료
수식 다시 문의
말씀하신대로 분봉 한달치 띄워놓고 적용해봤는데
신호발생이 제대로 안되는데요..
전일 종가보다 다음날 시가가 높아도 몇번 외에 대부분 무시해버리네요..
다시 확인해봐주시길..
------------------------------------------------------------------
안녕하세요
예스스탁입니다.
일봉차트에서는 시간을 조건으로 신호를 발생하지 못합니다.
아래식은 1분차트에 적용하시기 바랍니다.
if stime == 151500 then#주식종목은 150000
{
if NextBarOpen > dayhigh Then
buy("b",AtMarket);
}
SetStopEndofday(150000);
즐거운 하루되세요
> 가오리 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
>
일봉 시스템에서
전일고가보다 당일 시가가 높으면 매수
당일 3시에 청산
전체 일봉에 매번 계속 적용
감사드립니다.
2012-07-19
290
글번호 53069
답변완료
다시 질의 합니다.
의도한 바와 달라 보충 질의 합니다.
첨부파일차트(그림1 : 120틱차트 / 그림2 : 강제청산시신호 = S 화살표신호)에서 보는바와 같이
1. 신규진입신호와 청산신호의 변수값을 동시에 같은 값으로 설정 하도록 되어 있어서 신규진입신호와 청산신호의 적정값을 구할 수가 없습니다.
2. 강제청산 후에 다음봉에서 바로 동알방향의 신규진입신호가 발생하기 때문에 강제청산의 의미가 없습니다.
따라서 다음과 같이 수정하여 주시면 감사 하겠습니다.
1. 신규진입신호와 청산신호의 시스템 변수 설정을 달리 할 수있도록 수식을 작성 하여주십시요
시스템변수 설정(예시)
변수이름 변수값
신규진입신호
청산진입신호
2. 강제청산 후에는 그 다음 진입조건만족시까지 신호가 발생하지 않도록 하여 주십시요.
(첨부파일의 예시차트는 강제청산을 손절매 0.5pt / 1pt이후 최대가격대비 0.1pt로 설정 한 것임)
관련 시스템수식
input : N(0.2);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
var1 = wma(c,150);
var2 = wma(c,600);
if (var1 > var2 and (crossup(c,var1) or crossup(c,var2))) Then{
if count == 0 then
buy();
if count > 0 and MarketPosition == 0 and BarsSinceExit(1) >= 1 and (var1 >= var1[BarsSinceExit(1)]+N or var1 <= var1[BarsSinceExit(1)]-N) then
buy();
if count > 0 and MarketPosition == -1 and (var1 >= var1[BarsSinceentry]+N or var1 <= var1[BarsSinceentry]-N) then
buy();
if count > 0 and MarketPosition == -1 and (var1 <= var1[BarsSinceentry]+N or var1 >= var1[BarsSinceentry]-N) then
exitshort();
}
if var1 > var2 and count > 0 and BarsSinceExit(1) >= 1 and MarketPosition == 0 and C > var1[BarsSinceExit(1)]+N Then
buy();
if (var1 > var2 and CrossDown(c,var1) or CrossDown(c,var2)) Then
ExitLong();
if (var1 < var2 and (CrossDown(c,var1) or crossdown(c,var2))) Then{
if count == 0 then
sell();
if count > 0 and MarketPosition == 0 and BarsSinceExit(1) >= 1 and (var1 >= var1[BarsSinceExit(1)]+N or var1 <= var1[BarsSinceExit(1)]-N) then
sell();
if count > 0 and MarketPosition == 1 and (var1 >= var1[BarsSinceentry]+N or var1 <= var1[BarsSinceentry]-N) then
sell();
if count > 0 and MarketPosition == 1 and (var1 <= var1[BarsSinceentry]+N or var1 >= var1[BarsSinceentry]-N) then
exitlong();
}
if var1 < var2 and count > 0 and BarsSinceExit(1) >= 1 and MarketPosition == 0 and C < var1[BarsSinceExit(1)]-N Then
sell();
if (var1 < var2 and CrossUp(c,var1) or CrossUp(c,var2)) Then
ExitShort();
2012-07-20
327
글번호 53068
답변완료
수식부탁드립니다.
# 최대수익대비하락
If BarsSinceEntry() == 0 Then PosHigh = High;
If MarketPosition() == 1 Then {
If High > PosHigh Then PosHigh = High;
ExitLong("trailStop_EL%", AtStop, PosHigh - PosHigh*3/100);
}
If BarsSinceEntry() == 0 Then PosLow = Low;
If MarketPosition() == -1 Then {
If Low < PosLow Then PosLow = Low;
ExitShort("trailStop_ES%", AtStop, PosLow + PosLow*3/100);
}
위 식은 각 봉의 최고가(최저가) 대비 3% 하락(상승)시 실행이 되는데 5분봉 사용시에 각봉의 종가기준으로 실행되도록 하고 싶습니다.
(각 봉의 종가기준으로 최고가(최저가) 대비 3% 하락(상승)시 실행)
2012-07-19
300
글번호 53067
답변완료
시스템부탁드립니다.
바쁘신데 정말 고맙고 미리 감사합니다.
책에서 읽고 연구하다가 부탁드립니다.
아래 시스템에서 선물매도신호에서 콜매도(등가격)/선물매수신호에서 풋매도(등가격)
좀 부탁드립니다.
ar:피봇(0),저항1(0),저항2(0),지지1(0),지지2(0);
피봇 = (DayHigh(1)+daylow(1)+dayclose(1))/3 ;;
저항1 = 2 * 피봇 - daylow(1);
저항2 = 피봇 + DayHigh(1)-DayLow(1);
지지1 = 2 * 피봇 - DayHigh(1);
지지2 = 피봇 - DayHigh(1) + DayLow(1);
#진입
if CrossUp(c, 저항2) Then Buy("추세b");
if CrossDown(c, 지지2) Then Sell("추세s");
if CrossUp (c, 지지1) and bids > asks Then Buy("역추세b");
if CrossDown(c, 저항1) and bids < asks Then Sell("역추세s");
#청산
var1 = Highest(h,BarsSinceEntry+1);
var2 = Lowest(L,BarsSinceEntry+1);
if IsEntryName("추세b") or IsEntryName("추세s") Then
{ExitLong("el1", AtStop, Var1-ATR(20)*4);
ExitShort("es1",AtStop, Var2+ATR(20)*4);
}
Else {
ExitLong("el2", AtStop, Var1-ATR(20)*5);
ExitShort("es2", AtStop, Var2+ATR(20)*5);
2012-07-19
311
글번호 53053
답변완료
25489 관련
친절한 답변 감사합니다
신호가 의도하지않은곳에서 나오는데 제가 원하는내용을 다시 설명드릴게요..
전략1의내용: 직전스토캐스틱교차를기준으로하여 골드크로스이면 골드크로스가유효한구간에서 +di가-di 를상향돌파만판단하여진입하고 반대로직전스톡교차가데드이면유효구간에서는 +DI,-DI교차에의한 매도신호만 나오는것입니다
요약하면 직전스토캐스틱 교차가(골드?,데드?)가 첫조건이고 첫조건이유효한구간내에서 +DI,-DI의교차로 진입하는겁니다
스토골드크로스가발생하엿는데 +DI가-DI를상향교차하지못하고 스톡데드크로스로바뀌면 그시점부터는 +DI,-DI하향교차만판단하는것입니다
전략2내용은 스토캐스틱교차가 과열구간에서만유효한것으로 80이상에서 데드크로스발생시매도진입,20이하에서 골드크로스 발생시 매수하는 내용입니다
80이상에서 골드크로스는 무효 즉 매도신호만 유효
20이하에서 데드크로스는 무효 즉 매수신호만유효
부탁드리겟습니다 ....
2012-07-19
295
글번호 53049
답변완료
리버스, 청산 후 재진입 하는 방법 문의
Var1 = ma(C,p1);
Var2 = ma(C,p2);
Var3 = ma(C,p3);
Condition1 = Var1 > Var2 And Var2 > Var3;
Condition2 = Var1 < Var2 And Var2 < Var3;
# ==================진입====================
if time >= 093000 then
if Condition1 == true then
buy();
if Condition2 == true then
sell();
# ==================청산====================
If (MarketPosition !=0) Then
{ if (OpenPositionProfit < 0) Then
{ ExitLong("매수손절",AtStop,EntryPrice - 1.5);
ExitShort("매도손절",AtStop,EntryPrice + 1.5);
}
}
setstopendofday(145000);
이런식으로 되어 있습니다.
매도 포지션을 가지고 있을때, 매수 신호가 만족하면
바로 매도포지션을 청산하고 매수 포지션으로 바꾸고 싶습니다.
손절이 들어 가고 나서는 재진입을 하는데
손절이 나오지 않았다면,
자동 청산을 하지 않고 재진입을 하지 않습니다.
손절이 안나와도 바로 반대포지션으로 가는 방법에 대해서 알고 싶습니다.
감사합니다.
2012-07-19
346
글번호 53048
답변완료
초보자 문의 드립니다.
안녕하세요.. 시스템매매에 관심이 많은 초보트레이더입니다.
궁금한 것이 있어서 이렇게 글 남깁니다.
가령 제가 A라는 종목을 100만원 어치 가지고 있는데 주식이 올라 평가금액이 101만원이 되면 일 만원어치가 자동매도되게 해서 다시 평가금액이 100만원이 되게 설정할 수 있는지 알고 싶습니다. 반대로 평가금이 97만원이 되면 자동적으로 3만원 매수하게 되어 평가금액을 100만원에 맞출 수 있게 할 수 있는지도 알고 싶습니다.
즉, 평가금액을 98만원에서 102만원 사이로 고정시켜놓고 그 금액을 넘어가면 자동으로 102만원 안으로 들어올때까지 매도가 일어나고 평가금액이 98만원 아래로 내려가면 98만원 이상으로 올라올 때까지 자동 매수를 하는 것이 가능한지 궁금합니다.
2012-07-19
307
글번호 53047
답변완료
예스랭귀지 배우고있는 초보입니다.
1. 당일 체결건중 10계약 이상 체결된 누적수량 및 누적건수를 구할 수 있는지요..
- 당일 장 초반부터 누적치 입니다.
2. 3분차트에서 봉하나에서 10계약이상 체결된건 중
- 10계약 이상 매수누적수량 / 10계약 이상 매수누적건수
- 10계약 이상 매도누적수량 / 10계약 이상 매도누적건수
- 10 ~ 19계약 이상 매수누적수량 / 10 ~ 19 계약 이상 매수누적건수
- 10 ~ 19계약 이상 매도누적수량 / 10 ~ 19 계약 이상 매도누적건수
비슷한것을 찾아 보았는데 없네요..
수식 부탁드립니다.
2012-07-19
321
글번호 53046