커뮤니티

문의

프로필 이미지
목마와숙녀
2025-03-26 11:43:29
341
글번호 189568
답변완료
진입명이 아래와 같습니다. 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); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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); } }