Input :s(12), Length(14),sig(10),Period(20),X(1),P(5),N(0),P1(20),N1(0),XAvgLen(20), HiLoLen(50), Retrace(0.382);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),dd(0),dd1(0),ii(0),ii1(0),pre(0);
var : rsiv(0),rsis(0),cnt(0),sum1(0),sum2(0),mav1(0),mav2(0),avgv(0),cnt1(0),sum11(0),sum12(0),mav11(0),mav12(0),avgv1(0),cnt0(0),DM(0),DM1(0);
Vars:XAvg(0),HiHi(0),LoLo(0),Retracement(0),HRetrace(0),LRetrace(0);
var1 = (m)/((m/m[1])/(v/v[1]));
If CurrentBar == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = var1[Counter] - var1[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If CurrentBar > 1 AND Length > 0 Then Begin
UpAmt = var1[0] - var1[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
rsis = ma(rsiv,sig);
XAvg = Ema(C, XAvgLen);
HiHi = Highest(High, HiLoLen);
LoLo = Lowest(Low, HiLoLen);
Retracement = (HiHi - LoLo) * Retrace;
HRetrace = HiHi - Retracement;
Value1 = (money/money[1])/(v/v[1])*100;
Value2 = AccumN(Upvol,DayIndex+1)/accumn(downvol,DayIndex+1)*100;
Var10 = highest(c,90);
var11 = ma(c,120);
var12 = accumn(m,5)/accumn(v,5);
var13 = accumn(m,200)/accumn(v,200);
var14 = accumn(m,40)/accumn(v,40);
var15 = accumn(m,120)/accumn(v,120);
var16 = accumn(m,1)/accumn(v,1);
var17 = ma(c,120);
if sDate != sDate[1] Then
{
DM = 0;
DM1 = DM[1];
}
DM = DM + m;
if Bdate != Bdate[1] Then
{
Var90 = o;
}
if ((CrossUp(c,var13[1]) or rsiv-rsiv[1] >10 or CrossUp(rsiv,60) or CrossUp(rsiv,70) ) and rsiv>55 and dm1/11<m )
and !(o>c[1]*1.05) and c>o and c>var17
and var16>var16[1]
Then #(Var50>3 and Index > var50 and Index <= var50 + 38 )
{
var50 = Index;
Var51 = c;
Var52 = O;
Var53 = m/v;
Var54 = L;
}
if
((CrossUp(c,var13[1]) or rsiv-rsiv[1] >10 or CrossUp(rsiv,60) or CrossUp(rsiv,70) ) and rsiv>55 and dm1/11<m )
and !(o>c[1]*1.05) and c>o and c>var17
and var16>var16[1]
Then
Find(1);
답변 1
예스스탁
예스스탁 답변
2021-11-29 16:11:41
안녕하세요
예스스탁입니다.
var : mav(0),count(0);
mav = ma(C,20);
if c>o*1.10 and m>10000000000 Then
{
var40 = Index;
Var41 = c;
Var42 = O;
Var43 = m;
Var44 = L;
count = 0;
}
Else
{
if Var40 > 0 and Index > var40 and Index <= var40 + 10 and CrossUp(C,mav) Then
{
count = count+1;
if count == 2 Then
Buy();
}
}
즐거운 하루되세요
> 아무다 님이 쓴 글입니다.
> 제목 : 시스템 식으로 부탁드려요
> var : mav(0),count(0);
mav = ma(C,20);
if c>o*1.10 and m>10000000000 Then
{
var40 = Index;
Var41 = c;
Var42 = O;
Var43 = m;
Var44 = L;
count = 0;
}
Else
{
if Var40 > 0 and Index > var40 and Index <= var40 + 10 and CrossUp(C,mav) Then
{
count = count+1;
if count == 2 Then
find(1);
}
}
여기 조건으로 buy 부탁드려요