커뮤니티

재질문 드립니다.

프로필 이미지
맘속의행복
2025-11-18 11:18:51
48
글번호 228152
답변완료

안녕하세요. 지난 주에 주신 답변 내용으로 시도를 해봤는데, 원하는 결과가 나오지 않고 있습니다. 또한, 매수신호인데 "if MarketPosition <= 0 Then"이라는 조건식이 맞는건지 확인부탁드리고 싶습니다. 감사합니다
아래는 제 질문과 답변에 주신 내용입니다. ------------------------------------------ 저는 가장 기본적인 청산식으로 아래와 같은 함수를 사용합니다. Buy("매수", OnClose, Def, 3); ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 그런데 이 청산 방식은 신호 발생한 캔들 바로 다음 캔들 에서는 실행되지 않고, 2번째 캔들 이후부터 실행이 됩니다. 2번째가 아닌 1번째 캔들에서 실행되게 할 수 있는지 여쭤봅니다. 감사합니다 ------------------------------------------ 안녕하세요 예스스탁입니다. 진입이 onclose이므로 EntryPrice나 MarketPosition 그다음봉 완성시부터 사용이 가능합니다. 아래와 같이 처리하시면 진입신호 다음봉에서 청산신호를 내실수 있습니다 if MarketPosition <= 0 Then ExitLong("매수익절1.", Atlimit,C + PriceScale*10, "매수", 1, 1); Else ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 즐거운 하루되세요

사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-11-18 16:21:00

안녕하세요 예스스탁입니다. 작성해 드린 내용이 맞습니다. Buy("매수", OnClose, Def, 3); 진입이 onclose타입입니다. onclose는 봉완성시(다음봉시가수신)에 신호가 완성봉 종가에 발생합니다. 신호봉 다음봉 완성시부터 iMarketPosition이 1이고 entryprice 를 사용할 수 있으므로 기존식으로는 신호봉 다음다음봉부터 신호가 발생한것이 었습니다. 작성해 드린 수식은 무포지션이거나 매도포지션일 때 종가+10틱으로 Atlimit 매수청산을 셋팅하고 봉완성시 매수진입신호가 발생하면 exitlong이 발생할 수 있으므로 다음봉에서 완성봉 종가보다 10틱 이상의 시세가 발생하면 즉시 청산하게 작성한 내용입니다. 진입봉 다음다음봉 부터는 아래 내용이 적용됩니다. ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 만약 강제청산을 사용하지 않는 별도의 이유가 있지 않으시면 익절 강제청산함수를 사용하시면 됩니다. SetStopProfittarget(PriceScale*10,PointStop); 즐거운 하루되세요