커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1508
글번호 230811
답변완료
수식 문의
안녕하세요?
input: 시작일(20230801), 종료일(20230905), bs1_3(1);
시작일부터 종료일까지 전형적인 그리드 매매를 하고 싶습니다.
종료일 == 0 이면 종료일 없이 현재봉까지 계속 진행.
bs1_3 == 1 이면 매수로만 진입하는 그리드
bs1_3 == 2 이면 매도로만 진입하는 그리드
bs1_3 == 3 이면 양방향으로 진입하는 그리드
아마도 이 때는 뭔가 중심값이 필요할 것 같은데, 적당히 ETH 용으로 1600 정도로 잡아주시면 좋겠습니다.
감사합니다.
2023-09-06
1107
글번호 172180
답변완료
수식 요청 드립니다.
안녕하세요
항상 빠른 답변 감사 드립니다.
키움식 변환 요청 드립니다.
지표식
A=highest(V,일수);
valuewhen(1, V>A(1),C);
그리고 위 지표식을 돌파하는 검색식도 함께 요청 드립니다.
그럼 좋은 하루 되세요^^
2023-09-05
1050
글번호 172179
답변완료
문의 드립니다!
안녕하세요!
아래수식에서 "plot1"과 "plot2"가 "캔들"과 만났을때 각각 세로선과 알람신호가 발생토록 수정 부탁드립니다
* 세로선의 두께와 색상은 사용자지정이 가능토록 부탁합니다
감사합니다!!
----------------------------------------------------
var : month(0),nday(0),week(0);
var :EX(false),HH(0),LL(0),OO(0),CC(0),DD(0);
var : HH1(0),LL1(0),OO1(0);
var : HH2(0),LL2(0),OO2(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;
OO = O;
CC = C;
HH1 = HH[1];
LL1 = LL[1];
OO1 = OO[1];
HH2 = HH1[1];
LL2 = LL1[1];
OO2 = OO1[1];
Var41 = Var4[1];
}
if Condition1 == true then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = HH;
var2 = LL;
var3 = var1-var2;
if HH1 > 0 and LL1 > 0 Then
{
plot1(LL1+(HH1-LL1)*0.000,"하단선");
plot2(LL1+(HH1-LL1)*1.000,"상단선");
plot3(LL1+(HH1-LL1)*0.000,"하단선2");
plot4(LL1+(HH1-LL1)*1.000,"상단선2");
plot5(LL1+(HH1-LL1)*0.500,"중심선");
}
if sDate == DD Then
{
Var4 = DayOpen;
Var5 = DayHigh;
Var6 = DayLow;
}
if Var41 > 0 Then
Plot6(Var41,"첫날시가",IFf(oo1 < DayOpen(0) ,MAGENTA,MAGENTA));
if HH2 > 0 and LL2 > 0 Then
{
Plot7(HH2,"전전월물최고");
Plot8(LL2,"전전월물최저");
}
}
2023-09-05
766
글번호 172178
회원 님에 의해서 삭제되었습니다.
2023-09-05
349
글번호 172177
답변완료
이 지표를 종목 검색으로 바꿔 주세요.
input :src(close),i_fastEMA(12),i_slowEMA(25),i_defEMA(25),i_bothEMAs(true);
var : ok(0),countBuy(0),countSell(0);
var : v_fastEMA(0),v_slowEMA(0),v_biasEMA(0),emaColor(0);
var : buycond(False),Sellcond(False);
var : buysignal(False),Sellsignal(False);
var : bull(False),bear(False),tx(0);
v_fastEMA = ema(src, i_fastEMA);
v_slowEMA = ema(src, i_slowEMA);
v_biasEMA = ema(src, i_defEMA);
emaColor = iff(v_fastEMA > v_slowEMA ,green , iff(v_fastEMA < v_slowEMA , red ,Orange));
// Colour the bars
buycond = v_fastEMA > v_slowEMA;
sellcond = v_fastEMA < v_slowEMA;
if buycond Then
{
countBuy = countBuy+1;
countSell = 0;
}
if sellcond Then
{
countSell = countSell+ 1;
countBuy = 0;
}
buysignal = countBuy < 2 and countBuy > 0 and countSell < 1 and buycond and buycond[1] == False;
sellsignal = countSell > 0 and countSell < 2 and countBuy < 1 and sellcond and sellcond[1] == False;
if buysignal Then
PlotPaintBar(h,l,"강조",Green);
if sellsignal Then
PlotPaintBar(h,l,"강조",red);
bull = countBuy > 1;
bear = countSell > 1;
if bull Then
PlotPaintBar(h,l,"강조",Green);
if bear Then
PlotPaintBar(h,l,"강조",red);
그린 매수 신호 나올 때 종목 검색 되도록 해주세요.
2023-09-05
795
글번호 172176
답변완료
지표수식을 부탁드립니다
1. ATR지표수식을 만들어주세요
2. avg(C,기간)+(ATR(20)*피보율) //기간 10, 피보율 2.618
avg(C,기간)-(ATR(20)*피보율)
3. M=( avg(max(max(H-L,abs(C(1)-H)),abs(C(1)-L)),단기,1)/C(1)*100+
avg(max(max(H-L,abs(C(1)-H)),abs(C(1)-L)),장기,1)/C(1)*100 ) / 2; //단기5, 장기20
A= M * 배수 ; //배수3
지표B=avg(C,기간)+avg(C,기간)*A/100; //기간12
지표D=avg(C,기간)-avg(C,기간)*A/100;
각각의 지표수식을 부탁드립니다
추가적으로 이평선의 기울기나 각도를 비교할 수 있는
수식도 부탁드립니다
2023-09-05
984
글번호 172175
답변완료
지표 부탁드립니다.
안녕하세요
20 이평은 변수처리
20 이평위의 캔들은 음봉,양봉 상관없이 적색
20 이평아래의 캔들은 음봉,양봉 상관없이 청색
감사합니다.
2023-09-05
789
글번호 172172
답변완료
지표 부탁드립니다.
안녕하세요
일목의 전환선도(전환선 변수처리) 상방일경우 적색
중립(수평일경우 녹색)
하방일경우 청색으로 부탁드립니다.
고맙습니다.
2023-09-05
914
글번호 172170
답변완료
문의 드립니다
1.
input : StartTime(150000),EndTime(50000),진입횟수(10);
input : 익절틱수(250),손절틱수(50);
Input : 당일수익틱수(850),당일손실틱수(100);
Input:Length(1),Pval(0.01);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
Xcond = false;
N1 = NetProfit;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true ) then
Xcond = true;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
Buy("CBI_LE",AtStop,Highest(High,Length)+Pval);
ExitLong("CBI_SE",AtStop,Lowest(Low,Length)-Pval);
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2.
input : StartTime(150000),EndTime(50000),진입횟수(10);
input : 익절틱수(250),손절틱수(50);
Input : 당일수익틱수(850),당일손실틱수(100);
Input:Length(1),Pval(0.01);
var : Tcond(False),entry(0);
Variables: Mom(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
Xcond = false;
N1 = NetProfit;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true ) then
Xcond = true;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
ExitShort("CBI_LE",AtStop,Highest(High,Length)+Pval);
Sell("CBI_SE",AtStop,Lowest(Low,Length)-Pval);
if MarketPosition == 1 then
{
ExitShort("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitShort("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
위 수식어에서 진입없이 연속 손실이 8회의 데이터가 나올때
9회에서 18회까지 진입하는 수식어를 추가할 수 있는지요 ?
-----------------
해외선물 매매에서 3봉이내 저점, 고점의 최소 가격변화가 40틱일때
그 중간인 20틱에 매수나 매도후 5봉 완성에 청산하는 수식어를 부탁드립니다.
매매시간은 21:00~ 05:00 이고 익절 100틱 손절 100틱 입니다
2023-09-06
970
글번호 172166