커뮤니티
수정 부탁드립니다
2016-03-04 13:02:26
132
글번호 95984
틱에서 실행했는데 신호가 발생하지 않습니다
틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^;
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime);
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 0 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
aND var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
답변 3
예스스탁 예스스탁 답변
2016-03-04 14:56:24
안녕하세요
예스스탁입니다.
수식에 누락된 부분이 있어 수정했습니다.
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime)%30;
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
and var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다
> 틱에서 실행했는데 신호가 발생하지 않습니다
틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^;
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime);
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 0 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
aND var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
knp116
2016-03-04 23:40:33
매수는 신호가 발생하는데,
매도는 신호가 발생하지 않습니다
확인 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수정 부탁드립니다
> 안녕하세요
예스스탁입니다.
수식에 누락된 부분이 있어 수정했습니다.
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime)%30;
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
and var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다
> 틱에서 실행했는데 신호가 발생하지 않습니다
틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^;
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime);
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 0 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
aND var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
예스스탁 예스스탁 답변
2016-03-07 08:36:08
안녕하세요
예스스탁입니다.
수정한 식입니다.
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime)%30;
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
and var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] > 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : Re : Re : 수정 부탁드립니다
> 매수는 신호가 발생하는데,
매도는 신호가 발생하지 않습니다
확인 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수정 부탁드립니다
> 안녕하세요
예스스탁입니다.
수식에 누락된 부분이 있어 수정했습니다.
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime)%30;
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
and var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다
> 틱에서 실행했는데 신호가 발생하지 않습니다
틱에서 30분 확인하는 수식 설명도 부탁드립니다 ^^;
input : P(4);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0);
TF = TimeToMinutes(stime);
if bdate != bdate[1] or (bdate == bdate[1] and TF < TF[1]) Then{
OO[0] = O;
for cnt = 0 to 99{
CC[cnt] = CC[cnt-1][1];
OO[cnt] = OO[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
## 매수할때는 "a" 조건을 만족할때
Var1 = MA(C,5);
Var2 = MA(C,20);
Var3 = MA(C,60);
Var4 = MA(C,120);
Var5 = MA(C,240);
var6 = max(C,O)-abs(C-O)*(2/3);
var7 = min(C,O)+abs(C-O)*(2/3);
If stime >= 090200 and stime < 150000
and ((Var1 <= Var2) OR (Var1 >= Var2))
aND var2 > var3
and VAR3>VAR5
And C>C[4] And C>O
And ((CrossUp(Close,Var2)) OR (Open >= Var1) OR (Open >= Var2))
And ((Var2 >Var2 [15]) OR (VAr3 >Var3 [55]))
and c>var2
and o > dayopen
and CC[0] > OO[0] and C > mav and CC[P-1] > 0
THEN
BUY("A");
If MarketPosition() == 1 THEN
{
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(var7,Var2)) OR (Open <= Var2))
THEN ExitLong("A0");
}
## 매도할때는 "B"조건을 만족할때
if stime >= 090200 and stime < 150000 and MarketPosition() ==0
AND var1 >= var2-0.05
and var2<var3 And var3<var5
And C<C[4] And C<O
and c<var2
And ((CrossDOWN(Close,Var2)) or (Open <= Var1) or (Open <= Var2))
And ((Var3 <Var3 [55]) OR (VAr2 <Var2 [15]))
and o < dayopen
and CC[0] < OO[0] and C < mav and CC[P-1] < 0
then
SELL("B");
If MarketPosition() == -1 THEN
{
If EntryPrice < MA(Close, 20)[BarsSinceEntry]
And Close > Open
And ((CrossUp(var6,Var2)) OR (Open >= Var2))
THEN
ExitShort("B0");
}
SetStopEndofday(150410);
다음글
이전글