답변완료
왜 에러가 날까요?
아래 내용에서 맨 마지막줄의 gg[0]에서 에러가 왜 나는지 모르겠어요ㅜㅜ
그냥 gg[0]만 넣으면 문제가 없는데, gg[0]>gg[1]을 비교했을때 에러가 나고 있습니다.
어떻게 고쳐야 할까요?
param:
ShortPeriod(5), //단기
LongPeriod(20),
LongTimePeriod(120), //장기
DobluePeriod(40),
LENGTH(4);
Vars: aa(0), bb(0), dd(0), ee(0), ff(0), TEMA(0), gg(False);
aa = Avg(C, ShortPeriod); //5일선
bb = Avg(C, LongPeriod); //20일선
dd = Avg(C, LongTimePeriod); //120일선
ee = Avg(C, DobluePeriod); //40일선
TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) + (Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH));
gg=aa>bb And aa>dd And aa>ee And ee[0]>ee[1];
if gg[0]>gg[1] then
2024-04-08
711
글번호 178390
시스템
답변완료
변환 부탁드립니다.
A=EnvelopeUp(20,6);
B=EnvelopeDown(20,6);
EU=((A+B)/2)+0.5*ATR(5);
ED=((A+B)/2)-0.5*ATR(5);
S1=eavg(EU,5);
S2=eavg(ED,5);
S3=(S1+S2)/2;
SU=if(C>S3,S1,0);
HU=valuewhen(1, SU>SU(1),SU);
1)지표
2)종목검색식
2024-04-08
755
글번호 178384
지표
답변완료
봉점수 합계
3분봉 미니선물에다
답변 수식 1)을 적용해보았습니다.
시작시간을 084500 을 적용하였고
진입조건이 아래와 같다면
084500부터 12봉이 지난 다음에 진입해야 하는데
084800에 진입하는 결과값이 나옵니다.(첨부파일참조)
if AccumN(T,12) > 5 Then
Buy();
if AccumN(T,12) < -5 Then
Sell();
최종 요청내용은 진입시간을 입력하면 그 때부터 봉을 계산한 후 진입하는 수식을 요청드렸던 건입니다.
항상 고맙습니다.
*****************************************************************************
안녕하세요
예스스탁입니다.
1
input:st(100000);
var : uptail(0),body(0),dntail(0),T(0),Tcond(False);
if Bdate != Bdate[1] Then
Tcond = False;
if Tcond == False and sTime >= ST Then
Tcond = true;
if Tcond == true Then
{
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C,O)-L;
T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if AccumN(T,12) > 5 Then
Buy();
if AccumN(T,12) < -5 Then
Sell();
}
2
input:st(100000);
var : uptail(0),body(0),dntail(0),T(0),Tcond(False);
if Bdate != Bdate[1] Then
Tcond = False;
if Tcond == False and sTime >= ST Then
Tcond = true;
if Tcond == true Then
{
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C,O)-L;
#T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if T != T[1] Then
{
var1 = T;
var2 = var1[1];
var3 = Var2[1];
var4 = Var3[1];
value1 = Index;
value2 = value1[1];
value3 = Value2[1];
value4 = Value3[1];
}
if Value4 > 0 and Index <= Value4+12 and var1 == 3 and Var2 == -2 and Var3 == -1 and Var4 == -1 Then
Buy();
if Value4 > 0 and Index <= Value4+12 and var1 == -3 and Var2 == 2 and Var3 == 1 and Var4 == 1 Then
Sell();
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 아래 답변수식 2개에
입력시간부터 발생한 봉부터 계산하는 조건을 추가하여 주십시요
input:st(100000);
항상 고맙습니다.
****************************************************************************
안녕하세요
예스스탁입니다.
1
var : uptail(0),body(0),dntail(0),T(0);
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C,O)-L;
T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if AccumN(T,12) > 5 Then
Buy();
if AccumN(T,12) < -5 Then
Sell();
2
var : uptail(0),body(0),dntail(0),T(0);
uptail = H-max(c,o);
body = abs(C-O);
dntail = min(C,O)-L;
#T = 0;
if C > O Then
{
if body > uptail+dntail and body > 0.2 Then
T = 1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = 2;
}
Else if C < O Then
{
if body > uptail+dntail and body > 0.2 Then
T = -1;
if body < uptail+dntail and uptail+dntail > 0.2 Then
T = -2;
}
Else
{
if dntail > uptail and dntail > 0.2 Then
T = 3;
if dntail < uptail and uptail > 0.2 Then
T = -3;
}
if T != T[1] Then
{
var1 = T;
var2 = var1[1];
var3 = Var2[1];
var4 = Var3[1];
value1 = Index;
value2 = value1[1];
value3 = Value2[1];
value4 = Value3[1];
}
if Value4 > 0 and Index <= Value4+12 and var1 == 3 and Var2 == -2 and Var3 == -1 and Var4 == -1 Then
Buy();
if Value4 > 0 and Index <= Value4+12 and var1 == -3 and Var2 == 2 and Var3 == 1 and Var4 == 1 Then
Sell();
즐거운 하루되세요
2024-08-01
759
글번호 178380
시스템
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
lower = abs(lowerBB(20) - lowerBB(50))
upper = abs(upperBB(20) - upperBB(50))
middle = middleBB(20)
BBTrend = (lower - upper) / middle
매수: BBTtrend > 0 완성 익봉 시가에 진입
매도: BBTrend < 0 완성 익봉 시가에 진입
indicator("BBTrend", overlay = false)
len20 = 20
len50 = 50
mult = 2
middle20 = ta.sma(close, len20)
dev20 = ta.stdev(close, len20)
lower20 = middle20 - mult * dev20
upper20 = middle20 + mult * dev20
middle50 = ta.sma(close, len50)
dev50 = ta.stdev(close, len50)
lower50 = middle50 - mult * dev50
upper50 = middle50 + mult * dev50
lower = math.abs(lower20 - lower50)
upper = math.abs(upper20 - upper50)
BBTrend = (lower - upper) / middle20
plot(BBTrend, "BB Trend", color=color.blue, linewidth = 2)
hline(0, color = color.black, linestyle = hline.style_dashed)
buysignal = ta.crossover(BBTrend, 0)
sellsignal = ta.crossunder(BBTrend, 0)
bgcolor(buysignal ? color.new(color.green, 70) : na)
bgcolor(sellsignal ? color.new(color.red, 70) : na)
if buysignal
strategy.entry('Long', strategy.long)
if sellsignal
strategy.close('Long')
1. 지표식
2. 시스템식으로 작성 부탁드립니다.
2024-04-08
627
글번호 178371
시스템