커뮤니티

문의 드립니다

프로필 이미지
아틀라스
2011-11-18 13:59:16
507
글번호 44917
답변완료
수고가 많으십니다. if MarketPosition == 1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99); 상기식을 아래와 같이 일부 변경하여 사용 가능한지 궁급합니다. if MarketPosition == 1 and c < ma(c,20) and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); 그리고 피라미딩에서 각 진입의 최고가 및 진입가격이 다를 때는 어떻게 각 진입별로 최고가 및 진입가격을 확인할 수 있나요? 감사합니다. 안녕하세요 예스스탁입니다. if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } bx5의 값이 잘못작성이 되어 수정했습니다. 시스템에서 사용되는 모든 진입관련 함수는 피라미딩상 첫진입을 기준으로 합니다. ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); 은 첫진입이후 최고가에서 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. ExitLong("bx5",AtStop,EntryPrice*0.99); 은 진입가 대비 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-18 14:46:04

안녕하세요 예스스탁입니다. 1. if MarketPosition == 1 and c < ma(c,20) and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); 와 같이 사용하실 수는 있지만 if MarketPosition == 1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99); 와는 다른 내용입니다 if MarketPosition == 1 and c < ma(c,20) and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); 위식은 종가가 20이평 밑에 있고 종가가 진입이후 최고가에서 1%이상 하락한 봉이 생기면 해당 봉의 종가보다 다음봉의 시세가 아래에 위치하면 청산한다는 식입니다. 2, if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } 피라미딩에서 각 진입별로 위 내용을 구현하고자 하시면 강제청산함수를 이용하시면 간단하게 작성하실 수 있습니다. 분할 청산은 진입의 내용을 파악하고 해당 내용에 맞추어 식을 작성해야 하므로 수식으로 풀어서 구현하기 위해서는 완전한 진입식이 있어야 작성이 가능합니다. 피라미딩하는 식의 각 진입별로 경우의 수에 맞게 식을 작성해야 하고 atstop이나 atlimit으로 진입할경우에는 봉미완성시에 진입하므로 진입가격등을 정확히 지정할 수 없을 경우도 있어 추가진입이 있는 봉의 종가등을 사용하면 차이가 발생합니다. 아래와 같이 작성하시면 피라미딩 상 각 진입별로 진입이후 한틱이라도 수익이 발생한 후에 진입이후 최고가 대비 1% 하락하면 청산하고 진입별로 진입가에서 1%하락하면 청산합니다. SetStopTrailing(1,0.00001,PercentStop,1); SetStopLoss(1); 즐거운 하루되세요 > 아틀라스 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 수고가 많으십니다. if MarketPosition == 1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99); 상기식을 아래와 같이 일부 변경하여 사용 가능한지 궁급합니다. if MarketPosition == 1 and c < ma(c,20) and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); 그리고 피라미딩에서 각 진입의 최고가 및 진입가격이 다를 때는 어떻게 각 진입별로 최고가 및 진입가격을 확인할 수 있나요? 감사합니다. 안녕하세요 예스스탁입니다. if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } bx5의 값이 잘못작성이 되어 수정했습니다. 시스템에서 사용되는 모든 진입관련 함수는 피라미딩상 첫진입을 기준으로 합니다. ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); 은 첫진입이후 최고가에서 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. ExitLong("bx5",AtStop,EntryPrice*0.99); 은 진입가 대비 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. 즐거운 하루되세요