항상 도움주셔서 감사합니다.
지난번 문의 드린 내용인데 청산들 내용이 모호하다 하셔서
다시 내용수정하여 문의 드립니다.
아래의 조건에 맞는 시스템식 부탁드립다.
종목 : 해외선물
차트 : 1분봉
요청식1
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 일정 간격으로 1계약씩 추가 매수하고
- 불타기
매수진입 이후 가격이 하락하면 일정 간격으로 일정배수 만큼 추가 매수 합니다.
- 물타기(가격 하락시 일정배수로 매수)
불타기 청산은 포지션 전체수익이 일정 금액($) 이상 수익이면 청산(큰 금액으로 설정)
물타기 청산은 포지션 전체수익이 일정 금액($) 이상 수익이면 청산(작은금액으로 설정)
단, 불타기 진입의 경우 트레일링 스탑을 적용하고 싶습니다.
- 전체 포지션 수익금액에서 20$ 하락시 청산
아래와 같이 코딩했는데 제대로 안되는것 같습니다.
시스템식 수정 부탁드립니다.
input : Pst(1);
input : gap(20), tgap(20), pt(25), pt2(100), multi(0.7);
var : vol(0),vol2(0);
value1 = gap/PointValue;
value2 = tgap/PointValue; // 불타기 트레일링 스탑
value3 = pt/PointValue; //물타기 청산
value4 = pt2/PointValue; //불타기 청산
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
vol2 = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
vol = vol+Round(vol*multi,0);
vol2 = vol2+1;
Buy("upb",AtLimit,EntryPrice(0)+(PriceScale*value1)*MaxEntries,vol2);
Buy("dnb",AtLimit,EntryPrice(0)-(PriceScale*value1)*MaxEntries,vol);
exitlong("bx",AtLimit,EntryPrice(0)+PriceScale*Value3);
exitlong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
요청식2
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 일정 간격으로 1계약씩 추가 매수하고(불타기)
매수진입 이후 가격이 하락하면 일정 간격으로 1계약씩 추가 매수 합니다.(물타기)
불타기 매수청산은 포지션 전체수익이 일정금액($) 이상 수익(큰금액)이 나면 청산
단,불타기 진입의 경우 트레일링 스탑을 적용하고 싶습니다.
- 전체 포지션 수익금액에서 20$ 하락시 청산
물타기 진입의 경우 가격이 다시 일정금액(20$) 상승한 경우
진입한 계약별로 포지션 수익이 20$ 이상이면 개별 청산하고 싶습니다.
그러다가 가격이 다시 하락하면 다시 1계약씩 추가 진입합니다.
이런식으로 청산과 진입을 반복하다
현재 포지션 수익과 포지션 오픈이후 청산수익이 일정금액(20$) 이상 수익이면 물타기 전체 포지션을 청산합니다.
제가 올려드린 샘플 코딩을 바탕으로 시스템식 수정 부탁드립니다.
요청식3
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 처음 진입한 1계약만 유지하고
매수진입 이후 가격이 하락하면 일정 간격으로 1계약씩 추가 매수 합니다.(물타기)
매수청산은
가격이 상승한 경우 매수청산은 포지션 전체수익이 일정금액 ($) 이상 수익이 나면 청산합니다.
반대로 가격이 하락하여 물타기 진입한 경우
전체 계약수가 10계약 이내이면 포지션 전체수익이 일정금액($) 이상 수익이 나면 청산합니다.
단, 가격이 계속 하락하여 10계약 이상 진입이 필요한 경우
가격이 하락하여 추가로 진입 할때마다 처음 진입한 계약부터 1계약씩 손절(20$) 하고 싶습니다.
(1계약씩 추가 진입하고 1계약씩 추가 손절하기 때문에 계약수는 10계약씩 유지되다가,
가격이 상승하면 포지션 전체 수익이 일정금액($) 이상 수익이 나면 청산합니다.
제가 올려드린 샘플 코딩을 바탕으로 시스템식 수정 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2024-01-17 17:15:52
> 양치기 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 항상 도움주셔서 감사합니다.
지난번 문의 드린 내용인데 청산들 내용이 모호하다 하셔서
다시 내용수정하여 문의 드립니다.
아래의 조건에 맞는 시스템식 부탁드립다.
종목 : 해외선물
차트 : 1분봉
요청식1
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 일정 간격으로 1계약씩 추가 매수하고
- 불타기
매수진입 이후 가격이 하락하면 일정 간격으로 일정배수 만큼 추가 매수 합니다.
- 물타기(가격 하락시 일정배수로 매수)
불타기 청산은 포지션 전체수익이 일정 금액($) 이상 수익이면 청산(큰 금액으로 설정)
물타기 청산은 포지션 전체수익이 일정 금액($) 이상 수익이면 청산(작은금액으로 설정)
단, 불타기 진입의 경우 트레일링 스탑을 적용하고 싶습니다.
- 전체 포지션 수익금액에서 20$ 하락시 청산
아래와 같이 코딩했는데 제대로 안되는것 같습니다.
시스템식 수정 부탁드립니다.
input : Pst(1);
input : gap(20), tgap(20), pt(25), pt2(100), multi(0.7);
var : vol(0),vol2(0);
value1 = gap/PointValue;
value2 = tgap/PointValue; // 불타기 트레일링 스탑
value3 = pt/PointValue; //물타기 청산
value4 = pt2/PointValue; //불타기 청산
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
vol2 = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
vol = vol+Round(vol*multi,0);
vol2 = vol2+1;
Buy("upb",AtLimit,EntryPrice(0)+(PriceScale*value1)*MaxEntries,vol2);
Buy("dnb",AtLimit,EntryPrice(0)-(PriceScale*value1)*MaxEntries,vol);
exitlong("bx",AtLimit,EntryPrice(0)+PriceScale*Value3);
exitlong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
요청식2
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 일정 간격으로 1계약씩 추가 매수하고(불타기)
매수진입 이후 가격이 하락하면 일정 간격으로 1계약씩 추가 매수 합니다.(물타기)
불타기 매수청산은 포지션 전체수익이 일정금액($) 이상 수익(큰금액)이 나면 청산
단,불타기 진입의 경우 트레일링 스탑을 적용하고 싶습니다.
- 전체 포지션 수익금액에서 20$ 하락시 청산
물타기 진입의 경우 가격이 다시 일정금액(20$) 상승한 경우
진입한 계약별로 포지션 수익이 20$ 이상이면 개별 청산하고 싶습니다.
그러다가 가격이 다시 하락하면 다시 1계약씩 추가 진입합니다.
이런식으로 청산과 진입을 반복하다
현재 포지션 수익과 포지션 오픈이후 청산수익이 일정금액(20$) 이상 수익이면 물타기 전체 포지션을 청산합니다.
제가 올려드린 샘플 코딩을 바탕으로 시스템식 수정 부탁드립니다.
요청식3
매수조건
매수/매도 : 외부입력변수로 설정
매수진입 이후 가격이 상승하면 처음 진입한 1계약만 유지하고
매수진입 이후 가격이 하락하면 일정 간격으로 1계약씩 추가 매수 합니다.(물타기)
매수청산은
가격이 상승한 경우 매수청산은 포지션 전체수익이 일정금액 ($) 이상 수익이 나면 청산합니다.
반대로 가격이 하락하여 물타기 진입한 경우
전체 계약수가 10계약 이내이면 포지션 전체수익이 일정금액($) 이상 수익이 나면 청산합니다.
단, 가격이 계속 하락하여 10계약 이상 진입이 필요한 경우
가격이 하락하여 추가로 진입 할때마다 처음 진입한 계약부터 1계약씩 손절(20$) 하고 싶습니다.
(1계약씩 추가 진입하고 1계약씩 추가 손절하기 때문에 계약수는 10계약씩 유지되다가,
가격이 상승하면 포지션 전체 수익이 일정금액($) 이상 수익이 나면 청산합니다.
제가 올려드린 샘플 코딩을 바탕으로 시스템식 수정 부탁드립니다.
감사합니다.