예스스탁
예스스탁 답변
2025-03-26 12:59:12
안녕하세요
예스스탁입니다.
매일 첫진입과 두번째 진입은 b1이나 s1이고
b2,b3,s2,s3는 세번째 부터 발생한다면
아래와 같이 첫지입과 두번째 진입의 청산식에도 이름을 지정해 주셔야 합니다.
if MarketPosition == 1 and IsEntryName("b1") == true Then
{
//매수진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls1,PointStop);
SetStopProfittarget(gl1,PointStop);
SetStopTrailing(tr1,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls3,PointStop);
SetStopProfittarget(gl3,PointStop);
SetStopTrailing(tr3,0,PointStop);
}
}
if MarketPosition == -1 and IsEntryName("s1") == true Then
{
//매도진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls2,PointStop);
SetStopProfittarget(gl2,PointStop);
SetStopTrailing(tr2,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls4,PointStop);
SetStopProfittarget(gl4,PointStop);
SetStopTrailing(tr4,0,PointStop);
}
}
if MarketPosition== 1 Then
{
if IsEntryName("b2") == true Then
{
SetStopLoss(bbls,PointStop);
SetStopProfittarget(bbgl,PointStop);
SetStopTrailing(bbtr,0,PointStop,1);
}
Else if IsEntryName("b3") == true Then
{
SetStopLoss(bsls,PointStop);
SetStopProfittarget(bsgl,PointStop);
SetStopTrailing(bstr,0,PointStop,1);
}
}
if MarketPosition== -1 Then
{
if IsEntryName("s2") == true Then
{
SetStopLoss(sbls,PointStop);
SetStopProfittarget(sbgl,PointStop);
SetStopTrailing(sbtr,0,PointStop,1);
}
Else if IsEntryName("s3") == true Then
{
SetStopLoss(ssls,PointStop);
SetStopProfittarget(ssgl,PointStop);
SetStopTrailing(sstr,0,PointStop,1);
}
}
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 진입명이 아래와 같습니다.
b1,b2,b3
s1,s2,s3
리버스 거래 때
b1,s1 (진입순서에 따라 손절구분)
고점돌파할 때 b2,b3
저점돌파할 때 s2,s3
위와 같이 진입할 때 아래 청산식을 작성했습니다.
하나의 거래수식에서 청산식을 이렇게 나열만 해도 되는지 살펴주십시요.
******************************************************************************
input : ls1(1),gl1(8.75),tr1(2);
input : ls4(1),gl4(6.75),tr4(2);
input : ls2(1),gl2(7.75),tr2(2);
input : ls3(1),gl3(2),tr3(2);
input : bbls(1),bbgl(999999),bbtr(1);
input : bsls(2),bsgl(999999),bstr(2.75);
input : sbls(3.25),sbgl(999999),sbtr(4.5);
input : ssls(1),ssgl(3.5),sstr(1);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 1 Then
{
//매수진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls1,PointStop);
SetStopProfittarget(gl1,PointStop);
SetStopTrailing(tr1,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls3,PointStop);
SetStopProfittarget(gl3,PointStop);
SetStopTrailing(tr3,0,PointStop);
}
}
Else if MarketPosition == -1 Then
{
//매도진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls2,PointStop);
SetStopProfittarget(gl2,PointStop);
SetStopTrailing(tr2,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls4,PointStop);
SetStopProfittarget(gl4,PointStop);
SetStopTrailing(tr4,0,PointStop);
}
}
if MarketPosition== 1 Then
{
if IsEntryName("b2") == true Then
{
SetStopLoss(bbls,PointStop);
SetStopProfittarget(bbgl,PointStop);
SetStopTrailing(bbtr,0,PointStop,1);
}
Else if IsEntryName("b3") == true Then
{
SetStopLoss(bsls,PointStop);
SetStopProfittarget(bsgl,PointStop);
SetStopTrailing(bstr,0,PointStop,1);
}
}
if MarketPosition== -1 Then
{
if IsEntryName("s2") == true Then
{
SetStopLoss(sbls,PointStop);
SetStopProfittarget(sbgl,PointStop);
SetStopTrailing(sbtr,0,PointStop,1);
}
Else if IsEntryName("s3") == true Then
{
SetStopLoss(ssls,PointStop);
SetStopProfittarget(ssgl,PointStop);
SetStopTrailing(sstr,0,PointStop,1);
}
}