커뮤니티
문의드립니다
2016-04-26 16:30:59
97
글번호 97461
아래식은 만들어 주신것 입니다
여기에 추가하고십은것이 있습니다
9시 장시작후에 첫번째크로스가 일어나면 진입을 해야합니다
추가부탁드립니다
현재 아래식으로는 장시작후 5이평이 20평 아래있으면 크로스가 아는대도 진입을 하고있습니다
그리고 목표수익0.20식 수익난것들을 합하여 하루수익이 0.80 이되면 그날은 진입하면 안되거든요 합수 설명 부탁드립니다
다시확인부탁드립니다
감사합니다
input : 진입시작시간(90000),진입종료시간(143000),당일청산시간(150000),하루수익(0.8),목표수익(0.2);
var : Tcond(false),NP(0),NP1(0),dayPL(0),Xcond(false);
NP = NetProfit;
if sTime == 진입시작시간 or (stime == 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
NP1 = NP[1];
Xcond = false;
}
if sTime == 진입종료시간 or (stime == 진입종료시간 and stime[1] < 진입종료시간) Then{
Tcond = False;
}
dayPL = NP-NP1;
var1 = ma(C,5);
var2 = ma(C,20);
if TotalTrades > TotalTrades[1] and
(IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
if Tcond == true and Xcond == false Then{
if crossup(var1,var2) Then
buy();
if CrossDown(var1,var2) Then
sell();
}
if MarketPosition == 1 Then{
ExitLong("BP",AtLimit,EntryPrice+하루수익-daypl);
}
if MarketPosition == -1 Then{
ExitShort("SP",AtLimit,EntryPrice-하루수익+daypl);
}
SetStopProfittarget(목표수익,PointStop);
SetStopEndofday(당일청산시간);
답변 1
예스스탁 예스스탁 답변
2016-04-27 20:11:04
안녕하세요
예스스탁입니다.
진입조건식을 보시면
if crossup(var1,var2) Then
buy();
if CrossDown(var1,var2) Then
sell();
크로스로만 진입을 합니다.
당일 첫봉이면 전일 마지막봉과 이평상태로 판단합니다.
당일 두번째 봉부터 신호가 발생하게 작성해 드립니다.
나머지 부분도 수정했습니다.
시스템의 손익에는 시스템 트레이딩 설정창의 비용/수량탭의
수수로와 슬리피지가 반영됩니다.
그러므로 4번연속 목표수익으로 청산해도 수수료 슬리피지 제외하면
0.8수익이 아니므로 수수료와 슬리피지 반영하지 않으신다면
해당 설정은 모두 0으로 설정하셔야 합니다.
input : 진입시작시간(90000),진입종료시간(143000),당일청산시간(150000),하루수익(0.8),목표수익(0.2);
var : Tcond(false),NP(0),NP1(0),dayPL(0),Xcond(false),idx(0);
NP = NetProfit;
if sTime == 진입시작시간 or (stime > 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
NP1 = NP[1];
Xcond = false;
idx = 0;
}
idx = idx+1;
if sTime == 진입종료시간 or (stime > 진입종료시간 and stime[1] < 진입종료시간) Then{
Tcond = False;
}
dayPL = NP-NP1;
var1 = ma(C,5);
var2 = ma(C,20);
if TotalTrades > TotalTrades[1] and (IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
if Tcond == true and Xcond == false and dayPL < 하루수익 and idx >= 2 Then{
if crossup(var1,var2) Then
buy();
if CrossDown(var1,var2) Then
sell();
}
if MarketPosition == 1 Then{
ExitLong("BP",AtLimit,EntryPrice+하루수익-daypl);
}
if MarketPosition == -1 Then{
ExitShort("SP",AtLimit,EntryPrice-하루수익+daypl);
}
SetStopProfittarget(목표수익,PointStop);
SetStopEndofday(당일청산시간);
즐거운 하루되세요
> 파파리리 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 아래식은 만들어 주신것 입니다
여기에 추가하고십은것이 있습니다
9시 장시작후에 첫번째크로스가 일어나면 진입을 해야합니다
추가부탁드립니다
현재 아래식으로는 장시작후 5이평이 20평 아래있으면 크로스가 아는대도 진입을 하고있습니다
그리고 목표수익0.20식 수익난것들을 합하여 하루수익이 0.80 이되면 그날은 진입하면 안되거든요 합수 설명 부탁드립니다
다시확인부탁드립니다
감사합니다
input : 진입시작시간(90000),진입종료시간(143000),당일청산시간(150000),하루수익(0.8),목표수익(0.2);
var : Tcond(false),NP(0),NP1(0),dayPL(0),Xcond(false);
NP = NetProfit;
if sTime == 진입시작시간 or (stime == 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
NP1 = NP[1];
Xcond = false;
}
if sTime == 진입종료시간 or (stime == 진입종료시간 and stime[1] < 진입종료시간) Then{
Tcond = False;
}
dayPL = NP-NP1;
var1 = ma(C,5);
var2 = ma(C,20);
if TotalTrades > TotalTrades[1] and
(IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
if Tcond == true and Xcond == false Then{
if crossup(var1,var2) Then
buy();
if CrossDown(var1,var2) Then
sell();
}
if MarketPosition == 1 Then{
ExitLong("BP",AtLimit,EntryPrice+하루수익-daypl);
}
if MarketPosition == -1 Then{
ExitShort("SP",AtLimit,EntryPrice-하루수익+daypl);
}
SetStopProfittarget(목표수익,PointStop);
SetStopEndofday(당일청산시간);
다음글
이전글