커뮤니티
시스템식 수정 문의
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. 133436_박스권.png (0.12 MB)
답변 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개의 봉 구간을 설정하고, 그림의 화살표와 같이 매수와 매도가 생성되는 로직이었으면 합니다.
지난번 올려주신 수식에서 어떤식으로 수정을 해야 할지 첨삭 부탁드립니다.