커뮤니티
도움 주셔서 감사합니다 일봉기준 진입을 3분봉으로....
2013-04-23 14:48:52
192
글번호 62390
일봉에서 5일선 돌파시 진입하는 조건으로 코딩하니
종가 진입이라 익일 시초가 형성후 매수되어 진입이 늦어지는 단점이
있네요.
그래서 신호 발생은 아래와 같이 일봉 기준으로 동일하게 하고
진입은 3분봉 기준으로 일봉의 5일선 돌파시 매수, 5일선에서 2% 하락하면 스탑로스
되도록 코딩을 수정, 보완 부탁드립니다.
물론 5일선 재돌파시는 재매수 입니다^^
다시한번 말씀 드리지만 그외의 코딩은 변경 없습니다. 감사합니다^^
Input : k(0.15), k2(0.1);
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = countif(C>=C[1]*(1 + k),10);
var5 = countif(H>=H[1]*(1 + k2),10);
var6 = countif(L < var1,5);
if var1 > var2 and var2 > var3 and
(var4[1] >= 1 or var5[1] >= 1) and
#var6[2] == 0 and
C[1] < var1[1] and
O < Var1 and
crossup(c,var1) Then
#V >= V[1]*2 Then
buy();
if MarketPosition == 1 Then{
value1 = highest(H,BarsSinceEntry);
if CurrentContracts == MaxContracts Then
exitlong("bx1",atlimit,EntryPrice*1.05,"",50,1);
if CurrentContracts < MaxContracts Then{
exitlong("bx2",atlimit,EntryPrice*1.08);
}
}
SetStopTrailing(1, 5, PercentStop, 1);
SetStopLoss(2,PercentStop);
답변 2
예스스탁 예스스탁 답변
2013-04-24 10:32:06
안녕하세요
예스스탁입니다.
Input : k(0.15), k2(0.1);
input : P1(5),P2(10),P3(20);
var : count(0),sumV1(0),sumV2(0),sumV3(0),sumV11(0),cnt(0);
sumV1 = 0;
sumV11 = 0;
sumV2 = 0;
sumV3 = 0;
for count = 0 to P3{
if count < P1 Then
sumV1 = sumV1+CloseD(count);
if count < P1 Then
sumV11 = sumV11+CloseD(count+1);
if count < P2 Then
sumV2 = sumV2+CloseD(count);
if count < P3 Then
sumV3 = sumV3+CloseD(count);
}
var1 = sumV1 / P1;
var11 = sumV11 / P1;
var2 = sumV2 / P2;
var3 = sumV3 / P3;
var4 = 0;
var5 = 0;
for cnt = 1 to 10{
if DayClose(cnt) > DayClose(cnt+1)*(1 + k) Then
var4 = var4+1;
if DayHigh(cnt) > DayHigh(cnt+1)*(1 + k2) Then
var5 = var5+1;
}
if var1 > var2 and var2 > var3 and
(var4 >= 1 or var5 >= 1) and
DayClose(1) < var11 and
DayOpen < Var1 and
crossup(c,var1) Then
buy();
if MarketPosition == 1 Then{
value1 = highest(H,BarsSinceEntry);
if CurrentContracts == MaxContracts Then
exitlong("bx1",atlimit,EntryPrice*1.05,"",50,1);
if CurrentContracts < MaxContracts Then{
exitlong("bx2",atlimit,EntryPrice*1.08);
}
}
SetStopTrailing(1, 5, PercentStop, 1);
SetStopLoss(2,PercentStop);
즐거운 하루되세요
> 작은하늘 님이 쓴 글입니다.
> 제목 : 도움 주셔서 감사합니다 일봉기준 진입을 3분봉으로....
> 일봉에서 5일선 돌파시 진입하는 조건으로 코딩하니
종가 진입이라 익일 시초가 형성후 매수되어 진입이 늦어지는 단점이
있네요.
그래서 신호 발생은 아래와 같이 일봉 기준으로 동일하게 하고
진입은 3분봉 기준으로 일봉의 5일선 돌파시 매수, 5일선에서 2% 하락하면 스탑로스
되도록 코딩을 수정, 보완 부탁드립니다.
물론 5일선 재돌파시는 재매수 입니다^^
다시한번 말씀 드리지만 그외의 코딩은 변경 없습니다. 감사합니다^^
Input : k(0.15), k2(0.1);
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = countif(C>=C[1]*(1 + k),10);
var5 = countif(H>=H[1]*(1 + k2),10);
var6 = countif(L < var1,5);
if var1 > var2 and var2 > var3 and
(var4[1] >= 1 or var5[1] >= 1) and
#var6[2] == 0 and
C[1] < var1[1] and
O < Var1 and
crossup(c,var1) Then
#V >= V[1]*2 Then
buy();
if MarketPosition == 1 Then{
value1 = highest(H,BarsSinceEntry);
if CurrentContracts == MaxContracts Then
exitlong("bx1",atlimit,EntryPrice*1.05,"",50,1);
if CurrentContracts < MaxContracts Then{
exitlong("bx2",atlimit,EntryPrice*1.08);
}
}
SetStopTrailing(1, 5, PercentStop, 1);
SetStopLoss(2,PercentStop);
작은하늘
2013-04-24 11:12:50
작성하여주신 아래 코딩으로 3분봉 백테스트하니 진입이 전혀 안되네요.
수식검증은 이상이 없습니다.
확인 부탁 드립니다^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 도움 주셔서 감사합니다 일봉기준 진입을 3분봉으로....
> 안녕하세요
예스스탁입니다.
Input : k(0.15), k2(0.1);
input : P1(5),P2(10),P3(20);
var : count(0),sumV1(0),sumV2(0),sumV3(0),sumV11(0),cnt(0);
sumV1 = 0;
sumV11 = 0;
sumV2 = 0;
sumV3 = 0;
for count = 0 to P3{
if count < P1 Then
sumV1 = sumV1+CloseD(count);
if count < P1 Then
sumV11 = sumV11+CloseD(count+1);
if count < P2 Then
sumV2 = sumV2+CloseD(count);
if count < P3 Then
sumV3 = sumV3+CloseD(count);
}
var1 = sumV1 / P1;
var11 = sumV11 / P1;
var2 = sumV2 / P2;
var3 = sumV3 / P3;
var4 = 0;
var5 = 0;
for cnt = 1 to 10{
if DayClose(cnt) > DayClose(cnt+1)*(1 + k) Then
var4 = var4+1;
if DayHigh(cnt) > DayHigh(cnt+1)*(1 + k2) Then
var5 = var5+1;
}
if var1 > var2 and var2 > var3 and
(var4 >= 1 or var5 >= 1) and
DayClose(1) < var11 and
DayOpen < Var1 and
crossup(c,var1) Then
buy();
if MarketPosition == 1 Then{
value1 = highest(H,BarsSinceEntry);
if CurrentContracts == MaxContracts Then
exitlong("bx1",atlimit,EntryPrice*1.05,"",50,1);
if CurrentContracts < MaxContracts Then{
exitlong("bx2",atlimit,EntryPrice*1.08);
}
}
SetStopTrailing(1, 5, PercentStop, 1);
SetStopLoss(2,PercentStop);
즐거운 하루되세요
> 작은하늘 님이 쓴 글입니다.
> 제목 : 도움 주셔서 감사합니다 일봉기준 진입을 3분봉으로....
> 일봉에서 5일선 돌파시 진입하는 조건으로 코딩하니
종가 진입이라 익일 시초가 형성후 매수되어 진입이 늦어지는 단점이
있네요.
그래서 신호 발생은 아래와 같이 일봉 기준으로 동일하게 하고
진입은 3분봉 기준으로 일봉의 5일선 돌파시 매수, 5일선에서 2% 하락하면 스탑로스
되도록 코딩을 수정, 보완 부탁드립니다.
물론 5일선 재돌파시는 재매수 입니다^^
다시한번 말씀 드리지만 그외의 코딩은 변경 없습니다. 감사합니다^^
Input : k(0.15), k2(0.1);
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = countif(C>=C[1]*(1 + k),10);
var5 = countif(H>=H[1]*(1 + k2),10);
var6 = countif(L < var1,5);
if var1 > var2 and var2 > var3 and
(var4[1] >= 1 or var5[1] >= 1) and
#var6[2] == 0 and
C[1] < var1[1] and
O < Var1 and
crossup(c,var1) Then
#V >= V[1]*2 Then
buy();
if MarketPosition == 1 Then{
value1 = highest(H,BarsSinceEntry);
if CurrentContracts == MaxContracts Then
exitlong("bx1",atlimit,EntryPrice*1.05,"",50,1);
if CurrentContracts < MaxContracts Then{
exitlong("bx2",atlimit,EntryPrice*1.08);
}
}
SetStopTrailing(1, 5, PercentStop, 1);
SetStopLoss(2,PercentStop);