커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3741
글번호 230811
답변완료
평단가를 차트에 띄우는 방법?
시스템 적용 이후 포지션 진입부터 청산이 될때까지, 차트 위에 포지션 평단가와 평단가±@로 직선을 그리고싶은데 불가능할까요?
2020-04-21
699
글번호 138136
답변완료
최적화수식
예를 들어
A 시스템이 변수 P1 이 최소값1 최대값10 증가단위1 이고
변수 P2 가 최소값1 최대값10 증가단위1 이면
최적화 수식은 어떻게 되나요?
2020-04-21
656
글번호 138135
여행88 님에 의해서 삭제되었습니다.
2020-04-21
26
글번호 138134
답변완료
종목검색식
볼린져밴드(지표값 900, 2) 상단 돌파 종목식 부탁합니다
2020-04-20
358
글번호 138133
파워 님에 의해서 삭제되었습니다.
2020-04-20
0
글번호 138132
답변완료
주말에 편하게 쉬려고 합니다. 토요일 5시부터 청산되게 하는 식을 부탁드려요
제가 주말에 편하게 하기 위한 청산 수식을 다음 수식을 적용합니다.
if DayOfWeek(sdate) == 6 and
((NextBarSdate != sdate and NextBarStime >= 060000) or
(NextBarSdate == sdate and NextBarStime >= 060000 and stime < 060000)) Then
{
ExitLong("주말매수청산");
ExitShort("주말매도청산");
}
해당 숫자"060000"6시 이후부터 봉 완료 시점에 청산되는 수식인데요...
섬머타임등을 고려해서 30분~1시간 정도 일찍 청산하려고 합니다.
그러면 060000 을 053000 으로 3개를 바꾸면 되자나요 그런데 문제가 생겼습니다.
토요일 새벽 5시 30분이후에 진입되어 버리는 경우가 있더라고요...ㅠㅠ
그래서 다음 수식을 반영할수 있을까요??
토요일 새벽 5시 30분 이후에는 진입 자체를 금지 하는 수식을 반영부탁드릴께요~~~
전체 수식을 다음과 같습니다..
# 매수 진입 조건 변수
Input : RSIPeriod(7),RSI매수값(34),SimPeriod(7),심리도값(16); # RSI와 심리도 기간 및 값 변수
Input : N1(1),초기화(1); # 위 해당 조건 발생후 진입 유효 기간, 7일경과후 초기화
Input : 하락틱수(4); # 해당 조건 발생후 하락틱수만큼 하락후 진입 변수
Input : RSIPeriod1(6),A(0),B(14),D(38),E(94); # 일봉기준 RSI값이 해당변수안에 속해있을때 진입 변수
Input : 거래량1(100),거래량평균봉수(20),거래량평균봉수비율(3.5); # Input : 거래량1(100),거래량2(7500); # 해당 거래량1,2 사이에 속해 있을때 진입되는 변수
# 청산 조건 변수
Input : CCI기간(20),CCI값(250); # CCI값에 의해 청산 수식 변수
Input : 즉시익절1(65),즉시손절1(105); # 익절값 손절값 변수
Input : N2(0.6),N3(-0.55); # 상승후 본절청산 관련 수식
Input : tr수익(50),tr하락(60); # 트레일링 관련 수식
Input : N4(0.05),본전생각틱(45); # 하락후 본절청산 관련 수식
Input : N5(0.2),CCI값1(220); # 약 손절 관련 수식
Input : 터치익절(100);
var : cnt(0),SigSum(0),count2(0),RSIsig(0);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
var : idx(0), PreUpAvg(0), preDownAvg(0),RSIVv(0);
Array : C1[100](0);
var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0),entry(0);
CCIv = CCI(CCI기간);
RSIV = RSI(RSIPeriod);
Simri = Simrido(SimPeriod);
if Bdate != Bdate[1] Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
PreUpAvg = UpAvg[1];
preDownAvg = DownAvg[1];
idx = idx + 1;
}
C1[0] = C;
If idx == RSIPeriod1+2 Then
{
UpSum = 0;
DownSum = 0;
For Counter = 0 To RSIPeriod1 - 1
{
UpAmt = C1[Counter] - C1[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else
{
DownAmt = -UpAmt;
UpAmt = 0;
}
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
}
UpAvg = UpSum / RSIPeriod1;
DownAvg = DownSum / RSIPeriod1;
}
If idx > RSIPeriod1+2 Then
{
UpAmt = C1[0] - C1[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else
{
DownAmt = -UpAmt;
UpAmt = 0;
}
UpAvg = (PreUpAvg * (RSIPeriod1 - 1) + UpAmt) / RSIPeriod1;
DownAvg = (preDownAvg * (RSIPeriod1 - 1) + DownAmt) / RSIPeriod1;
}
If UpAvg + DownAvg <> 0 Then
RSIvv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIvv = 0;
if bdate != bdate[1] Then
{
Entry = 0;
Condition2 = true;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if TotalTrades > TotalTrades[1] and
(IsExitName("즉시손절1",1) == true or IsExitName("본전청산1",1)) then
Condition2 = false;
Condition1 = RSIv < RSI매수값 and Simri < 심리도값 and ((RSIVV > A and RSIVV < B) or (RSIVV > D and RSIVV < E)) ;
if bdate != bdate[1] Then
{
DD = DD+1;
if var2 > 0 and DD == var2+초기화 Then
BuySetup = false;
}
if BuySetup == false and Condition1 == true and Condition1[1] == false Then
{
var1 = C;
var2 = DD;
BuySetup = true;
}
if Condition2 == true and MarketPosition == 0 and C < O and C[1] < O and BuySetup == true and entry == 0
and v < ma(v,거래량평균봉수)*거래량평균봉수비율 and v > 거래량1 Then # and C < O
buy("매수",AtLimit,var1-PriceScale*하락틱수);
if MarketPosition == 1 then
{
BuySetup = false;
SetStopProfittarget(PriceScale*터치익절,PointStop);
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산",OnClose);
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1",OnClose);
if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then
ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3);
Else
{
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
}
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then
ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*즉시손절1*N4 and C < O Then
ExitLong("저점에서 올라와서 본전 청산",atlimit,EntryPrice+PriceScale*본전생각틱);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*즉시손절1 *N5 and CCIv >= CCI값1 and C < O Then
ExitLong("저점에서 올라와서 약손절",OnClose);
}
if DayOfWeek(sdate) == 6 and
((NextBarSdate != sdate and NextBarStime >= 060000) or
(NextBarSdate == sdate and NextBarStime >= 060000 and stime < 060000)) Then
{
ExitLong("주말매수청산");
ExitShort("주말매도청산");
}
2020-04-20
399
글번호 138131
답변완료
수식 부탁드려요~~
이 수식에 다음 조건을 반영하고 싶습니다.
아래는 분봉기준입니다
일봉기준으로 이평선 N3 > N4 를 만족하고 분봉 N1 > N2 cross up 할때 매수 진입
청산은 N2 > N1 cross down 시 청산 ( 일봉 기준은 상관없음 )
# 매수 진입 조건 변수
Input : N1(20),N2(100);
var1 = ma(C,N1);
var2 = ma(C,N2);
if crossup(var1,var2) Then
{ buy("매수",OnClose);
}
if CrossDown(var1,var2) Then
{ ExitLong("청산",OnClose);
}
if DayOfWeek(sdate) == 6 and
((NextBarSdate != sdate and NextBarStime >= 050000) or
(NextBarSdate == sdate and NextBarStime >= 050000 and stime < 050000)) Then
{
ExitLong("주말매수청산");
ExitShort("주말매도청산");
}
그리고 매도 진입 및 매도 청산 수식도 부탁드려요~~
2020-04-20
371
글번호 138130
파워 님에 의해서 삭제되었습니다.
2020-04-20
0
글번호 138129
답변완료
단순 파라볼릭 매수/매도
안녕하세요, 수고많으십니다.
단순하게 1분봉으로 파라볼릭 매도/매수 신호가 나왔을때마다 시장가로 매도/매수 및 기존에 수량이 있다면 청산 하는 식좀 부탁드립니다.
af(0.02), maxAF(0.2)
2020-04-20
434
글번호 138128