커뮤니티
문의드립니다
2016-10-18 04:51:27
127
글번호 103040
1.
Input : short(12),long(26),sig(9),시작시간(90000),종료시간(150000),당일수익틱수(10),텍스트표시소숫점자리수(2);
Var : MACDv(0),MACDS(0),MACDO(0),T1(0),tx(0),NP(0),N1(0),Tcond(false),당일수익(0);
var : daypl(0),Xcond(false),Bcond(false),Scond(false);
NP = NetProfit;
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
MACDO = MACDV-MACDS;
당일수익 = PriceScale*당일수익틱수;
if MACDV > MACDS Then
T1 = 1;
Else
T1 = -1;
if stime == 시작시간 or (stime > 시작시간 and stime[1] <시작시간) Then{
Tcond = true;
Xcond = false;
N1 = Np;
}
daypl = NP-N1;
if TotalTrades > TotalTrades[1] and IsExitName("bp",1) == true Then{
Xcond = true;
tx = Text_New(sdate,stime,H,"매수청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,blue);
}
if TotalTrades > TotalTrades[1] and IsExitName("sp",1) == true Then{
Xcond = true;
tx = Text_New(sdate,stime,H,"매도청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,red);
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
if MarketPosition != 0 then{
tx = Text_New(sdate,stime,H,"당일청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,BLACK);
}
}
bcond = T1 == 1;
Scond = T1 == -1;
if Tcond == true and Xcond == false then{
if MarketPosition <= 0 and Bcond == true and Bcond[1] == false Then{
buy("b");
tx = Text_New(sdate,stime,H,"매수진입 :"+NumToStr(C,텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,RED);
}
if MarketPosition >= 0 and Scond == true and Scond[1] == false Then{
sell("s");
tx = Text_New(sdate,stime,H,"매도진입 :"+NumToStr(C,텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,blue);
}
if MarketPosition == 1 Then
ExitLong("bp",AtLimit,EntryPrice+당일수익-daypl);
if MarketPosition == -1 Then
ExitShort("sp",AtLimit,EntryPrice-당일수익+daypl);
}
SetStopEndofday(150000);
2.
Input : Period(12),당일수익틱수(50);
var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
if bdate != Bdate[1] Then{
N1 = NP;
Xcond = false;
}
dayPl = Np-N1;
value1 = TRIX(Period);
if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then
Xcond = false;
# 매수/매도청산
If CrossUP(value1, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, 0) Then
{
Sell();
}
if MarketPosition == 1 Then
ExitLong("bdp",atlimit,EntryPrice+daypl-daypl);
if MarketPosition == -1 Then
ExitShort("sdp",atlimit,EntryPrice-daypl+daypl);
SetStopEndofday(150000);
1번시스템을 2번시스템에 대입을해볼려고 ...손을써봐도
당일수익틱수 가 문제가있는지 신호가 계속 연속적으로 뜹니다
1번시스템을 2번시스템으로 수정좀부탁드리겠습니다..
답변 1
예스스탁 예스스탁 답변
2016-10-18 11:20:09
안녕하세요
예스스탁입니다.
당일수익청산신호가(bdp,sdp)이 발생하면
Xcond는 true가 되게 하고 각 진익식에는
Xcond가 false일때만 진인하는 조건을 추가해야 합니다.
Input : Period(12),당일수익틱수(50);
var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
if bdate != Bdate[1] Then{
N1 = NP;
Xcond = false;
}
dayPl = Np-N1;
value1 = TRIX(Period);
if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then
Xcond = true;
# 매수/매도청산
If Xcond == false and CrossUP(value1, 0) Then
{
Buy();
}
# 매도/매수청산
If Xcond == false and CrossDown(value1, 0) Then
{
Sell();
}
if MarketPosition == 1 Then
ExitLong("bdp",atlimit,EntryPrice+daypl-daypl);
if MarketPosition == -1 Then
ExitShort("sdp",atlimit,EntryPrice-daypl+daypl);
SetStopEndofday(150000);
즐거운 하루되세요
> 곽민수 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 1.
Input : short(12),long(26),sig(9),시작시간(90000),종료시간(150000),당일수익틱수(10),텍스트표시소숫점자리수(2);
Var : MACDv(0),MACDS(0),MACDO(0),T1(0),tx(0),NP(0),N1(0),Tcond(false),당일수익(0);
var : daypl(0),Xcond(false),Bcond(false),Scond(false);
NP = NetProfit;
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
MACDO = MACDV-MACDS;
당일수익 = PriceScale*당일수익틱수;
if MACDV > MACDS Then
T1 = 1;
Else
T1 = -1;
if stime == 시작시간 or (stime > 시작시간 and stime[1] <시작시간) Then{
Tcond = true;
Xcond = false;
N1 = Np;
}
daypl = NP-N1;
if TotalTrades > TotalTrades[1] and IsExitName("bp",1) == true Then{
Xcond = true;
tx = Text_New(sdate,stime,H,"매수청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,blue);
}
if TotalTrades > TotalTrades[1] and IsExitName("sp",1) == true Then{
Xcond = true;
tx = Text_New(sdate,stime,H,"매도청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,red);
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
if MarketPosition != 0 then{
tx = Text_New(sdate,stime,H,"당일청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,BLACK);
}
}
bcond = T1 == 1;
Scond = T1 == -1;
if Tcond == true and Xcond == false then{
if MarketPosition <= 0 and Bcond == true and Bcond[1] == false Then{
buy("b");
tx = Text_New(sdate,stime,H,"매수진입 :"+NumToStr(C,텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,RED);
}
if MarketPosition >= 0 and Scond == true and Scond[1] == false Then{
sell("s");
tx = Text_New(sdate,stime,H,"매도진입 :"+NumToStr(C,텍스트표시소숫점자리수));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,blue);
}
if MarketPosition == 1 Then
ExitLong("bp",AtLimit,EntryPrice+당일수익-daypl);
if MarketPosition == -1 Then
ExitShort("sp",AtLimit,EntryPrice-당일수익+daypl);
}
SetStopEndofday(150000);
2.
Input : Period(12),당일수익틱수(50);
var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
if bdate != Bdate[1] Then{
N1 = NP;
Xcond = false;
}
dayPl = Np-N1;
value1 = TRIX(Period);
if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then
Xcond = false;
# 매수/매도청산
If CrossUP(value1, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, 0) Then
{
Sell();
}
if MarketPosition == 1 Then
ExitLong("bdp",atlimit,EntryPrice+daypl-daypl);
if MarketPosition == -1 Then
ExitShort("sdp",atlimit,EntryPrice-daypl+daypl);
SetStopEndofday(150000);
1번시스템을 2번시스템에 대입을해볼려고 ...손을써봐도
당일수익틱수 가 문제가있는지 신호가 계속 연속적으로 뜹니다
1번시스템을 2번시스템으로 수정좀부탁드리겠습니다..