커뮤니티
피보나치 수식 점검 부탁드립니다.
2018-06-19 21:54:28
163
글번호 119880
아래의 수식에서 피보나치 0.618을 하향 이탈한 3거래일 이후부터 음봉종가에 매수 시그널이 발생하지 않습니다.
예를들어서 일봉챠트를 기준으로 3월1일날 피보나치 0.618을 하향 이탈하였고 3월5일까지
반등을 못한다면 3월5일 이후에 발생하는 음봉종가(150000)에는 매수시그널이 발생되도록
만들고 싶습니다. 점검 한번 부탁드립니다.
- 아 래 -
input : n(120);
input : 지정일(20180605);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0),dd(0),d1(0);;
if bdate != bdate[1] Then
dd = dd+1;
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n
{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and (crossup(c,var4)) and ExitDate(1) != sdate Then
Buy("매수0.5",OnClose,def,Floor(매수금액/C));
if MarketPosition == 0 and (crossup(c,var5)) and ExitDate(1) != sdate Then
Buy("매수0.618",OnClose,def,Floor(매수금액/C));
if CurrentContracts > CurrentContracts and MaxEntries == 1 Then
d1 = dd;
if dd >= d1+4 and
C < HH-RR*0.618 and
MaxEntries >= 2 and MaxEntries < 4 and
stime >= 150000 and stime[1] < 150000 and
c < dayopen Then
Buy("추매",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
EH = H;
EL = L;
if H > EH Then
EH = H;
if L < EL Then
EL = L;
}
if MarketPosition == 1 and C > AvgEntryPrice Then
ExitLong("수익",Atlimit,EntryPrice*1.10);
}
}
답변 1
예스스탁 예스스탁 답변
2018-06-20 13:48:01
안녕하세요
예스스탁입니다.
식을 수정했습니다.
2번째 진입에 문제가 있어 추매가 발동하지 않았습니다.
input : n(120);
input : 지정일(20180605);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0),dd(0),d1(0);;
if bdate != bdate[1] Then
dd = dd+1;
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n
{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and (crossup(c,var4)) and ExitDate(1) != sdate Then
Buy("매수0.5",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 and MaxEntries == 1 and (crossup(c,var5)) Then
Buy("매수0.618",OnClose,def,Floor(매수금액/C));
if CurrentContracts > CurrentContracts and MaxEntries == 1 Then
d1 = dd;
if dd >= d1+4 and
C < HH-RR*0.618 and
MaxEntries >= 2 and MaxEntries < 4 and
stime >= 150000 and stime[1] < 150000 and
c < dayopen Then
Buy("추매",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
EH = H;
EL = L;
if H > EH Then
EH = H;
if L < EL Then
EL = L;
}
if MarketPosition == 1 and C > AvgEntryPrice Then
ExitLong("수익",Atlimit,EntryPrice*1.10);
}
}
즐거운 하루되세요
> 승부사1 님이 쓴 글입니다.
> 제목 : 피보나치 수식 점검 부탁드립니다.
> 아래의 수식에서 피보나치 0.618을 하향 이탈한 3거래일 이후부터 음봉종가에 매수 시그널이 발생하지 않습니다.
예를들어서 일봉챠트를 기준으로 3월1일날 피보나치 0.618을 하향 이탈하였고 3월5일까지
반등을 못한다면 3월5일 이후에 발생하는 음봉종가(150000)에는 매수시그널이 발생되도록
만들고 싶습니다. 점검 한번 부탁드립니다.
- 아 래 -
input : n(120);
input : 지정일(20180605);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0),dd(0),d1(0);;
if bdate != bdate[1] Then
dd = dd+1;
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n
{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and (crossup(c,var4)) and ExitDate(1) != sdate Then
Buy("매수0.5",OnClose,def,Floor(매수금액/C));
if MarketPosition == 0 and (crossup(c,var5)) and ExitDate(1) != sdate Then
Buy("매수0.618",OnClose,def,Floor(매수금액/C));
if CurrentContracts > CurrentContracts and MaxEntries == 1 Then
d1 = dd;
if dd >= d1+4 and
C < HH-RR*0.618 and
MaxEntries >= 2 and MaxEntries < 4 and
stime >= 150000 and stime[1] < 150000 and
c < dayopen Then
Buy("추매",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
EH = H;
EL = L;
if H > EH Then
EH = H;
if L < EL Then
EL = L;
}
if MarketPosition == 1 and C > AvgEntryPrice Then
ExitLong("수익",Atlimit,EntryPrice*1.10);
}
}