커뮤니티
피라미딩 손절 관련
2018-10-11 14:55:38
213
글번호 122618
아래는 input으로 설정한 손절과 피라미딩 수식입니다.
현재 수식으로 3개까지 피라미딩이 진입하였을 때
손절이 진행되면
첫번째,두번째,세번째의 진입시간과 진입지점은 다르지만
손절되는 시간과 지점은 같습니다.
즉, 두번째,세번째 진입도 첫번째 손절지점까지 온 후 동시에 청산됩니다.
문의) 익절과 트레일링스탑은 피라미딩시 누적된 포지션이 동시에 청산되는 게 장점이지만
손절은 순차적으로 적용되었으면 합니다.
첫번째 진입의 손절이 74라면 두번째 피라미딩 진입도 진입지점부터 74,
세번째 진입도 진입지점부터 74가 적용되게 하고 싶습니다.
즉, 진입 역순으로 74가 적용되면서 순차적으로 포지션이 청산되는 수식을 요청합니다.
*****************************************************************
input : up손절(74),up익절(192),upTR(130);
input : dn손절(74),dn익절(180),dnTR(110);
input : uppyra(0.20),upN(3) ;
input : dnpyra(0.20),dnN(3) ;
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*up손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*up익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*upTR);
}
if MarketPosition == -1 then
{
ExitShort("sl1",AtStop,EntryPrice+pricescale*dn손절);
ExitShort("sp1",AtLimit,EntryPrice-pricescale*dn익절);
ExitShort("str1",AtStop,Lowest(l,BarsSinceEntry)+pricescale*dnTR);
}
if MarketPosition == 1 and MaxContracts < upN Then
buy("bb",AtStop,LatestEntryPrice(0)+upPyra);
if MarketPosition == -1 and MaxContracts < dnN Then
sell("ss",AtStop,LatestEntryPrice(0)-dnPyra);
답변 1
예스스탁 예스스탁 답변
2018-10-11 17:21:52
안녕하세요
예스스탁입니다.
손절을 진입별로 지정하기 위해서는
강제청산함수로 지정하시면 됩니다.
input : up손절(74),up익절(192),upTR(130);
input : dn손절(74),dn익절(180),dnTR(110);
input : uppyra(0.20),upN(3) ;
input : dnpyra(0.20),dnN(3) ;
if MarketPosition == 1 then
{
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*up익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*upTR);
}
if MarketPosition == -1 then
{
ExitShort("sp1",AtLimit,EntryPrice-pricescale*dn익절);
ExitShort("str1",AtStop,Lowest(l,BarsSinceEntry)+pricescale*dnTR);
}
if MarketPosition == 1 Then
SetStopLoss(PriceScale*up손절,PointStop);
else if MarketPosition == -1 Then
SetStopLoss(PriceScale*dn손절,PointStop);
Else
SetStopLoss(0);
if MarketPosition == 1 and MaxContracts < upN Then
buy("bb",AtStop,LatestEntryPrice(0)+upPyra);
if MarketPosition == -1 and MaxContracts < dnN Then
sell("ss",AtStop,LatestEntryPrice(0)-dnPyra);
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 피라미딩 손절 관련
> 아래는 input으로 설정한 손절과 피라미딩 수식입니다.
현재 수식으로 3개까지 피라미딩이 진입하였을 때
손절이 진행되면
첫번째,두번째,세번째의 진입시간과 진입지점은 다르지만
손절되는 시간과 지점은 같습니다.
즉, 두번째,세번째 진입도 첫번째 손절지점까지 온 후 동시에 청산됩니다.
문의) 익절과 트레일링스탑은 피라미딩시 누적된 포지션이 동시에 청산되는 게 장점이지만
손절은 순차적으로 적용되었으면 합니다.
첫번째 진입의 손절이 74라면 두번째 피라미딩 진입도 진입지점부터 74,
세번째 진입도 진입지점부터 74가 적용되게 하고 싶습니다.
즉, 진입 역순으로 74가 적용되면서 순차적으로 포지션이 청산되는 수식을 요청합니다.
*****************************************************************
input : up손절(74),up익절(192),upTR(130);
input : dn손절(74),dn익절(180),dnTR(110);
input : uppyra(0.20),upN(3) ;
input : dnpyra(0.20),dnN(3) ;
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*up손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*up익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*upTR);
}
if MarketPosition == -1 then
{
ExitShort("sl1",AtStop,EntryPrice+pricescale*dn손절);
ExitShort("sp1",AtLimit,EntryPrice-pricescale*dn익절);
ExitShort("str1",AtStop,Lowest(l,BarsSinceEntry)+pricescale*dnTR);
}
if MarketPosition == 1 and MaxContracts < upN Then
buy("bb",AtStop,LatestEntryPrice(0)+upPyra);
if MarketPosition == -1 and MaxContracts < dnN Then
sell("ss",AtStop,LatestEntryPrice(0)-dnPyra);