커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3756
글번호 230811
답변완료
수식부탁합니다
수고하십니다
년n봉전 저가 월n봉전 저가 주n봉전 저가 일봉n봉전 저가를 분봉차트에 라인을 만들고십습니다 부탁합니다
2020-03-21
415
글번호 137075
답변완료
수식 추가로 작성 요청드릴께요~~
아래수식은 b1~b8번 까지 다른 매수조건이지만
청산 조건은 진입후 11% 수익시 청산하게되는 수식입니다.
각각 매수조건별로 청산조건을 다르게 설계가능할까요?
예를 들면
b1조건에 매수후 3% 수익시 청산
b2조건에 매수후 4% 수익시 청산
b3조건에 매수후 5% 수익시 청산
b4조건에 매수후 6% 수익시 청산
b5조건에 매수후 7% 수익시 청산
b6조건에 매수후 8% 수익시 청산
b7조건에 매수후 9% 수익시 청산
b8조건에 매수후 10% 수익시 청산
하게 하는 식을 부탁드릴게요~~
input : n(180),하락퍼센트(0.95);
input : p(20),MFI값(70);
input : 매매수(25),금액1(0),금액2(0),금액3(5),금액4(10),금액5(15),금액6(15),금액7(15),금액8(15);
input : 전일대비하락률(0.85),청산률(11);
var1 = highest(H,n);
var2 = mfi(P);
if stime < 143000 then
{
if MaxEntries < 매매수 and
c < var1*하락퍼센트 and
var2 < MFI값 and
c < o and
c <= c[1]*(100-전일대비하락률)/100 Then
buy("b1",OnClose,def,Floor(금액1*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.04) and
var2 < (MFI값-7) and
c < o and
c <= c[1]*(99.4-전일대비하락률)/100 Then
buy("b2",OnClose,def,Floor(금액2*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.08) and
var2 < (MFI값-14) and
c < o and
c <= c[1]*(99.2-전일대비하락률)/100 Then
buy("b3",OnClose,def,Floor(금액3*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.12) and
var2 < (MFI값-21) and
c < o and
c <= c[1]*(98.8-전일대비하락률)/100 Then
buy("b4",OnClose,def,Floor(금액4*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.16) and
var2 < (MFI값-28) and
c < o and
c <= c[1]*(98.4-전일대비하락률)/100 Then
buy("b5",OnClose,def,Floor(금액5*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.2) and
var2 < (MFI값-35) and
c < o and
c <= c[1]*(98.0-전일대비하락률)/100 Then
buy("b6",OnClose,def,Floor(금액6*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.24) and
var2 < (MFI값-42) and
c < o and
c <= c[1]*(97.6-전일대비하락률)/100 Then
buy("b7",OnClose,def,Floor(금액6*10000/c));
if MaxEntries < 매매수 and
c < var1*(하락퍼센트-0.28) and
var2 < (MFI값-48) and
c < o and
c <= c[1]*(97.2-전일대비하락률)/100 Then
buy("b8",OnClose,def,Floor(금액6*10000/c));
SetStopProfittarget(청산률,PercentStop);
}
Else
SetStopProfittarget(0);
2020-03-21
416
글번호 137074
답변완료
해석좀
accumn(bids-asks,dayindex+1)>0
이 수식이 무슨뜻인가요? 이용해보려고 합니다
2020-03-20
406
글번호 137073
답변완료
도움요청드립니다.
안녕하세요?
최근 답변 감사히 잘받았습니다.
아래는 답변받은 수식인데요, 전일 마지막캔들까지 인식을 해버리거든요.
예를들어 2틱양봉 2틱양봉후에 매수라고 설정을해놓으면, 전일마지막캔들이 2틱양봉으로 끝난경우에 그것까지 인식을해서 당일 첫번째봉에 진입을 하더라구요.
차트에서 금일만 나오게해서 하는방법은 알고있지만, 성능보고서로 체크도힘들고, 현재 그렇게 거래하고있는 시스템은 하나도없어서 많이불편해서그런데, 혹시 수식으로 연결선물로해서 금일것만 인식해서 매매가 이루어지도록 하는방법은 없나요?
도움요청드립니다.
감사합니다.
input : 매수전봉양봉틱수(5),매수현재양봉틱수(5);
input : 매도전봉음봉틱수(5),매도현재음봉틱수(5);
input : 진입횟수(5);
input : 익절틱수(50),손절틱수(50);
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if entry < 진입횟수 and
MarketPosition == 0 and
C[1] == O[1]-매도전봉음봉틱수*PriceScale and
C[0] == O[0]-매도현재음봉틱수*PriceScale Then
sell("s");
if entry < 진입횟수 and
MarketPosition == 0 and
C[1] == O[1]+매수전봉양봉틱수*PriceScale and
C[0] == O[0]+매수현재양봉틱수*PriceScale Then
buy("b");
if MarketPosition == 1 Then
sell("bs",AtStop,EntryPrice-PriceScale*손절틱수);
if MarketPosition == -1 Then
buy("sb",AtStop,EntryPrice+PriceScale*손절틱수);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
2020-03-20
409
글번호 137072
답변완료
안녕하세요
5분봉시스템식에
일봉10이평값을변수로사용하려면
어떻게값을구하여저장하나요?
감사합니다
2020-03-20
453
글번호 137071
답변완료
글번호 66571 에 대한 추가 질문입니다.
봉수 제한없이 가장최근 만족한 시점에서 몇봉이 지났는지 알고자 하시면 아래와 같이 작성하시면 됩니다.
var : ii(0);
if condition1 and condition2 and condition3 Then
ii = index;
var1 = index-ii;
답변 주신 내용에서 봉수 제한은 없어도 되는데, 매매 당일에 한정하고
그리고, 첫봉은 제외하고 두번째 봉부터 비교 하려면 어떻게 해야할까요?
수고하세요.
2020-03-22
522
글번호 137070
답변완료
수정요
주봉식
지난주와 이번주 고고반저저반
지지난주 지난주 고고반저저반
****************************
오늘보내주신 수식 감사합니다
주봉의 식이 캔들가격차이가 커서
다시문의 드립니다.
2020-03-20
530
글번호 137063
답변완료
문의
시뮬레이션이 되지 않는데 살펴주세요.
var : entrycond(false);
if bdate != bdate[1] Then
{
T = 0;
entrycond = true;
}
if T == 0 and H == DayHigh and dayhigh-daylow >= 10 Then
T = 1;
if T == 0 and l == DayLow and dayhigh-daylow >= 10 Then
T = -1;
if T == 1 and L <= dayhigh-10 Then
{
T = 2;
entrycond = true;
}
if T == -1 and H >= DayLow+10 Then
{
T = -2;
entrycond = true;
}
var : HH(0);
if stime < 120000 Then{
HH = dayhigh;
}
if stime >= 120000 and crossup(c,HH) and entrycond == false then
buy();
*************************************************************************************
안녕하세요
예스스탁입니다.
var : entrycond(false);
if bdate != bdate[1] Then
{
T = 0;
entrycond = true;
}
if T == 0 and H == DayHigh and dayhigh-daylow >= 10 Then
T = 1;
if T == 0 and l == DayLow and dayhigh-daylow >= 10 Then
T = -1;
if T == 1 and L <= dayhigh-10 Then
{
T = 2;
entrycond = true;
}
if T == -1 and H >= DayLow+10 Then
{
T = -2;
entrycond = true;
}
if 진입수식 and entrycond == false then
buy();
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 데이트레이딩 오후장에 사용할 진입필터 요청합니다.
당일 10포인트 이상 하이로우 발생한 후
역으로 10포인트 이상 움직이는 경우를 제외
if 진입수식 and (하이로우 10포인트 이하 and 역하이로우 10포인트 이하) then
buy();
2020-03-20
518
글번호 137055
답변완료
시스템 수정 문의드립니다,
아래수식을 수정 부탁드립니다.
해외선물을 매매하는데요.
연속손실이 6회이상되면 그날 매매가 안되도록 부탁드립니다.
예를들어 저녁9시에 매매가 멈추었다면 익일 새벽까지 매매가 안되다가
익일 새로운 날로 매매가 될 때 매매가 되도록 부탁드립니다.
var : HL(0),HH(0),Hi(0),BuyEntry(false),Bcount(0),BH(0);
var : LH(0),LL(0),Li(0),SellEntry(false),Scount(0),SL(0);
INPUT: 생략
Input:진폭BUY(20),진폭SELL(20);
var : H0(0), L0(0), B0(0), B1(0), M1(0), H2(0), L2(0), B2(0), M2(0),M0(0),H1(0), L1(0);
input:aaa(9),bbb(5),sss(9),ttt(5);
H1 = highest(H,aaa);
L1 = Lowest(L,bbb);
B1 = H1-L1;
M1 = (H1+L1)/2;
H0 = highest(H, sss);
L0 = Lowest(L, ttt);
B0 = H0-L0;
M0 = (H0+L0)/2;
if MarketPosition == 0 and
C >= O+PriceScale*A and
C[1] >= O[1]+PriceScale*B and
C[2] <= O[2]-PriceScale*CC Then
{
HL = Lowest(L,3);
HH = highest(H,3);
Hi = index;
BuyEntry = true;
Bcount = 0;
}
if index > Hi and Hi > 0 Then
{
if H > HH Then
HH = H;
if L <= HL+(HH-HL)*지지1 Then
buyEntry = false;
if BuyEntry == true and C > O Then
{
Bcount = Bcount+1;
if bcount == 2 AND (HH-HL)>진폭BUY * PriceScale Then
buy("b");
}
}
if MarketPosition == 0 and
C <= O-PriceScale*D and
C[1] <= O[1]-PriceScale*E and
C[2] >= O[2]+PriceScale*F Then
{
LH = highest(H,3);
LL = Lowest(L,3);
Li = index;
SellEntry = true;
Scount = 0;
}
if index > Li and Li > 0 Then
{
if L < LL Then
LL = L;
if H >= LL+(LH-LL)*지지2 Then
SellEntry = False;
if SellEntry == true and C < O Then
{
Scount = Scount+1;
if Scount == 2 AND (LH-LL)>진폭SELL * PriceScale Then
sell("s");
}
}
if MarketPosition == 1 then
{
Hi = 0;
BH = highest(H,BarsSinceEntry);
if BH >= EntryPrice+PriceScale*F1 Then
{
//ExitLong("bx",AtStop,BH-(BH-EntryPrice)*facter1);
}
}
if MarketPosition == -1 then
{
LI = 0;
SL = lowest(L,BarsSinceEntry);
if SL <= EntryPrice-PriceScale*F2 Then
{
// ExitShort("sx",AtStop,SL+(EntryPrice-SL)*facter2);
}
}
SetStopProfittarget(PriceScale*이익변수,PointStop);
SetStopLoss(PriceScale*손절변수,PointStop);
//SetStopLoss(PriceScale*bb,PointStop);
2020-03-20
513
글번호 137054