커뮤니티
피라미딩 매수를 추가하려고 합니다.
2013-11-25 23:13:57
193
글번호 69801
데이트레이딩으로 하려고 합니다. 현재 한 번에 한 계약만 매수가 되는데
1. 한 계약을 매수나 매도로 진입 후
진입가격에서 1.0 포인트 수익 중일 경우 같은 방향 한 계약 추가
진입가격에서 1.5 포인트 수익 중일 경우 같은 방향 또 한 계약 추가
진입가격에서 2.0 포인트 수익 중일 경우 같은 방향 또 한 계약 추가
총 4계약까지 진입하고, 청산은 한 번에 같이 하고 싶습니다.
2. 하루에 청산은 총 4번까지만 하고 싶습니다. 피라미딩이 들어가면 진입은 나누어서 하고 청산은 한 번에 하는데, 하루안에는 휩쏘로 손절하더라도 4번 까지만 하고 싶습니다.
항상 깊이 감사드립니다.... (__)
// 변수 정의
input : Atrp(15),진입곱(3), 전날ATR이하진입(4),박스기간(15),하루진입횟수(4);
var : ATRch(0), posHigh(0), posLow(0),cnt(0) , count(0);
// 고가 , 저가 , ATR 계산
PosHigh = Highest(H,박스기간);
PosLow = Lowest(L,박스기간);
ATRch = ATR(Atrp) * 진입곱;
/////////////////////////////////////////////////////// 진입
# 진입횟수
count = 0;
for cnt = 0 to 10
{
if sdate == EntryDate(cnt) Then
count = count+1;
};
# 진입조건
If stime < 120000
and count < 하루진입횟수
and Abs(DayHigh(1)-daylow(1)) < 전날ATR이하진입
then
{
if CrossUp(C, PosLow + ATRch) Then
buy();
if CrossDown(C, PosHigh - ATRch) then
sell();
};
///////////////////////////////////////////////////////// 청산
If MarketPosition == 1 Then
ExitLong("매수끝", AtStop, PosHigh - ATRch);
If MarketPosition == -1 Then
ExitShort("매도끝", AtStop, PosLow + ATRch);
SetStopEndofday(144920);
SetStopLoss(1);
답변 1
예스스탁 예스스탁 답변
2013-11-27 10:34:28
안녕하세요
예스스탁입니다.
추가진입을 하시므로 시스템 트레이딩 설정창의
피라미딩 탭에서 "다른진입신호만허용"으로 설정하고 적용하시면 됩니다.
손절매 SetStopLoss(1);는 각 진입별로 발동을 하므로
최초진입가격대비 1% 손실날때 일괄 청산을 해야 하므로
강제청산함수가 아닌 일반청산함수로 작성해야 합니다.
아래에 해당 내용 포함이 되었습니다.
// 변수 정의
input : Atrp(15),진입곱(3), 전날ATR이하진입(4),박스기간(15),하루진입횟수(4);
var : ATRch(0), posHigh(0), posLow(0),cnt(0) , count(0);
// 고가 , 저가 , ATR 계산
PosHigh = Highest(H,박스기간);
PosLow = Lowest(L,박스기간);
ATRch = ATR(Atrp) * 진입곱;
/////////////////////////////////////////////////////// 진입
# 진입횟수
count = 0;
for cnt = 0 to 10
{
if sdate == EntryDate(cnt) Then
count = count+1;
};
# 진입조건
If stime < 120000
and count < 하루진입횟수
and Abs(DayHigh(1)-daylow(1)) < 전날ATR이하진입
then
{
if MarketPosition <= 0 and CrossUp(C, PosLow + ATRch) Then
buy();
if MarketPosition >= 0 and CrossDown(C, PosHigh - ATRch) then
sell();
};
#피라미딩(추가진입)--> 설정창에서 피라미딩을 다른진입신호만 허용
if MarketPosition == 1 Then{
buy("b2",AtStop,EntryPrice+1.0);
buy("b3",AtStop,EntryPrice+1.5);
buy("b4",AtStop,EntryPrice+2.0);
}
if MarketPosition == -1 Then{
Sell("s2",AtStop,EntryPrice-1.0);
Sell("s3",AtStop,EntryPrice-1.5);
Sell("s4",AtStop,EntryPrice-2.0);
}
///////////////////////////////////////////////////////// 청산
If MarketPosition == 1 Then {
ExitLong("매수끝", AtStop, PosHigh - ATRch);
ExitLong("매수손절",AtStop,EntryPrice*0.99);#진입가 대비 1% 손실청산
}
If MarketPosition == -1 Then {
ExitShort("매도끝", AtStop, PosLow + ATRch);
ExitLong("매도손절",AtStop,EntryPrice*1.01);#진입가 대비 1% 손실청산
}
SetStopEndofday(144920);
즐거운 하루되세요
> 피니트 님이 쓴 글입니다.
> 제목 : 피라미딩 매수를 추가하려고 합니다.
> 데이트레이딩으로 하려고 합니다. 현재 한 번에 한 계약만 매수가 되는데
1. 한 계약을 매수나 매도로 진입 후
진입가격에서 1.0 포인트 수익 중일 경우 같은 방향 한 계약 추가
진입가격에서 1.5 포인트 수익 중일 경우 같은 방향 또 한 계약 추가
진입가격에서 2.0 포인트 수익 중일 경우 같은 방향 또 한 계약 추가
총 4계약까지 진입하고, 청산은 한 번에 같이 하고 싶습니다.
2. 하루에 청산은 총 4번까지만 하고 싶습니다. 피라미딩이 들어가면 진입은 나누어서 하고 청산은 한 번에 하는데, 하루안에는 휩쏘로 손절하더라도 4번 까지만 하고 싶습니다.
항상 깊이 감사드립니다.... (__)
// 변수 정의
input : Atrp(15),진입곱(3), 전날ATR이하진입(4),박스기간(15),하루진입횟수(4);
var : ATRch(0), posHigh(0), posLow(0),cnt(0) , count(0);
// 고가 , 저가 , ATR 계산
PosHigh = Highest(H,박스기간);
PosLow = Lowest(L,박스기간);
ATRch = ATR(Atrp) * 진입곱;
/////////////////////////////////////////////////////// 진입
# 진입횟수
count = 0;
for cnt = 0 to 10
{
if sdate == EntryDate(cnt) Then
count = count+1;
};
# 진입조건
If stime < 120000
and count < 하루진입횟수
and Abs(DayHigh(1)-daylow(1)) < 전날ATR이하진입
then
{
if CrossUp(C, PosLow + ATRch) Then
buy();
if CrossDown(C, PosHigh - ATRch) then
sell();
};
///////////////////////////////////////////////////////// 청산
If MarketPosition == 1 Then
ExitLong("매수끝", AtStop, PosHigh - ATRch);
If MarketPosition == -1 Then
ExitShort("매도끝", AtStop, PosLow + ATRch);
SetStopEndofday(144920);
SetStopLoss(1);
다음글
이전글