커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1552
글번호 230811
고성 님에 의해서 삭제되었습니다.
2023-03-05
27
글번호 166928
답변완료
시스템식 부탁드립니다.
항상 도움 주셔서 감사합니다.
아래와 같은 시스템식을 작성하였습니다.
종목 : 해외선물
도움요청1 :
가령 가격이 계속 하락하여 매수로 3계약이 들어갔을 경우
가격이 다시 상승하면 맨 마지막 진입부터 청산이 되어야 하는데
처음 들어간 계약부터 청산 되고, 마지막 3번째 들어간 매수는
가장 높은곳에서 청산 됩니다.
저는 가격이 다시 상승할 경우 마지막 매수진입분터 제일 먼저 청산하고
처음들어간 매수포지션은 맨 마지막에 청산하고 싶습니다
아래 시스템 수식 수정 부탁드립니다.
도움요청2 :
당일 청산 순수익과 현재 포지션 손익의 합이
20틱 이상 수익인 경우 새벽 6시에 체크하여 잔고 모두 청산하도록
시스템식 수정 부탁드립니다.
도움요청3 :
매수든 매도든 포지션 처음 진입이후 포지션 청산 순수익과 현재 포지션 손익의 합이
20틱 이상 수익인 경우 잔고 모두 청산하도록 시스템식 수정 부탁드립니다.
도움요청4 :
포지션이 있는 경우 가격이 특정값보도 높게 상승하거나
특정값보다 낮게 하락하는 경우 모든 포지션 청산(손절)하도록 시스템식 수정부탁드립니다.
#----------------------------------------------------------------
#--------------------------------
# 매수
#--------------------------------
var : x(0);
var1 = PriceScale*매수진입폭;
if MarketPosition == 0 and L > DayOpen-var1 Then
Buy("B",AtLimit,DayOpen-var1,1);
if MarketPosition == 1 Then
{
Buy("B2",AtLimit,DayOpen-var1*(MaxEntries+1),1);
if CurrentContracts > CurrentContracts[1] Then
Var2 = AvgEntryPrice;
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
ExitLong("BX",AtLimit,Var2+var1*(x+1),"",1,2);
}
Else
x = 0;
#--------------------------------
# 매도
#--------------------------------
var : xx(0);
var3 = PriceScale*매도진입폭;
if MarketPosition == 0 and H < DayOpen+var3 Then
Sell("S",AtLimit,DayOpen+var3,1);
if MarketPosition == -1 Then
{
Sell("S2",AtLimit,DayOpen+var3*(MaxEntries+1),1);
if CurrentContracts > CurrentContracts[1] Then
Var4 = AvgEntryPrice;
if CurrentContracts < CurrentContracts[1] Then
xx = xx+1;
ExitShort("SX",AtLimit,Var4-var3*(xx+1),"",1,2);
}
Else
xx = 0;
#----------------------------------------------------------------
감사합니다.
2023-03-05
921
글번호 166927
답변완료
지표 수정
78096번 단순이평에서지수이평으로변경요청합니다
늘 감사합니다
2023-03-05
920
글번호 166926
답변완료
봉갯수만큼 박스처리
안녕하세요~
봉갯수 만큼 박스를 그려주세요. 해외선물 당일 첫봉부터 카운트해서 n(20)개 봉이 완료되면 n(20)개 봉의 고점 저점을 감싸는 박스를 최종적으로 완료해주세요.
*그이전에는 n(2)개 부터 n(19)개 까지 그렸다가 사라지도록 해주시고 n(20)개 박스만 최
종 굵게 표시해 남겨주세요.
*과거 box 마지막봉 종가기준으로 변화한 틱값을 박스 상단, 하단에 txt 표기.
감사합니다.
2023-03-05
895
글번호 166925
답변완료
문의 드립니다.
20 이평 120 이평 정배열이고 주가가 20 이평 위든 아래든 음봉에서 양봉 발생 시 매수
청산은 음봉 발생 시 매도 청산 완료
20 이평 120 이평 역배열이고 주가가 20 이평 위든 아래든 양봉에서 음봉 발생 시 매도
청산은 양봉 발생 시 매수 청산 완료
부탁드립니다.
2023-03-05
778
글번호 166924
답변완료
해결 방법이 무엇일까요?
수정 부탁드립니다
감사힙니다
순매수 체결량
//Upvol "상승형 체결거래량";
//DownVol "하락형 체결거래량"
input: 막대굵기 (1);
var : sumPL(0);
if sDate = sDate[1] Then
{
sumPL = 0;
}
Else
{
sumPL = sumPL + (Upvol-DownVol);
If sumPL > 0 Then
Plot1(sumPL, "순매수체결량",RgB(255,0,0),Def,막대굵기);
Else
Plot1(sumPL, "순매수체결량",RgB(0,0,255),Def,막대굵기 );
}
PlotBaseLine1(0, "기준선0");
11번째줄 5열 값을 대입할 수 있는 변수나 배열의 요소, 입력변수, ....라고 뜹니다
수정 부탁드립니다
2023-03-04
719
글번호 166923
답변완료
해결 방법이 무엇일까요?
도움을 주셔서 많은 도움이 되고 있습니다
감사합니다
RSI밴드 수식
Input:Length(14),UpLevel(70),DnLevel(30);
Var:Upband(0),DnBand(0),MidLine(0);
RSI_BAND(Length,UpLevel,DnLevel,0,UpBand,DnBand,MidLine); // 현재 봉에서의 밴드 값
Plot1(UpBand);
Plot2(MidLine);
Plot3(DnBand);
오류창에
7번째줄 1열에 선언되지 않은 이름 'RSI_BAND'가 사용되었습니다-라고 뜹니다
수정을 부탁드립니다
행복한 하루 되세요
2023-03-04
976
글번호 166922
답변완료
고가,저가
분봉에서 당일고가,당일저가 가 생긴 캔들의 고가을 이은선, 저가를 이은선 부탁합니다
당일고가 DayHigh() > DayHigh()[1]
당일저가 DayLow() < DayLow()[1]
2023-03-04
1320
글번호 166921
답변완료
등가 수식 추가
늘 감사합니다.
수식은 유익하게 잘 쓰고 있습니다.
아래의 수식에 다음 사항을 추가해 주세요.
--------------
Plot6(Var4,"첫날시가");와 같은 방식으로
첫날 시가의 ATM 등가를 추가해 주세요
---------------
var : month(0),nday(0),week(0);
var :EX(false),HH(0),LL(0),DD(0),HH1(0),LL1(0);
var : t1(0),t2(0),t3(0),t4(0),t5(0),t6(0),t7(0),t8(0),t9(0),t10(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
week = DayOfWeek(date);
#선물만기
#if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
if nday >= 8 and nday <= 14 and week == 4 then#옵션만기
EX = true;
Else
EX = false;
if EX == false and EX[1] == true Then{
Condition1 = true;
DD = sDate;
HH = H;
LL = L;
HH1 = HH[1];
LL1 = LL[1];
}
if Condition1 == true then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = HH;
var2 = LL;
var3 = var1-var2;
plot1(var1,"Maxi");
plot2(var2+var3*0.618,"되돌림");
plot3(var2+var3*0.500,"중심");
plot4(var2+var3*0.382,"축소");
plot5(var2,"Mini");
if sDate == DD Then
{
Var4 = DayOpen;
Var5 = DayHigh;
Var6 = DayLow;
}
Plot6(Var4,"첫날시가");
Plot7(Var5,"첫날고가");
Plot8(Var6,"첫날저가");
if HH1 > 0 and LL1 > 0 Then
{
Plot9(HH1,"전월물최고");
Plot10(LL1,"전월물최저");
Plot11((HH1+LL1)/2,"전월물중간");
}
}
2023-03-04
897
글번호 166920