커뮤니티
지표식을 검토 해 주십시요
2015-10-15 13:50:48
111
글번호 91319
아래 지표식이 실제 수익율과 일치하지 않네요!!
문제가 무엇인지 지표식을 바르게 수정 부탁드리겠습니다.
Input : 진입날짜(20150102),진입시간(90000);
input : 진입수수료(0),청산수수료(0);input : 진입슬리피지(0),청산슬리피지(0);
Input : P(10);
input : A(10),MU(2);
var : EMAs(0),upv(0),dnv(0),Ov(0);
var : T(0),sumPL(0),totalPL(0),HH(0);
EMAs = ema(C,P);
Ov = ( DayOpen(0));
if sdate == 진입날짜 and (stime == 진입시간 or (stime > 진입시간 and stime[1] < 진입시간)) Then
Condition1 = true;
if Condition1 == true then{
if dayindex == 0 Then{
upv = Ov+atr(A)*MU;
dnv = Ov-atr(A)*MU;
}
if dayindex > 0 Then {
if T <= 0 and CrossUp(EMAs,upv) Then {
var1 = C;
if T == -1 Then{
sumPL = SumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
T = 1;
upv = upv[1]+atr(A)*MU;
dnv = upv[1];
}
if T >= 0 and CrossDown(EMAs,dnv) Then {
var2 = C;
if T == 1 Then{
sumPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
T = -1;
upv = dnv[1];
dnv = dnv[1]-atr(A)*MU;
}
}
if T == 1 Then
totalPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if T == -1 Then
totalPL = sumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if totalPL > HH Then
HH = totalPL;
plot1(totalPL,"누적수익");
plot2(HH,"최고누적수익");
plot3(HH*0.6,"최고누적수익 60%");
}
# 위 지표식과 관련 된 시스템식은 아래의 시스템식을 참고로 하였습니다.
Input : P(10);
input : A(10),MU(2);
var : EMAs(0),upv(0),dnv(0),Ov(0);
var : T(0),sumPL(0),totalPL(0),HH(0);
EMAs = ema(C,P);
Ov = ( DayOpen(0));
if dayindex == 0 Then{
upv = Ov+atr(A)*MU;
dnv = Ov-atr(A)*MU;
}
if dayindex > 0 Then {
if CrossUp(EMAs,upv) Then {
Buy("b",AtMarket);
upv = upv[1]+atr(A)*MU;
dnv = upv[1];
}
if T >= 0 and CrossDown(EMAs,dnv) Then {
Sell("s",AtMarket);
upv = dnv[1];
dnv = dnv[1]-atr(A)*MU;
}
}
답변 1
예스스탁 예스스탁 답변
2015-10-15 14:41:54
안녕하세요
예스스탁입니다.
식 진입이 atmarket입니다.
if조건만족복의 다음봉 시가를 진입청산가격으로 사용하는 타입니다.
또한 해당 시스템식에 upv와 downv는
신호가 발생되는 지점에서 고정되는 값이 아닙니다.
매수나 매도 진입이후에도 계속 변경되는 값입니다.
아래 수정한 식입니다.
Input : 진입날짜(20151001),진입시간(90000);
input : 진입수수료(0),청산수수료(0);
input : 진입슬리피지(0),청산슬리피지(0);
Input : P(10);
input : A(10),MU(2);
var : EMAs(0),upv(0),dnv(0),Ov(0);
var : T(0),sumPL(0),totalPL(0),HH(0);
EMAs = ema(C,P);
Ov = ( DayOpen(0));
if sdate == 진입날짜 and (stime == 진입시간 or (stime > 진입시간 and stime[1] < 진입시간)) Then
Condition1 = true;
if Condition1 == true then{
if dayindex == 0 Then{
upv = Ov+atr(A)*MU;
dnv = Ov-atr(A)*MU;
}
if dayindex > 0 Then {
if CrossUp(EMAs,upv) Then {
if T <= 0 Then{
var1 = NextBarOpen;
if T == -1 Then{
sumPL = SumPL+(var2-NextBarOpen-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
}
T = 1;
upv = upv[1]+atr(A)*MU;
dnv = upv[1];
}
if CrossDown(EMAs,dnv) Then {
if T >= 0 Then{
var2 = NextBarOpen;
if T == 1 Then{
sumPL = sumPL+(NextBarOpen-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
}
T = -1;
upv = dnv[1];
dnv = dnv[1]-atr(A)*MU;
}
}
if T == 1 Then
totalPL = sumPL+(NextBarOpen-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if T == -1 Then
totalPL = sumPL+(var2-NextBarOpen-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if totalPL > HH Then
HH = totalPL;
plot1(sumPL,"누적수익");
plot2(HH,"최고누적수익");
plot3(HH*0.6,"최고누적수익 60%");
}
즐거운 하루되세요
> 너무조아 님이 쓴 글입니다.
> 제목 : 지표식을 검토 해 주십시요
> 아래 지표식이 실제 수익율과 일치하지 않네요!!
문제가 무엇인지 지표식을 바르게 수정 부탁드리겠습니다.
Input : 진입날짜(20150102),진입시간(90000);
input : 진입수수료(0),청산수수료(0);input : 진입슬리피지(0),청산슬리피지(0);
Input : P(10);
input : A(10),MU(2);
var : EMAs(0),upv(0),dnv(0),Ov(0);
var : T(0),sumPL(0),totalPL(0),HH(0);
EMAs = ema(C,P);
Ov = ( DayOpen(0));
if sdate == 진입날짜 and (stime == 진입시간 or (stime > 진입시간 and stime[1] < 진입시간)) Then
Condition1 = true;
if Condition1 == true then{
if dayindex == 0 Then{
upv = Ov+atr(A)*MU;
dnv = Ov-atr(A)*MU;
}
if dayindex > 0 Then {
if T <= 0 and CrossUp(EMAs,upv) Then {
var1 = C;
if T == -1 Then{
sumPL = SumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
T = 1;
upv = upv[1]+atr(A)*MU;
dnv = upv[1];
}
if T >= 0 and CrossDown(EMAs,dnv) Then {
var2 = C;
if T == 1 Then{
sumPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
}
T = -1;
upv = dnv[1];
dnv = dnv[1]-atr(A)*MU;
}
}
if T == 1 Then
totalPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if T == -1 Then
totalPL = sumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지);
if totalPL > HH Then
HH = totalPL;
plot1(totalPL,"누적수익");
plot2(HH,"최고누적수익");
plot3(HH*0.6,"최고누적수익 60%");
}
# 위 지표식과 관련 된 시스템식은 아래의 시스템식을 참고로 하였습니다.
Input : P(10);
input : A(10),MU(2);
var : EMAs(0),upv(0),dnv(0),Ov(0);
var : T(0),sumPL(0),totalPL(0),HH(0);
EMAs = ema(C,P);
Ov = ( DayOpen(0));
if dayindex == 0 Then{
upv = Ov+atr(A)*MU;
dnv = Ov-atr(A)*MU;
}
if dayindex > 0 Then {
if CrossUp(EMAs,upv) Then {
Buy("b",AtMarket);
upv = upv[1]+atr(A)*MU;
dnv = upv[1];
}
if T >= 0 and CrossDown(EMAs,dnv) Then {
Sell("s",AtMarket);
upv = dnv[1];
dnv = dnv[1]-atr(A)*MU;
}
}