커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6848
글번호 230811
답변완료
강조 기능 좀 부탁 드립니다.
* 좋은주말 되십시요.
ㅇ 세계트레이딩대회 우승자의 초간단 매매법 공개합니다
ㅇ세계트레이딩대회 우승자의 초간단 매매법 공개합니다 500만원 → 10억, 선2개만 셋팅했는데 진짜 말도 안되는 일이 벌어졌습니다. (이건 무조건 따라하셔야 됩니다)
https://www.youtube.com/watch?v=6eVZC7ab6qs
ㅇ 두가지 요청 좀 드리겠습니다.
* 아래 기능 으로 수평선이 나오는데
봉길이(H+L)가 20틱 이상이며
양봉이면서 고가수평선을 양봉의 (H+L)/2 가격이 CROSSUP 되는 봉에 빨강 강조
음봉이면서 저가수평선을 음봉의 (H+L)/2 가격이 CROSSDOWN 되는 봉에 그린 강조
강조 수식 좀 부탁 드립니다.
##
input : P(2),n(7),틱(2), 굵기(1);
var : TX(0);
var : cnt(0),LL(0),HH(0);
Array : LTL[10](0),HTL[10](0);
var : LTL1(0),LTL2(0),LTL3(0),LTL4(0),LTL5(0),LTL6(0);
var : HTL1(0),HTL2(0),HTL3(0),HTL4(0),HTL5(0),HTL6(0);
if L < Lowest(L,P)[1] and (LL == 0 or (LL > 0 and abs(L-LL) >= PriceScale*틱)) Then
{
LL = L+0.04;
For cnt = 9 DownTo 1
{
LTL[cnt] = LTL[cnt-1];
}
LTL[0] = TL_new(sDate,sTime,LL,NextBarSdate,NextBarStime,LL);
TL_SetColor(LTL[0],LGreen);
TL_SetSize(LTL[0],굵기);
TL_Delete(LTL[n]);
}
Else
{
TL_SetEnd(LTL[0],sDate,sTime,LL);
}
if H > highest(H,P)[1] and (HH == 0 or (HH > 0 and abs(H-HH) >= PriceScale*틱)) Then
{
HH = H-0.04;
For cnt = 9 DownTo 1
{
HTL[cnt] = HTL[cnt-1];
}
HTL[0] = TL_new(sDate,sTime,HH,NextBarSdate,NextBarStime,HH);
TL_SetColor(HTL[0],Red);
TL_SetSize(HTL[0],굵기);
TL_Delete(HTL[n]);
}
Else
{
TL_SetEnd(HTL[0],sDate,sTime,HH);
}
#3 2222
첨부 수식이 CrossUp, CROSSDOWN 자주 나오는데
10봉이내에 신호가 없어야 한다
수식좀 추가 요청 드립니다.
## 신호
var : TL1(0),TL2(0) ;
if CrossUp( VAR1 , VAR2) Then
{
##저가-1틱에서~0까지
TL2 = TL_New(sDate,sTime,L-PriceScale*5,sDate,sTime,L-PriceScale*80);
TL_SetColor(TL2,Rgb(255,0,0));
TL_SetSize(TL2,6);
TL2 = TL_New(sDate,sTime,L-PriceScale*5,sDate,sTime,L-PriceScale*80);
TL_SetColor(TL2,Rgb(0,255,0));
TL_SetSize(TL2,1);
}
좋은 주말 되십시요^^
2024-12-10
990
글번호 184581
답변완료
문의드립니다.
안녕하세요
O[7] O[6] O[5] O[4] O[3] O[2] O[1] O[0]
오픈가가 이렇게 있을 때,
만약 O[5] = O[4] = O[3] = O[2] = O[1] 이런식으로
O[5]부터 오픈가가 같고, O[0]에서 다시 달라진다면
O[4]에서 매수하고 오픈가가 달라지는 O[0]에서 매도 할려면 어떻게 작성해야 하는지 궁금합니다.
* 한마디로 이전 가격과 같으면 매수, 달라지면 매도 하고 싶습니다.
2024-10-24
673
글번호 184580
답변완료
차트 재실행시 봉이 변하는 이유
안녕하세요.
자동매매중에 차트 재실행시 봉이 변화하여 이평선이 틀어지는 것에 대해 질문드려요.
해외선물 270틱 봉을 사용중이었습니다.
1. 오전 9시경 차트를 열어서 자동매매 진행을 하였습니다.
2. 오후 5시까지 자동매매 2회 진행되었고, 수익실현하였습니다.
3. 자동매매를 일시중단하였습니다.
문제1. 차트를 재실행하니 봉모양이 바뀌었음. 그로인해 이평선이 틀어짐.
문제2. 실제 계좌에서는 익절한 부분이 모두 손절처리로(차트상) 바뀌어있음.
Q1. 재실행하기전 차트모양은 왜 나왔던건가요?
Q2. 재실행하면 왜 봉모양이 변화하나요? (재실행 이후는 동일하게 유지됨)
2024-10-24
748
글번호 184579
답변완료
검색식 부탁드립니다. 감사합니다.
다음과 같은 조건일때 CCI(14) > 100 && MACD > 0 && MFI(14) > 60 && C > Ma(60)
최근 5봉이상 수평으로 횡보하는 슈퍼트렌드(트레이딩뷰)상단선을 종가로 돌파하는 종목의
검색식 요청드립니다.
항상 감사드립니다.
2024-10-24
681
글번호 184577
답변완료
키움수식 변환 부탁드립니다.
일교차가 점점 심해지고 있네요.
감기 조심하시기 바래요.
키움지표 수식입니다.
예스랭귀지로 변환 부탁드립니다.
A=Stochasticsfast(Period);
B=eavg(Stochasticsfast(Period),Period1);
D=crossup(A,B);
E=avg(C,5)<avg(c,20);
D&&E&&C>=O
------------
Period 5
Period1 3
즐거운 하루 보내세요~
2024-10-24
666
글번호 184576
답변완료
수식 부탁드립니다.
장 시작 전에 챠트에 제가 미리 정해 놓은 가격 선을 입력할 수 있도록 수식 부탁드립니다.
2024-10-24
735
글번호 184563
답변완료
수고하십니다
항상노고에 감사드리며 트레이딩뷰챠트인데 변환 부탁드립니다
주말 잘보내세요
/@version=5
indicator("DSL Trend Analysis [ChartPrime]", overlay = true)
// --------------------------------------------------------------------------------------------------------------------}
// 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
int len = input.int(10, "Length") // Length for calculating DSL
int offset = input(30, "Offset") // Offset for threshold levels
float width = input.float(1, "Bands Width", step = 0.1, maxval = 2, minval = 0.5) // Width for ATR-based bands
// Colors for upper and lower trends
color upper_col = input.color(color.lime, "+", inline = "col")
color lower_col = input.color(color.orange, "-", inline = "col")
// --------------------------------------------------------------------------------------------------------------------}
// 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// --------------------------------------------------------------------------------------------------------------------{
// Function to calculate DSL lines based on price
dsl_price(float price, int len) =>
// Initialize DSL lines as NaN (not plotted by default)
float dsl_up = na
float dsl_dn = na
float sma = ta.sma(price, len)
// Dynamic upper and lower thresholds calculated with offset
float threshold_up = ta.highest(len)[offset]
float threshold_dn = ta.lowest(len)[offset]
// Calculate the DSL upper and lower lines based on price compared to the thresholds
dsl_up := price > threshold_up ? sma : dsl_up[1]
dsl_dn := price < threshold_dn ? sma : dsl_dn[1]
// Return both DSL lines
[dsl_up, dsl_dn]
// Function to calculate DSL bands based on ATR and width multiplier
dsl_bands(float dsl_up, float dsl_dn) =>
float atr = ta.atr(200) * width // ATR-based calculation for bands
float upper = dsl_up - atr // Upper DSL band
float lower = dsl_dn + atr // Lower DSL band
[upper, lower]
// Get DSL values based on the closing price
[dsl_up, dsl_dn] = dsl_price(close, len)
// Calculate the bands around the DSL lines
[dsl_up1, dsl_dn1] = dsl_bands(dsl_up, dsl_dn)
// Linear regression on the close price over a short period
float linreg = ta.linreg(close, 5, 0)
// Determine the trend color based on the relationship between price, DSL lines, and bands
color trend_col =
high > dsl_up1 and high < dsl_up and high > dsl_dn1
? color.new(upper_col, 60)
: low > dsl_dn and low < dsl_dn1
? color.new(lower_col, 60)
: high > dsl_up
? upper_col
: low < dsl_dn
? lower_col
: na
// --------------------------------------------------------------------------------------------------------------------}
// 𝙑𝙄𝙎𝙐𝘼𝙇𝙄𝙕𝘼𝙏𝙄𝙊𝙉
// --------------------------------------------------------------------------------------------------------------------{
// Plot the linear regression with color based on trend analysis
plot(linreg, "Trend Line", color = trend_col, linewidth=4, style = plot.style_linebr, force_overlay = false)
// If it's the last bar, display labels for the DSL upper and lower bands
if barstate.islast
label.delete(label.new(bar_index + 5, dsl_up, "Upper Band₩n" + str.tostring(dsl_up, "#.##"), style = label.style_label_left, color = color(na), textcolor = chart.fg_color)[1])
label.delete(label.new(bar_index + 5, dsl_dn, "Lower Band₩n" + str.tostring(dsl_dn, "#.##"), style = label.style_label_left, color = color(na), textcolor = chart.fg_color)[1])
// Plot the DSL lines on the chart
pu = plot(dsl_up, color=color.gray, linewidth=1, title="DSL Up")
pd = plot(dsl_dn, color=color.gray, linewidth=1, title="DSL Down")
// Plot the DSL bands
pu1 = plot(dsl_up1, color=color.gray, linewidth=1, title="DSL Upper Band")
pd1 = plot(dsl_dn1, color=color.gray, linewidth=1, title="DSL Lower Band")
// Fill the space between the DSL lines and bands with color
fill(pu, pu1, dsl_up, dsl_up1, color.new(upper_col, 80), color.new(upper_col, 90))
fill(pd, pd1, dsl_dn, dsl_dn1, color.new(lower_col, 80), color.new(lower_col, 90))
// Uncomment the following line to plot candles with trend color
// plotcandle(open, high, low, close, title='Title', color = trend_col, wickcolor=trend_col, bordercolor = trend_col)
// --------------------------------------------------------------------------------------------------------------------}
2024-10-24
1411
글번호 184562
답변완료
추세전환 일정 크기 이상
input : Period(100);
Var:j(0),T(0),txx(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_Delete(TL);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,Blue);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = Text_New(sDate,stime,value12,NumToStr(value11-value12,2));
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
Text_SetString(tx,NumToStr(value11-value12,2));
Text_SetLocation(tx,sDate,sTime,value12);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_Delete(TL);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,Red);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = Text_New(sDate,stime,value12,NumToStr(value12-value11,2));
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
Text_SetString(tx,NumToStr(value12-value11,2));
Text_SetLocation(tx,sDate,sTime,value12);
}
}
TL_SetSize(TL1,1);
0.5보다 작아도 조건만 맞으면 바뀌는 추세 전환을,
조건이 맞아도 강제로 보류하고 있다가,
새 추세선의 크기가 0.5 이상이 될 때, 추세 전환으로 변경.
즉 전환 조건에 새 추세선 크기가 0.5 이상일 때 추가. 감사합니다.
2024-10-24
985
글번호 184561
살빼고싶다 님에 의해서 삭제되었습니다.
2024-10-24
84
글번호 184560