매수 진입 후
직전봉 저가 손절 / (진입평균가- 직전봉 저가) *2 + 진입평균가
매도 진입 후
직전봉 고가 손절 / 진입평균가 - (진전봉 고가 - 진입평균가)*2
매수, 매도 손절 익절의 손익비를 2:1로 하려고 수식을 만드었는데 백테스트상 잘 안됫요
혹시 무엇이 잘못된건지 수정쫌 부탁드립니다
////////////////////////////////////////////////////
input: back(1),tri(2);
var1 = low[BarsSinceEntry];
var2 = high[BarsSinceEntry];
Var5= close[BarsSinceEntry];
var3 = (( AvgEntryPrice- var1[back] ) *TRI) + AvgEntryPrice; //(종가-저가) + 저가
Var4 = AvgEntryPrice - ((var2[back] - AvgEntryPrice ) *TRI) ; // 종가 - ((고가-종가) *2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if MarketPosition == 1 and CrossDown(close,var1[back]) Then
ExitLong("손절1",AtMarket);
if MarketPosition == 1 and CrossUp(close,var3) Then
ExitLong("익절1",AtMarket);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if MarketPosition == -1 and CrossUp(close,var2[back]) Then
ExitShort("손절2",AtMarket);
if MarketPosition == -1 and CrossDown(close,var4) Then
ExitShort("익절2",AtMarket);
답변 1
예스스탁
예스스탁 답변
2023-02-20 10:34:36
안녕하세요
예스스탁입니다.
input: back(1),tri(2);
if MarketPosition == 1 Then
{
ExitLong("손절1",AtStop,L[BarsSinceEntry+back]);
ExitLong("익절1",AtLimit,avgEntryPrice+abs(AvgEntryPrice-L[BarsSinceEntry+back])*tri);
}
if MarketPosition == -1 Then
{
ExitShort("손절2",AtStop,H[BarsSinceEntry+back]);
ExitShort("익절2",AtLimit,avgEntryPrice-abs(AvgEntryPrice-H[BarsSinceEntry+back])*tri);
}
즐거운 하루되세요
> 마식 님이 쓴 글입니다.
> 제목 : 검토 부탁드립니다.
>
매수 진입 후
직전봉 저가 손절 / (진입평균가- 직전봉 저가) *2 + 진입평균가
매도 진입 후
직전봉 고가 손절 / 진입평균가 - (진전봉 고가 - 진입평균가)*2
매수, 매도 손절 익절의 손익비를 2:1로 하려고 수식을 만드었는데 백테스트상 잘 안됫요
혹시 무엇이 잘못된건지 수정쫌 부탁드립니다
////////////////////////////////////////////////////
input: back(1),tri(2);
var1 = low[BarsSinceEntry];
var2 = high[BarsSinceEntry];
Var5= close[BarsSinceEntry];
var3 = (( AvgEntryPrice- var1[back] ) *TRI) + AvgEntryPrice; //(종가-저가) + 저가
Var4 = AvgEntryPrice - ((var2[back] - AvgEntryPrice ) *TRI) ; // 종가 - ((고가-종가) *2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if MarketPosition == 1 and CrossDown(close,var1[back]) Then
ExitLong("손절1",AtMarket);
if MarketPosition == 1 and CrossUp(close,var3) Then
ExitLong("익절1",AtMarket);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if MarketPosition == -1 and CrossUp(close,var2[back]) Then
ExitShort("손절2",AtMarket);
if MarketPosition == -1 and CrossDown(close,var4) Then
ExitShort("익절2",AtMarket);