커뮤니티

즉시청산/봉완성후 청산 수식 검토 부탁합니다.

프로필 이미지
이형지
2019-01-13 17:04:31
164
글번호 125227
답변완료

첨부 이미지

if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*100); } 이수식으로 하면 "설정창에 청산시점을 봉완성시"로 해도 위식으로 하면 가격 만족시 즉시 청산하는 결과로 나옴니다. (1조건) 여기에 다음의 조건을 넣고 싶었습니다. (2조건) 위 청산을 유지하지만 좀 낮더라도 봉완성후 조건 만족시에도 청산하는 수식을 만들고 싶었습니다. 1조건: 100tick 도달시 즉시 청산 2조건: 80tick - 100tick 사이에서 봉완성시 청산 그것에 대한 수식을 다음과 같이 넣었습니다. if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); ExitLong("봉완성익절",OnClose,EntryPrice+PriceScale*80); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*100); ExitLong("봉완성손절",OnClose,EntryPrice-PriceScale*80); } 그랬는데 제의도와 다르게 청산 결과 가 나옵니다. 1조건은 맞게 나오는데(100틱 청산) 2조건은 (3틱에서 10틱까지 청산) 이상하게 나와요.. 제의도되로 수식 수정 부탁드려요`~~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-14 14:26:04

안녕하세요 예스스탁입니다. 1 강제청산탭의 청산시점은 강제청산에 해당 하는 옵션입니다. SetStopLoss SetStopProfittarget SetStopTrailing SetStopInactivity SetStopEndofday 설정창에서 강제청산을 지정하거나 수식안에서 강제청산함수를 사용해서 발생하는 청산신호는 해당 옵션이 적용됩니다. 2 exitlong이나 exitshort으로 구현한 청산은 모두 일반청산입니다. 3 atstop,atlimit 신호타입만 뒤에 가격을 지정할수 있습니다. onclose,atmarket은 봉완성시에 신호가 발생하는 타입으로 if문으로 조건을 지정합니다. if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); if C >= EntryPrice+PriceScale*80 Then ExitLong("봉완성익절"); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*100); if c <= EntryPrice-PriceScale*80 Then ExitLong("봉완성손절"); } 즐거운 하루되세요 > 이형지 님이 쓴 글입니다. > 제목 : 즉시청산/봉완성후 청산 수식 검토 부탁합니다. > if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*100); } 이수식으로 하면 "설정창에 청산시점을 봉완성시"로 해도 위식으로 하면 가격 만족시 즉시 청산하는 결과로 나옴니다. (1조건) 여기에 다음의 조건을 넣고 싶었습니다. (2조건) 위 청산을 유지하지만 좀 낮더라도 봉완성후 조건 만족시에도 청산하는 수식을 만들고 싶었습니다. 1조건: 100tick 도달시 즉시 청산 2조건: 80tick - 100tick 사이에서 봉완성시 청산 그것에 대한 수식을 다음과 같이 넣었습니다. if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); ExitLong("봉완성익절",OnClose,EntryPrice+PriceScale*80); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*100); ExitLong("봉완성손절",OnClose,EntryPrice-PriceScale*80); } 그랬는데 제의도와 다르게 청산 결과 가 나옵니다. 1조건은 맞게 나오는데(100틱 청산) 2조건은 (3틱에서 10틱까지 청산) 이상하게 나와요.. 제의도되로 수식 수정 부탁드려요`~~