답변완료
피라미딩별 손절_오류
안녕하세요.
아래 답변(피라미딩별 손절 각각 적용)을 잘 활용하고 있었는데요.
다른 2개의 진입이 동일한 분봉에서 발생하는 경우에는 아래 손절이 작동하지 않는것 같습니다. lastestentry가 불분명해져서 그런것 같습니다만,
혹시 동일한 분봉에서 진입해도 적용할 방법이 있을까요?
---------------------------------------
안녕하세요
예스스탁입니다.
강제청산은 한번 셋팅이 되면 해당 설정 하나로 유지됩니다.
진입명 별로 설정을 달리 하신다면 강제청산함수로 가능하지 않습니다.
일반청산 함수로 아래와 같이 풀어서 작성하셔야 합니다.
var : SP1(0),SP2(0);
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if LatestEntryName(0) == "매도1" Then
SP1 = LatestEntryPrice(0);
if LatestEntryName(0) == "매도2" Then
SP2 = LatestEntryPrice(0);
}
if SP1 > 0 Then
ExitShort("slx1",AtStop,SP1*(1+cut1/100),"매도1");
if SP2 > 0 Then
{
ExitShort("slx2",AtStop,SP2*(1+cut2/100),"매도2");
ExitShort("spx2",AtLimit,SP2*(1-gain/100),"매도2");
}
}
Else
{
SP1 = 0;
SP2 = 0;
}
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 피라미딩 손절 개별로
> 진입별 손절을 다르게 하고싶습니다.
피라미빙 허용해서 매도1, 매도2 를 진입하도록 하였고
각각 다른 손절이 적용하려고 아래와 같이 작성했는데,
당일에 매도1이 먼저 진입하면, CUT1만 작동하고, 매도2가 먼저 진입하면 CUT2만 작동하는것 같습니다. 어떻게 수정하면 될까요?
-----------------------
IF
{...}
else if Marketposition() == -1 then{
if IsEntryName("매도1") == true Then
SetStopLoss(cut1,PercentStop);
Else if IsEntryName("매도2") == true Then
{
SetStopLoss(cut2,PercentStop);
SetStopProfittarget(gain,PercentStop);
}
Else
SetStopLoss(0);
}
else{
SetStopProfittarget(0); /*0을 쓰면 작동안한다는 뜻임*/
setstoploss(0);
}
2023-02-28
1123
글번호 166771
시스템