커뮤니티

수식요청드립니다

프로필 이미지
234fsdae
2022-11-24 15:34:46
904
글번호 164131
답변완료
if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice*revenue Then { value1 = CurrentContracts; Value2 = value1/8; ExitLong("bx1",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx3",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx4",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx5",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx6",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx7",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx8",AtStop,highest(H,BarsSinceEntry)*0.99,"",value1-(Value2*7),1); } } 이거 계약기준은 작동하는데 고정자산기준으로 설정하면 작동이 안됩니다ㅜ 고정자산기준으로 작동되게 정정부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-11-25 11:42:03

안녕하세요 예스스탁입니다. 수식 CurrentContracts는 현재 진입된 수량입니다. 별도로 고정수량이나 고정자산을 구분해서 수량을 받지는 않습니다. 소숫점 자리수에 따라 잔량이 남을 수 있어 다른 방법으로 작성해 드립니다. 첨부된 그림과 같이 신호가 발생합니다. 첨부된 그림은 신호를 보기 위해 2번식으로 적용한 식입니다. 1 if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice*revenue Then { value1 = CurrentContracts; Value2 = value1/8; Value3 = 0; ExitLong("bx1",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx3",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx4",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx5",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx6",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx7",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx8",AtStop,highest(H,BarsSinceEntry)*0.99,"",value1-3,1); } } 2 if sDate == 20221125 Then { if sTime >= 103000 and sTime < 110000 Then Buy("b"); } if MarketPosition == 1 Then { if sTime > 110000 and CrossDown(c,ma(c,20)) Then { value1 = CurrentContracts; Value2 = value1/8; Value3 = 0; ExitLong("bx1",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx2",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx3",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx4",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx5",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx6",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx7",OnClose,Def,"",Value2,1); Value3 = Value3+Value2; ExitLong("bx8",OnClose,Def,"",value1-value3,1); } } 즐거운 하루되세요 > 234fsdae 님이 쓴 글입니다. > 제목 : 수식요청드립니다 > if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice*revenue Then { value1 = CurrentContracts; Value2 = value1/8; ExitLong("bx1",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx3",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx4",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx5",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx6",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx7",AtStop,highest(H,BarsSinceEntry)*0.99,"",Value2,1); ExitLong("bx8",AtStop,highest(H,BarsSinceEntry)*0.99,"",value1-(Value2*7),1); } } 이거 계약기준은 작동하는데 고정자산기준으로 설정하면 작동이 안됩니다ㅜ 고정자산기준으로 작동되게 정정부탁드립니다