커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4637
글번호 230811
답변완료
수식부탁드립니다
수고 많으십니다
아래수식을 120틱 차트에서 신호발생시킬때 동시에 900틱차트에서 틱봉이 상승중일때만 매수신호 반대로 900틱봉이 하락중일때만 매도신호 발생토록되는 수식부탁드립니다
감사합니다
nput : 단기(3),중기(10),중장기(20),장기(60),P(2);
var : mav1(0),mav2(0),mav3(0),mav4(0),adxv(0);
mav1 = ma(C,단기);
mav2 = ma(C,중기);
mav3 = ma(C,중장기);
mav4 = ma(C,장기);
adxv = adx(P);
if mav1 > mav1[1] and mav2 > mav2[1] and mav3 > mav3[1] and
mav4 > mav4[1] and adxv > adxv[1] Then
buy();
if mav1 < mav1[1] and mav2 < mav2[1] and mav3 < mav3[1] and
mav4 < mav4[1] and adxv > adxv[1] Then
sell();
2016-04-28
131
글번호 97548
답변완료
수식 부탁드립니다
일목균형표에서
일간 차트 전환선,기준선,선행스팬1,선행스팬2 값을 틱차트에 구현하는 수식 부탁드립니다
감사합니다
2016-04-28
192
글번호 97547
답변완료
문의드립니다
1번질문
input : period1(20),period2(12),sto1(5),sto2(3),short(12),long(26),signal(9),cciperiod(10);
var : B1(0),B2(0),B3(0),B4(0),B5(0),B6(0),B7(0);
B1=iff(ema(C,12)-ema(C,26) >ema(ema(C,12)-ema(C,26),9), 1,-1);
B2=iff(C > ma(C, Period1), 1, -1);
B3=iff((C - C[period2]) / C[period2] * 100 > 0, 1, -1) ;
B4=iff(ema((C-lowest(L, sto1)) / (highest(H, sto1) - lowest(L, sto1)) * 100, sto2)>50, 1, -1);
B5=iff(CCI(cciperiod)>0,1,-1);
B6=iff(ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0,1,-1);
B7=iff(SAR(0.02,0.2) < C,1,-1);
plot1(B1+B2+B3+B4+B5+B6+B7);
.............................................................................
상기지표에서 plot1선이 증가하면 빨간색을 감소하면 파란색을 넣어 주세요
2번 질문
input: PeriodRSI(14); // Indicator period
input: StepSizeFast(5); // Fast step
input: StepSizeSlow(15); // Slow step
var: fmin(9999),fmax(-9999);
var: smin(9999),smax(-9999);
var: ftrend(1),strend(1);
var: RSI0(0);
//---- restore values of the variables
RSI0=RSI(PeriodRSI);
fmax=RSI0+2*StepSizeFast;
fmin=RSI0-2*StepSizeFast;
if(RSI0>fmax[1]) then ftrend=1;
if(RSI0<fmin[1]) then ftrend=-1;
if(ftrend>0 && fmin<fmin[1]) then fmin=fmin[1];
if(ftrend<0 && fmax>fmax[1]) then fmax=fmax[1];
smax=RSI0+2*StepSizeSlow;
smin=RSI0-2*StepSizeSlow;
if(RSI0>smax[1]) then strend=1;
if(RSI0<smin[1]) then strend=-1;
if(strend>0 && smin<smin[1]) then smin=smin[1];
if(strend<0 && smax>smax[1]) then smax=smax[1];
if(ftrend>0) then var3=fmin+StepSizeFast;
if(ftrend<0) then var3=fmax-StepSizeFast;
if(strend>0) then var4=smin+StepSizeSlow;
if(strend<0) then var4=smax-StepSizeSlow;
plot1(RSI0,"RSI");
plot2(var3,"Fast_Metro");
plot3(var4,"Slow_Metro");
.............................................
상기지표에서 패스트메트로선과 슬로우메트로선 지표값의 차이를 선으로 나타내 주세요
감사합니다.
2016-04-28
144
글번호 97546
답변완료
47442 재질문
질문이 명확하지않은점 사과드립니다 재질문의 정확한내용은 단기 중단기 중기 장기 4가지 이평선이 모여졌을때의 검색신호를 말씀드리는것입니다
보통 추세가 나오기전 이평선이 모였다가 골든크로스 혹은 데드크로스로 이평선의 이격이 벌어지면서 추세가 나오는데 이이평선들이 서로 닿거나 닿으정도로 모여지면 이것을 검색해내는 신호를 만들고 싶습니다
다시 한번 부탁드립니다
감사합니다
2016-04-28
145
글번호 97545
답변완료
다음 조건에 맞는 식을 만들고 싶습니다.
1. 5,20,60일 데드크로스
2. 5일과 20일선의 이격도는 15%이내
3. 5일선 아래 음봉시작시 매도신호 출력
2016-04-28
157
글번호 97544
답변완료
문의드립니다
전에알려주셨던 수식인데, 한가지 기간이아니라 두기간 동안의 겹쳐지는 가격만 나타나게 할수있을까요? 예를들어서 75일(N일)의 50%~75% 사이구간을 먼저 설정하고,150일(N일)의 25%~50% 사이구간 설정했으면, 서로 겹쳐지는 구간이 생기는데 이를 차트에 나타나게 하고싶습니다.
아래지표를 2개를 적용하여 겹쳐서 볼수도있으나 색들이 난무해서 보기가 힘든부분이 있습니다.
input : N(기간);
var1 = Highest(H,N);
var2 = Lowest(L,N);
var3 = (var1-var2);
plot1(var1,"고점");
plot2(var2+var3*0.75,"+75%");
plot3(var2+var3*0.50,"+50%");
plot4(var2+var3*0.25,"+25%");
plot5(var2);
2016-04-28
139
글번호 97543
답변완료
거래선 타주기 시스템및 익절조건셋팅
항상감사드립니다
1.아래 거래선시스템을 타주기시스템으로 부탁드립니다
### 거래선타주기_1
var : upv21(0),upv22(0),upv23(0);
var : dnv21(0),dnv22(0),dnv23(0);
If V== highest(V,240) then{
Var91 = c;
var92 = var91[1];
if var91 > var92 Then{
upv21 = var91;
upv22 = upv21[1];
upv23 = upv22[1];
if upv21-upv22 >= 0.2 Then
var90 = var91;
}
if var91 < var92 Then{
dnv21 = var91;
dnv22 = dnv21[1];
dnv23 = dnv22[1];
if dnv21-dnv22 <= -0.2 Then
var90 = var91;
}
}
if var91 > var92 Then
var30 = 1;
if var91 < var92 Then
var30 = -1;
if var30 == -1 and var30[1] != -1 then buy();
if var30 == 1 and var30[1] != 1 thdn sell();
### 신거래선 타주기_2
if V == highest(V,20) Then
var20 = (C+H+L)/3; #20거래선#
2.아래 익절조건식이 실행이 되질않습니다.아래조건으로 수정부탁드립니다
A.익절및 손절조건_1
1) 17:00시작 ~익일 14:30종료
2) 당일이익 50틱일시 매매종료(50틱이익도달시 시장가청산/매매종료)
3) 당일손실 50틱일시 매매종료(50틱손실도달시 시장가청산/매매종료)
B.익절및 손절조건_2
1) 17:00시작 ~익일 14:30종료
2) 당일이익 50틱 도달시 추가진입신호 발생금지(청산은 시스템에 의함)
3) 당일손실 50틱 도달시 추가진입신호 발생금지(청산은 시스템에 의함)
#########################
##### 당일익절 설정 #####
#########################
input : 당일손익(50);
var : NP(0),PreNP(0),dayPL(0),DollerToTick(0);
NP = NetProfit;
if stime == 170000 or (stime > 170000 and stime[1] < 170000) then
PreNP = NP[1];
/* #당일 손익(포인트)
DayPL = NetProfit-PreNP ; */
#당일 손익(포인트)
DayPL = (NetProfit-PreNP)+PositionProfit;
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
### 2회연속손실시 시스템 신호발생 금지 ###
### 시초가 갭발생시(20틱이상) 첫번재신호 발생금지 ###
var : entrycnt(0),cond(false),T(0),count(0),gap(false);
#장시작
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
cond = false;
#매수매도 방향을 알기위한 변수 초기값은 0
T = 0;
#조건만족횟수 카운트 초기화 0
count = 0;
#시가가 전봉종가(전일종가)보다 20틱이상 크거나 20틱이상 낮으면
#gap은 true 아니면 false
if O >= C[1]+PriceScale*20 or O <= C[1]-PriceScale*20 Then
gap = true;
Else
gap = false;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
cond = false;
if entrycnt >= 2 Then{
if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then
cond = true;
if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 Then
cond = true;
}
if (stime > 170000 or stime < 143000) and (DayPL < 당일손익*PriceScale) Then{ # 현지시간_뉴욕 17:00 장시작~익일 14:30 장종료 #
if T <= 0 and #T가 0이고 매수조건이 만족하면
((entrycnt == 0) or
(entrycnt >= 1 and ((MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)))) and #동일방향 재진입금지#
매수조건 Then{
T = 1; #T는 1(매수조건만족했음을 나타냄)
count = count+1; #count는 1증가, 장시작이후 조건만족 횟수를 카운트
#gap이 false이거나 gap이 true이면 count가 2이상일때 진입
if gap == false or (gap == true and count >= 2) Then
{
if cond == false then
buy("B_uparoon");
Else
ExitShort();
}
}
if T >= 0 and
((entrycnt == 0) or
(entrycnt >= 1 and ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)))) and #동일방향 재진입금지#
매도조건 Then{
T = -1;
count = count+1;
#gap이 false이거나 gap이 true이면 count가 2이상일때 진입
if gap == false or (gap == true and count >= 2) Then
{
if cond == false Then
sell("S_dnaroon");
Else
ExitLong();
}
}
}
if MarketPosition == 1 Then{
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*50 Then
exitlong("bx50",AtStop,EntryPrice+PriceScale*47); }
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*50 then
ExitShort("sx50",AtStop,EntryPrice-PriceScale*47);}
if stime == 143000 or (stime > 143000 and stime[1] < 143000) Then{
exitlong("당일매수청산");
ExitShort("당일매도청산");
}
감사합니다
2016-04-30
133
글번호 97542
답변완료
문의
항상 친절하고 빠른 답변 감사드립니다.
아래는 지난번 답변해 주신 12시 30분에 매도진입하는 시스템인데
12시 30분에 매도 진입하는 것을 원칙으로 하되
만약 진입당시 양합의 고가와 현재 양합의 차이가 5틱 이상일 경우는 진입을 기다렸다가
5틱 이내일 경우 진입하는 것도 가능할까요?
그리고 수익청산은 진입당시 양합보다 현재의 양합이 30틱 이상 더 내려갔을때로도 가능할까요?
var : sum(0,data1), HH(0,data1),H1(0,data1);
sum = data1(c)+data2(c);
if data1(date != date[1]) Then
HH = sum;
if sum > HH Then
HH = sum;
if data1(stime == 123000 or (stime > 123000 and stime[1] < 123000)) Then{
sell("s");
H1 = HH;
}
2016-04-28
116
글번호 97541
답변완료
수식문의
안녕하세요.
에스트레이드챠트가 좋다는이야기를 듣고 가입을 했습니다.
제가 초로의 나이라 제대로 좋은점을 활용하지못하고 있습니다.
스토캐스틱(20.5.5)와 rsi(12)를 합성해서 매매신호를 만들고 싶은데
실력이 없어서 아쉽습니다.
도움을 기다리겠습니다.감사합니다~
2016-04-28
147
글번호 97540