일정기간 신고가를 달성하면 매수하고,
이전 진입가에서 일정비율 이상 상승하면 쭉 피라미딩하되,
피라미딩 하면서 점점 매수금액을 줄이는 진입 전략입니다
피라미딩 하는 부분 문의드립니다 ㅠ
일봉차트, onclose로 매수입니다.
input : invest_money(10000000),new_high(120), cut_ratio(0.9);
// 120일 신고가면 매수, 0.9 비율로 점점 투자 금액을 줄임
var : ex_money(0);
// 직전 매수 금액(=직전 매수 수량 * 직전 매수 가격)
if MarketPosition == 0 and c > highest(c, new_high)[1] Then
{
Buy("신고가 진입", OnClose, Def, Floor(invest_money/C));
}
if MarketPosition == 1 and c > LatestEntryPrice(0)*(1.1+(MaxEntries/100)) Then
{
if CurrentContracts > CurrentContracts[1] Then
ex_money = LatestEntryPrice(0) * ( CurrentContracts-CurrentContracts[1] ) ;
//이전매수금액 = 직전매수가격 * 직전거래수량(=현재보유수량 - 직전보유수량)
Buy("피라미딩", OnClose, Def, Floor( (ex_money*cut_ratio) / c ) );
//이전 매수금액의 90%만큼만 매수금액으로 설정하고, 종가로 나눠서 수량 구하기
}
로 만들었는데, 첫 진입은 되는데, 피라미딩이 안됩니다 ㅠ 검토 한번 부탁드리겠습니다...!
답변 1
예스스탁
예스스탁 답변
2022-12-13 14:28:18
안녕하세요
예스스탁입니다.
if MarketPosition == 1 and c > LatestEntryPrice(0)*(1.1+(MaxEntries/100)) Then
{
if CurrentContracts > CurrentContracts[1] Then
위 내용때문에 추가진입이 발생하지 못했습니다.
위 내용이면 종가가 직전진입가대비 11% 상승한 봉과
CurrentContracts > CurrentContracts[1] 조건만족한 봉이 동일봉이어야 합니다.
첫진입발생과 11% 상승한봉과는 시차가 있으므로
아래와 같이 수정하시면 됩니다.
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
ex_money = LatestEntryPrice(0)*(CurrentContracts-CurrentContracts[1]);
if c > LatestEntryPrice(0)*(1.1+(MaxEntries/100)) Then
Buy("피라미딩", OnClose, Def, Floor((ex_money*cut_ratio)/ c));
}
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : 시스템 문의입니다
> 일정기간 신고가를 달성하면 매수하고,
이전 진입가에서 일정비율 이상 상승하면 쭉 피라미딩하되,
피라미딩 하면서 점점 매수금액을 줄이는 진입 전략입니다
피라미딩 하는 부분 문의드립니다 ㅠ
일봉차트, onclose로 매수입니다.
input : invest_money(10000000),new_high(120), cut_ratio(0.9);
// 120일 신고가면 매수, 0.9 비율로 점점 투자 금액을 줄임
var : ex_money(0);
// 직전 매수 금액(=직전 매수 수량 * 직전 매수 가격)
if MarketPosition == 0 and c > highest(c, new_high)[1] Then
{
Buy("신고가 진입", OnClose, Def, Floor(invest_money/C));
}
if MarketPosition == 1 and c > LatestEntryPrice(0)*(1.1+(MaxEntries/100)) Then
{
if CurrentContracts > CurrentContracts[1] Then
ex_money = LatestEntryPrice(0) * ( CurrentContracts-CurrentContracts[1] ) ;
//이전매수금액 = 직전매수가격 * 직전거래수량(=현재보유수량 - 직전보유수량)
Buy("피라미딩", OnClose, Def, Floor( (ex_money*cut_ratio) / c ) );
//이전 매수금액의 90%만큼만 매수금액으로 설정하고, 종가로 나눠서 수량 구하기
}
로 만들었는데, 첫 진입은 되는데, 피라미딩이 안됩니다 ㅠ 검토 한번 부탁드리겠습니다...!