커뮤니티
수식수정요청드립니다.
2015-09-24 23:13:54
135
글번호 90706
수정해주신 아래수식을 틱 차트에 적용할경우 전혀다른 4번 신호가 발생 합니다.
당일청산 수윙 시스템 (매수->매도->당일정산 / 매도->매수->당일청산) 수식에서
1.당일 첫 신호(매수, 매도) 발생 -0.5PT 손절 스위칭 후 -> 추가 손실이 발생하는 경우
-> 처음 손실 -0.5 포함 당일손실제한 적용 강제청산 => 1차 수정 수식 정상사용
(예 (-0.5PT) + (추가손실) = -1.5PT 조건만족 손절 정산)
당일 첫 신호(매수, 매도) 발생 -0.5PT 손절 스위칭 후 -> 추가 수익이 발생하는 경우
-> 처음 손실을 -0.5PT 포함 당일손실제한 적용 강제청산 => 1차 수정 수식 정상사용
(예 (-0.5PT) + (추가수익) = 종가청산)
2. 당일 첫 신호(매수, 매도) 발생 +0.8PT 익절 스위칭 후 -> 추가 손실이 발생하는 경우
-> 처음 수익을 제외한 당일손실제한 적용 강제청산 => 1차, 2차 수정 수식 오류
(예 (+0.8PT) + (추가손실) = 첫수익을 0.8PT 제외하고 -1.5 조건만족 강제청산
=> 당일수익은 0.7PT로 마감)
당일 첫 신호(매수, 매도) 발생 +0.8 익절 스위칭 후 -> 추가 수익일 발생하는 경우
-> 처음 수익을 포함한 당일손실제한 적용 강제청산 => 1차, 2차 수정 수식 오류
(예 (+0.5) + (추가수익) = 종가청산)
감사합니다.
<<< 2차 수정수식 >>>
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input :N(2),당일손실(-1.5);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
var1 = 0;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Condition1 == false and TotalTrades > TotalTrades[1] Then{
Condition1 = true;
if PositionProfit(1) > 0 Then
var1 = PositionProfit(1);
}
//------------------------------------------------------------------------
if MarketPosition == 1 Then{
ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-(dayPL-var1));
}
if MarketPosition == -1 Then{
ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+(dayPL-var1));
}
//--------------------------------------------------------------------------------------
if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//--------------------------------------------------------------------------------------
<<< 1차 수정 수식 >>>
즐거운 하루되세요
> dandy 님이 쓴 글입니다.
> 제목 : 수식수정 요청드립니다.
> 수정해주신 아래 수식에서
첫 신호 발생 후 손절 스위칭일 경우
처음 손실을 포함한 당일손실제한 강제청산 => 수식 정상 입니다.
첫 신호 발생 후 수익 스위칭일 경우
처음 수익을 제외한 당일손실제한 강제청산 => << 작성된 수식은 첫수익 포함 입니다.>>
(예1 : 첫 신호 발생 1PT 수익 스위칭 후 => 계속 수익 발생시 종가청산 하고,
수익 스위칭 후 부터, 손실일 경우 당일손실제한은 첫 수익 1PT을 제외하고 -1.5PT 적용 손절청산)
input :N(2),당일손실(-1.5);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Bcount+Scount == 1 and TotalTrades > TotalTrades[1] Then{
if PositionProfit(1) > 0 Then{
Condition1 = true;
var1 = PositionProfit(1);
}
}
//------------------------------------------------------------------------
if MarketPosition == 1 Then{
if Condition1 == false Then
loss = EntryPrice+당일손실-dayPL;
Else
loss = EntryPrice+당일손실-(dayPL-var1);
ExitLong("당일손실제한bx3",AtStop,Loss);
}
if MarketPosition == -1 Then{
if Condition1 == false Then
loss = EntryPrice-당일손실+dayPL;
Else
loss = EntryPrice-당일손실+(dayPL-var1);
ExitShort("당일손실제한sx3",AtStop,loss );
}
//--------------------------------------------------------------------------------------
if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//--------------------------------------------------------------------------------------
답변 1
예스스탁 예스스탁 답변
2015-09-25 10:37:06
> dandy 님이 쓴 글입니다.
> 제목 : 수식수정요청드립니다.
> 수정해주신 아래수식을 틱 차트에 적용할경우 전혀다른 4번 신호가 발생 합니다.
당일청산 수윙 시스템 (매수->매도->당일정산 / 매도->매수->당일청산) 수식에서
1.당일 첫 신호(매수, 매도) 발생 -0.5PT 손절 스위칭 후 -> 추가 손실이 발생하는 경우
-> 처음 손실 -0.5 포함 당일손실제한 적용 강제청산 => 1차 수정 수식 정상사용
(예 (-0.5PT) + (추가손실) = -1.5PT 조건만족 손절 정산)
당일 첫 신호(매수, 매도) 발생 -0.5PT 손절 스위칭 후 -> 추가 수익이 발생하는 경우
-> 처음 손실을 -0.5PT 포함 당일손실제한 적용 강제청산 => 1차 수정 수식 정상사용
(예 (-0.5PT) + (추가수익) = 종가청산)
2. 당일 첫 신호(매수, 매도) 발생 +0.8PT 익절 스위칭 후 -> 추가 손실이 발생하는 경우
-> 처음 수익을 제외한 당일손실제한 적용 강제청산 => 1차, 2차 수정 수식 오류
(예 (+0.8PT) + (추가손실) = 첫수익을 0.8PT 제외하고 -1.5 조건만족 강제청산
=> 당일수익은 0.7PT로 마감)
당일 첫 신호(매수, 매도) 발생 +0.8 익절 스위칭 후 -> 추가 수익일 발생하는 경우
-> 처음 수익을 포함한 당일손실제한 적용 강제청산 => 1차, 2차 수정 수식 오류
(예 (+0.5) + (추가수익) = 종가청산)
감사합니다.
<<< 2차 수정수식 >>>
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input :N(2),당일손실(-1.5);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
var1 = 0;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Condition1 == false and TotalTrades > TotalTrades[1] Then{
Condition1 = true;
if PositionProfit(1) > 0 Then
var1 = PositionProfit(1);
}
//------------------------------------------------------------------------
if MarketPosition == 1 Then{
ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-(dayPL-var1));
}
if MarketPosition == -1 Then{
ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+(dayPL-var1));
}
//--------------------------------------------------------------------------------------
if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//--------------------------------------------------------------------------------------
<<< 1차 수정 수식 >>>
즐거운 하루되세요
> dandy 님이 쓴 글입니다.
> 제목 : 수식수정 요청드립니다.
> 수정해주신 아래 수식에서
첫 신호 발생 후 손절 스위칭일 경우
처음 손실을 포함한 당일손실제한 강제청산 => 수식 정상 입니다.
첫 신호 발생 후 수익 스위칭일 경우
처음 수익을 제외한 당일손실제한 강제청산 => << 작성된 수식은 첫수익 포함 입니다.>>
(예1 : 첫 신호 발생 1PT 수익 스위칭 후 => 계속 수익 발생시 종가청산 하고,
수익 스위칭 후 부터, 손실일 경우 당일손실제한은 첫 수익 1PT을 제외하고 -1.5PT 적용 손절청산)
input :N(2),당일손실(-1.5);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Bcount+Scount == 1 and TotalTrades > TotalTrades[1] Then{
if PositionProfit(1) > 0 Then{
Condition1 = true;
var1 = PositionProfit(1);
}
}
//------------------------------------------------------------------------
if MarketPosition == 1 Then{
if Condition1 == false Then
loss = EntryPrice+당일손실-dayPL;
Else
loss = EntryPrice+당일손실-(dayPL-var1);
ExitLong("당일손실제한bx3",AtStop,Loss);
}
if MarketPosition == -1 Then{
if Condition1 == false Then
loss = EntryPrice-당일손실+dayPL;
Else
loss = EntryPrice-당일손실+(dayPL-var1);
ExitShort("당일손실제한sx3",AtStop,loss );
}
//--------------------------------------------------------------------------------------
if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then
buy("1BX");
if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then
sell("1SX");
//--------------------------------------------------------------------------------------
다음글
이전글