커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3168
글번호 230811
알로우kim 님에 의해서 삭제되었습니다.
2022-12-04
18
글번호 164330
알로우kim 님에 의해서 삭제되었습니다.
2022-12-04
0
글번호 164329
huhboo99 님에 의해서 삭제되었습니다.
2022-12-04
1
글번호 164328
답변완료
수식 부탁드립니다
안녕하세요
처음 접하는 왕초보라 만만치 않네요
아래 조건으로부터 전략 시작해보려고 하는데요
수식 도움 부탁드립니다.
Mini Dow라 가정했을때
가격 34500에 1계약 매수 진입 후
100틱 손실시 청산 후 매도로 2계약 재진입 (스위칭)
감사합니다
2022-12-03
861
글번호 164327
답변완료
슈퍼 트렌드
안녕하세요?
게시판 검색을 통해보니 슈퍼트렌드 지표가 있어 사용해보려고 합니다.
그런데 수식 자체가 상당히 길어서 지표하나를 쓰려고 하면 그런데로 사용하겠지만
다중이동평균선처럼 여러개 사용하려면 난감합니다.
그래서 이 지표식을 함수화하여 주시면 감사하겠습니다.
예를들어 ma(c,10) 처럼
supertrend(factor, AtrPeriod) 이렇게만 표현해도
supertrend 지표를 사용할 수 있도록 해 주세요
관련 지표수식 (게시판 내용 78035)
[지표식]
input : factor(3), AtrPeriod(10);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / AtrPeriod ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1];
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
}
if C > superTrend Then {
Plot1(superTrend,"UpTrend", Pink, 0, 5);
NoPlot(2);
}
Else {
Plot2(superTrend,"DnTrend", green, 0, 5);
NoPlot(1);
}
이상입니다.
2022-12-03
1179
글번호 164326
답변완료
이거 되나요?
5분봉 5이평이 20이평 위에 있고 1분봉 5-20골든크로스 시 매수
2022-12-03
935
글번호 164325
답변완료
수식부탁드림니다
input : Period(60),dv(2);
Input : 당일수익틱수(100);
var : BBup(0),BBmd(0),BBdn(0);
Var : N1(0),dayPl(0),당일수익(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if IsExitName("dbp",1) == true or IsExitName("dsp",1) == true then
Xcond = true;
}
BBup = BollBandUp(Period,dv);
BBmd = ma(c,Period);
BBdn = BollBandDown(Period,dv);
if Xcond == false then
{
if MarketPosition >= 0 and C > bbup and C < O Then
Sell();
if MarketPosition <= 0 and C < bbdn and C > O Then
Buy();
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
안녕하세요
위식에서 추가 부탁드립니다
macd 오실레이터(12.26.9) 적용
양선 매수
음선 매도
2022-12-03
1316
글번호 164324
답변완료
식수정
input : P1(5),P2(20);
Input : short(12), long(26), signal(9);
input : BBP(20),dv(2);
input : StartTime(80000),EndTime(30000);
var : mav1(0),mav2(0),bbup(0),bbdn(0);
Var : MACDv(0), MACDs(0),macdo(0),T(0);
var : Tcond(false);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
bbup = BollBandUp(BBP,dv);
bbdn = BollBandDown(BBP,dv);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
T = 0;
var1 = 0;
Var2 = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Tcond == true Then
{
var1 = var1+v;
Var2 = Var2+1;
Var3 = var1/Var2;
if C < DayOpen and mav1 < mav1[1] Then
T = 1;
if T == 1 and
MACDO > 0 and
mav2 > mav2[1] Then
{
if (CrossUp(c,DayOpen) and C < BBup) or
(C > DayOpen and C > bbup and CrossDown(C,mav1)) Then
Buy();
}
if C > DayOpen and mav1 > mav1[1] Then
T = -1;
if T == -1 and
MACDO < 0 and
mav2 < mav2[1] Then
{
if (CrossDown(c,DayOpen) and C > BBdn) or
(C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then
Sell();
}
if MarketPosition == 1 Then
{
# if CrossDown(C,DayOpen) Then
# ExitLong();
# if v >= Var3[1]*5 then
# ExitLong();
}
if MarketPosition == -1 Then
{
# if CrossUp(C,DayOpen) Then
# ExitShort();
# if v >= Var3[1]*5 then
# ExitShort();
}
}
SetStopProfittarget(3.0,PercentStop);
SetStopLoss(1.8,PercentStop);
안녕하세요
위 식에서
식추가 부탁드립니다.
익절.손절기능 삭제(SetStopProfittarget(3.0,PercentStop);
SetStopLoss(1.8,PercentStop);)
추가 매수 당일 시가선위에서 매수 진입후
시가선 아래로 하향시 손절후 바로 매도 전환.
매도 당일 시가선아래서 매도 진입후
당일 시가선위로 상승시 손절후 바로 매수 진입전환.
2022-12-03
1526
글번호 164323
답변완료
문의
아래는 이평선을 터치했을 때 라인이 생기는 지표인데
이 지표를 3분봉에 설정하든 10분봉에 설정하든 무조건 5분봉의 이평선이 기준이 되도록 부탁드립니다. 예를 들면 3분봉에 이 지표를 설정했을 때 5분봉의 5,10,20,60,120 이평선을 터치시 라인이 생기도록 하고 싶습니다. 감사합니다.
input : P1(5), P2(10), P3(20), P4(60), P5(120);
var1 = ma(C,P1);
Var2 = ma(C,p2);
Var3 = ma(C,p3);
Var4 = ma(C,p4);
var5 = ma(C,p5);
if (h >= var1 and H[1] < var1[1]) or (L <= var1 and L[1] > var1[1]) Then
{
value1 = var1;
}
if (h >= var2 and H[1] < var2[1]) or (L <= var2 and L[1] > var2[1]) Then
{
value2 = Var2;
}
if (h >= var3 and H[1] < var3[1]) or (L <= var3 and L[1] > var3[1]) Then
{
value3 = Var3;
}
if (h >= var4 and H[1] < var4[1]) or (L <= var4 and L[1] > var4[1]) Then
{
value4 = Var4;
}
if (h >= var5 and H[1] < var5[1]) or (L <= var5 and L[1] > var5[1]) Then
{
value5 = Var5;
}
if value1 > 0 Then
Plot1(value1);
if value2 > 0 Then
Plot2(value2);
if value3 > 0 Then
Plot3(value3);
if value4 > 0 Then
Plot4(value4);
if value5 > 0 Then
Plot5(value5);
2022-12-03
1083
글번호 164322