커뮤니티

시스템식 수정 문의

프로필 이미지
노인
2019-10-16 10:01:24
275
글번호 132819
답변완료

첨부 이미지

제가 문의했던 내용에 대해 이렇게 답을 주셨습니다. > 노인 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 직전 N개의 캔들 중에서 최대값, 최저값을 박스권으로 설정하여 매매하는 전략입니다. 시스템식 구현을 부탁드립니다. //매도 직전 N개의 캔들의 '최대값'을 터치하는 경우 시장가 매도 //매수 직전 N개의 캔들의 '최소값'을 터치하는 경우 시장가 매수 //청산 직전 N개의 캔들의 (최대값-최소값)/M 만큼의 크기(박스권 크기의 반)로 익절 손절 설정. N과 M은 변수로 조절할 수 있도록 해주세요. input : n(10),MM(3); var1 = highest(H,n); var2 = lowest(L,n); if MarketPosition >= 0 Then sell("s",AtStop,var1); if MarketPosition <= 0 Then Buy("b",AtStop,var2); if MarketPosition == 1 Then { ExitLong("bp",AtLimit,EntryPrice+(var1-var2)/MM); ExitLong("bl",AtStop,EntryPrice-(var1-var2)/MM); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,EntryPrice-(var1-var2)/MM); ExitShort("sl",AtStop,EntryPrice+(var1-var2)/MM); } 실제로 적용해 보니, 원하는 대로 신호가 나오지 않고, 매 봉마다 매수매도가 나오는 현상이 있었습니다. 제가 원하는 형태에 관한 그림을 첨부합니다. n개의 봉 구간을 설정하고, 그림의 화살표와 같이 매수와 매도가 생성되는 로직이었으면 합니다. 지난번 올려주신 수식에서 어떤식으로 수정을 해야 할지 첨삭 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-10-17 11:11:29

안녕하세요 예스스탁입니다. 수식의 신호타입을 잘못 지정해 드렸습니다. 수정한 식입니다. 올려주신 내용상 진입후 손절되고 해당 봉의 가격이 최고가와 최저가를 갱신하고 있으면 손절봉에서 또 진입을 할수 있습니다. 이용에 참고하시기 바랍니다. input : n(10),MM(3); var1 = highest(H,n); var2 = lowest(L,n); if MarketPosition >= 0 Then sell("s",AtLimit,var1); if MarketPosition <= 0 Then Buy("b",Atlimit,var2); if MarketPosition == 1 Then { ExitLong("bp",AtLimit,EntryPrice+(var1-var2)/MM); ExitLong("bl",AtStop,EntryPrice-(var1-var2)/MM); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,EntryPrice-(var1-var2)/MM); ExitShort("sl",AtStop,EntryPrice+(var1-var2)/MM); } 즐거운 하루되세요 > 노인 님이 쓴 글입니다. > 제목 : 시스템식 수정 문의 > 제가 문의했던 내용에 대해 이렇게 답을 주셨습니다. > 노인 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 직전 N개의 캔들 중에서 최대값, 최저값을 박스권으로 설정하여 매매하는 전략입니다. 시스템식 구현을 부탁드립니다. //매도 직전 N개의 캔들의 '최대값'을 터치하는 경우 시장가 매도 //매수 직전 N개의 캔들의 '최소값'을 터치하는 경우 시장가 매수 //청산 직전 N개의 캔들의 (최대값-최소값)/M 만큼의 크기(박스권 크기의 반)로 익절 손절 설정. N과 M은 변수로 조절할 수 있도록 해주세요. input : n(10),MM(3); var1 = highest(H,n); var2 = lowest(L,n); if MarketPosition >= 0 Then sell("s",AtStop,var1); if MarketPosition <= 0 Then Buy("b",AtStop,var2); if MarketPosition == 1 Then { ExitLong("bp",AtLimit,EntryPrice+(var1-var2)/MM); ExitLong("bl",AtStop,EntryPrice-(var1-var2)/MM); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,EntryPrice-(var1-var2)/MM); ExitShort("sl",AtStop,EntryPrice+(var1-var2)/MM); } 실제로 적용해 보니, 원하는 대로 신호가 나오지 않고, 매 봉마다 매수매도가 나오는 현상이 있었습니다. 제가 원하는 형태에 관한 그림을 첨부합니다. n개의 봉 구간을 설정하고, 그림의 화살표와 같이 매수와 매도가 생성되는 로직이었으면 합니다. 지난번 올려주신 수식에서 어떤식으로 수정을 해야 할지 첨삭 부탁드립니다.