커뮤니티

피라미딩 매수를 추가하려고 합니다.

프로필 이미지
피니트
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);