커뮤니티
시스템 수식 문의..
2016-10-04 00:48:49
135
글번호 102441
안녕하십니까 매번 조언 감사드립니다.
a. 아래의 (1)번식이 60분봉 차트에서 만드는 진입.청산 포인트를 1분봉에 그대로 표현하고자 합니다.
b. 타주기 함수 공부를 위해 검증을 좀 해보았는데요. 무엇이 이상한지 잘 모르겠습니다.
1번식 60분봉의 진입 및 청산위치를 그래도 1분봉 차트에 옯겨주고 싶어서 (2)번식(주차트 1분봉, 보조차트 60분봉)과 같이 작성했는데, 그림과 같은 결과가 나왔습니다.
수식대로라면 형광팬 칠한 곳에 매수 진입이 떠야 할 것 같은데, 뜨지 않습니다..
b의 문제점에 대한 설명과 a의 시스템수식 모범답안좀 알려 주시면 감사하겠습니다. ㅠㅠ
===============================
(1)번식
input : P1(5),P2(20);
#봉완성시 다음봉 시가포함 5이평
var1 = (AccumN(C,P1-1)+NextBarOpen)/P1;
#봉완성시 다음봉 시가포함 20이평
var2 = (AccumN(C,P2-1)+NextBarOpen)/P2;
#봉완성시 완성봉 기준 5이평
var3 = ma(c,P1);
#봉완성시 완성봉 기준 20이평
var4 = ma(c,P2);
if var2 > var4[1] and NextBarOpen <= Var1 Then
Buy("b",AtStop,NextBarOpen+PriceScale*1);
(2)번식
input : P1(5),P2(20);
var : entcnt(0);
#봉완성시 다음봉 시가포함 5이평
var1 = data2((AccumN(C,P1-1)+NextBarOpen)/P1);
#봉완성시 다음봉 시가포함 20이평
var2 = data2((AccumN(C,P2-1)+NextBarOpen)/P2);
#봉완성시 완성봉 기준 5이평
var3 = data2(ma(c,P1));
#봉완성시 완성봉 기준 20이평
var4 = data2(ma(c,P2));
if stime == 91400 or (stime > 91400 and stime[1] < 91400) Then
entcnt = 0;
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=102900 and Time<=111500) and entcnt==0
and marketposition ==0 Then
{
buy("b1",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 1;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=111500 and Time<=121500) and (entcnt == 0 or entcnt == 1)
and MarketPosition == 0 Then
{
buy("b2",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 2;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=121500 and Time<=131500) and (entcnt == 0 or entcnt == 1 or entcnt == 2)
and MarketPosition == 0 Then
{
buy("b3",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 3;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=131500 and Time<=141500) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3)
and MarketPosition == 0 Then
{
buy("b4",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 4;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=141500 and Time<=154500) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3 or entcnt == 4)
and MarketPosition == 0 Then
{
buy("b5",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 5;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=154500 and Time<=164000) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3 or entcnt == 4)
and MarketPosition == 0 Then
{
buy("b6",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 6;
}
- 1. 102971_캡처.PNG (0.12 MB)
답변 1
예스스탁 예스스탁 답변
2016-10-04 19:07:27
> labio 님이 쓴 글입니다.
> 제목 : 시스템 수식 문의..
> 안녕하십니까 매번 조언 감사드립니다.
a. 아래의 (1)번식이 60분봉 차트에서 만드는 진입.청산 포인트를 1분봉에 그대로 표현하고자 합니다.
b. 타주기 함수 공부를 위해 검증을 좀 해보았는데요. 무엇이 이상한지 잘 모르겠습니다.
1번식 60분봉의 진입 및 청산위치를 그래도 1분봉 차트에 옯겨주고 싶어서 (2)번식(주차트 1분봉, 보조차트 60분봉)과 같이 작성했는데, 그림과 같은 결과가 나왔습니다.
수식대로라면 형광팬 칠한 곳에 매수 진입이 떠야 할 것 같은데, 뜨지 않습니다..
b의 문제점에 대한 설명과 a의 시스템수식 모범답안좀 알려 주시면 감사하겠습니다. ㅠㅠ
===============================
(1)번식
input : P1(5),P2(20);
#봉완성시 다음봉 시가포함 5이평
var1 = (AccumN(C,P1-1)+NextBarOpen)/P1;
#봉완성시 다음봉 시가포함 20이평
var2 = (AccumN(C,P2-1)+NextBarOpen)/P2;
#봉완성시 완성봉 기준 5이평
var3 = ma(c,P1);
#봉완성시 완성봉 기준 20이평
var4 = ma(c,P2);
if var2 > var4[1] and NextBarOpen <= Var1 Then
Buy("b",AtStop,NextBarOpen+PriceScale*1);
(2)번식
input : P1(5),P2(20);
var : entcnt(0);
#봉완성시 다음봉 시가포함 5이평
var1 = data2((AccumN(C,P1-1)+NextBarOpen)/P1);
#봉완성시 다음봉 시가포함 20이평
var2 = data2((AccumN(C,P2-1)+NextBarOpen)/P2);
#봉완성시 완성봉 기준 5이평
var3 = data2(ma(c,P1));
#봉완성시 완성봉 기준 20이평
var4 = data2(ma(c,P2));
if stime == 91400 or (stime > 91400 and stime[1] < 91400) Then
entcnt = 0;
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=102900 and Time<=111500) and entcnt==0
and marketposition ==0 Then
{
buy("b1",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 1;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=111500 and Time<=121500) and (entcnt == 0 or entcnt == 1)
and MarketPosition == 0 Then
{
buy("b2",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 2;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=121500 and Time<=131500) and (entcnt == 0 or entcnt == 1 or entcnt == 2)
and MarketPosition == 0 Then
{
buy("b3",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 3;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=131500 and Time<=141500) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3)
and MarketPosition == 0 Then
{
buy("b4",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 4;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=141500 and Time<=154500) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3 or entcnt == 4)
and MarketPosition == 0 Then
{
buy("b5",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 5;
}
if var2 > var4[1] and data2(NextBarOpen) <= Var1 and (Time>=154500 and Time<=164000) and (entcnt == 0 or entcnt == 1 or entcnt == 2 or entcnt == 3 or entcnt == 4)
and MarketPosition == 0 Then
{
buy("b6",AtStop,data2(NextBarOpen)+PriceScale*1);
entcnt = 6;
}