커뮤니티
수익 마진 체크
2017-12-19 23:52:28
101
글번호 115118
안녕하세요.
수익이 나는 시점부터 정해진 Margin율(%)만큼 줄어들 때 청산하는 로직을 구현하고 싶습니다.
아래와 같이 구현해보았으나 MessageLog를 찍어보면 변수 PT값이 '0'으로 찍혀 나와서 의도한 대로 청산되지 않네요.
검토 후 수정 부탁드리겠습니다.
감사합니다.
Input: Margin(0.85);
Var: OP(0), PT(0);
OP = OpenPositionProfit;
// Margin Trailing
PT = OP * PriceScale * Margin;
(ProfitPoint1,2와 LossPoint1,2는 위에 선언되었다고 가정)
// 진입한 시점의 가격부터 목표수익까지 체크
Aplus = EntryPrice + ProfitPoint1;
Aminus = EntryPrice - ProfitPoint1;
BPlus = EntryPrice + ProfitPoint2;
Bminus = EntryPrice - ProfitPoint2;
// 수익이 나는 시점부터 Margin만큼의 수익으로 줄어드는 시점까지 체크
MarginExL = EntryPrice + PT;
MarginExS = EntryPrice - PT;
// 매수 추적 청산 1
If Close > Aplus Then
{
ExitLong("Ext_Buy", AtStop, MarginExL);
}
// 매도 추적 청산 1
If Close < Aminus Then
{
ExitShort("Ext_Sell", AtStop, MarginExS);
}
// 매수 추적 청산 2
If Close > BPlus Then
{
ExitLong("Ext_Buy", AtStop, MarginExL);
}
// 매도 추적 청산 2
If Close < Bminus Then
{
ExitShort("Ext_Sell", AtStop, MarginExS);
}
답변 1
예스스탁 예스스탁 답변
2017-12-20 15:36:03
안녕하세요
예스스탁입니다.
어떤 내용의 수식을 구현하고자 하시는지 올리신 내용만으로는 판단하기 어렵습니다.
OP = OpenPositionProfit;
PT = OP * PriceScale * Margin;
PT가 어떤 의미의 계산식인지 모르겠습니다.
올려주신 내용이
매수진입이후 aplus이상 수익이 발생했었고 이후에 수익이 15% 수익이 감소할때 청산
매수진입이후 aminus이상 수익이 발생했었고 이후에 수익이 15% 수익이 감소할때 청산
이면 아래와 같이 식 작성하시면 됩니다.
a만 올려드립니다.
Input: Margin(0.85);
Var: Aplus(0), Aminus(0);
If highest(H,BarsSinceEntry) >= Aplus Then
{
ExitLong("Ext_Buy", AtStop,EntryPrice+(highest(h,BarsSinceEntry)-EntryPrice)*margin);
}
If lowest(L,BarsSinceEntry) < Aminus Then
{
ExitShort("Ext_Sell", AtStop, EntryPrice-(EntryPrice-lowest(l,BarsSinceEntry))*margin);
}
즐거운 하루되세요
> gap 님이 쓴 글입니다.
> 제목 : 수익 마진 체크
> 안녕하세요.
수익이 나는 시점부터 정해진 Margin율(%)만큼 줄어들 때 청산하는 로직을 구현하고 싶습니다.
아래와 같이 구현해보았으나 MessageLog를 찍어보면 변수 PT값이 '0'으로 찍혀 나와서 의도한 대로 청산되지 않네요.
검토 후 수정 부탁드리겠습니다.
감사합니다.
Input: Margin(0.85);
Var: OP(0), PT(0);
OP = OpenPositionProfit;
// Margin Trailing
PT = OP * PriceScale * Margin;
(ProfitPoint1,2와 LossPoint1,2는 위에 선언되었다고 가정)
// 진입한 시점의 가격부터 목표수익까지 체크
Aplus = EntryPrice + ProfitPoint1;
Aminus = EntryPrice - ProfitPoint1;
BPlus = EntryPrice + ProfitPoint2;
Bminus = EntryPrice - ProfitPoint2;
// 수익이 나는 시점부터 Margin만큼의 수익으로 줄어드는 시점까지 체크
MarginExL = EntryPrice + PT;
MarginExS = EntryPrice - PT;
// 매수 추적 청산 1
If Close > Aplus Then
{
ExitLong("Ext_Buy", AtStop, MarginExL);
}
// 매도 추적 청산 1
If Close < Aminus Then
{
ExitShort("Ext_Sell", AtStop, MarginExS);
}
// 매수 추적 청산 2
If Close > BPlus Then
{
ExitLong("Ext_Buy", AtStop, MarginExL);
}
// 매도 추적 청산 2
If Close < Bminus Then
{
ExitShort("Ext_Sell", AtStop, MarginExS);
}
다음글
이전글