안녕하세요.
하기와 같이 답변주신대로 잘 활용중이었는데요,
다만, 매도포지션이 매수신호에 의해 청산되고 매수진입되는 경우,(또는 그 반대)
는 원하는 손절과 익절이 발생하지 않음을 확인했습니다.
이런 경우 식을 어떻게 작성해야 할까요?
한봉내에서 매도청산 매수진입되니까
currentcontracts > currentcontracts[1] 부분이 수정되어야 할까요?
--------------------------------------
안녕하세요
예스스탁입니다.
강제청산은 동일진입은 최근 셋팅한 것으로만 모두 적용됩니다.
동일진입의 이름별로는 설정이 되지 않습니다.
피라미딩시 각 진입별로 손절을 하기 위해서는 exitlong함수로 풀어서 작성하셔야 합니다.
만약 동일진입명으로 여러번 피라미딩이 되면 해당 부분은 모두
추적해 해당진입만 청산하게 작성이 가능하지 않습니다.
if A조건 Then
Buy("A");
if B조건 Then
Buy("b");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if LatestEntryName(0) == "A" Then
var1 = LatestEntryPrice(0);
if LatestEntryName(0) == "B" Then
var2 = LatestEntryPrice(0);
}
if var1 > 0 Then
ExitLong("bx1",AtStop,var1*0.98,"A");
if var2 > 0 Then
ExitLong("bx2",AtStop,var2*0.97,"B");
}
Else
{
var1 = 0;
Var2 = 0;
}
즐거운 하루되세요
답변 1
예스스탁
예스스탁 답변
2023-04-03 09:30:12
안녕하세요
예스스탁입니다.
매도진입도 있어서 스위칭이 되는 경우이시면 아래와 같이
MarketPosition != MarketPosition[1] 조건을 추가해 주시면 됩니다.
if A조건 Then
Buy("A");
if B조건 Then
Buy("b");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] or MarketPosition != MarketPosition[1] Then
{
if LatestEntryName(0) == "A" Then
var1 = LatestEntryPrice(0);
if LatestEntryName(0) == "B" Then
var2 = LatestEntryPrice(0);
}
if var1 > 0 Then
ExitLong("bx1",AtStop,var1*0.98,"A");
if var2 > 0 Then
ExitLong("bx2",AtStop,var2*0.97,"B");
}
Else
{
var1 = 0;
Var2 = 0;
}
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 전력 스위칭시 손절 미적용
> 안녕하세요.
하기와 같이 답변주신대로 잘 활용중이었는데요,
다만, 매도포지션이 매수신호에 의해 청산되고 매수진입되는 경우,(또는 그 반대)
는 원하는 손절과 익절이 발생하지 않음을 확인했습니다.
이런 경우 식을 어떻게 작성해야 할까요?
한봉내에서 매도청산 매수진입되니까
currentcontracts > currentcontracts[1] 부분이 수정되어야 할까요?
--------------------------------------
안녕하세요
예스스탁입니다.
강제청산은 동일진입은 최근 셋팅한 것으로만 모두 적용됩니다.
동일진입의 이름별로는 설정이 되지 않습니다.
피라미딩시 각 진입별로 손절을 하기 위해서는 exitlong함수로 풀어서 작성하셔야 합니다.
만약 동일진입명으로 여러번 피라미딩이 되면 해당 부분은 모두
추적해 해당진입만 청산하게 작성이 가능하지 않습니다.
if A조건 Then
Buy("A");
if B조건 Then
Buy("b");
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if LatestEntryName(0) == "A" Then
var1 = LatestEntryPrice(0);
if LatestEntryName(0) == "B" Then
var2 = LatestEntryPrice(0);
}
if var1 > 0 Then
ExitLong("bx1",AtStop,var1*0.98,"A");
if var2 > 0 Then
ExitLong("bx2",AtStop,var2*0.97,"B");
}
Else
{
var1 = 0;
Var2 = 0;
}
즐거운 하루되세요