커뮤니티

수식 수정요청 드립니다.

프로필 이미지
dandy
2015-10-18 22:03:03
109
글번호 91392
답변완료
아래 당일진입횟수제한 수식을 기존수식에 적용 당일 1번 매매로 제한할경우, 한개의봉에 2개의 이상의 신호가 발생할 경우에는 진입횟수 제한이 안되네요. 한개의봉에 2개 신호가 나올경우에도 1번째 신호만 진입, 당일진입횟수제한이 될수 있도록 수정요청 드립니다. 감사합니다. input :N(1),당일손실(-2.2); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0); NP = NetProfit; if date != date[1] Then{ preNP = NP[1]; Condition1 = false; v1 = 0; } dayPL = NP-PreNP; BCount = 0 ; SCount = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then BCount = BCount + 1; if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then SCount = SCount + 1; } if Condition1 == false and TotalTrades > TotalTrades[1] Then{ Condition1 = true; if PositionProfit(1) > 0 Then v1 = PositionProfit(1); } //------------------------------------------------------------------------ #당일손실제한 if MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-(dayPL-v1)); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+(dayPL-v1)); } //-------------------------------------------------------------------------------------- #손실손절1 if MarketPosition == -1 and crossup(H,EntryPrice+2.2) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-2.2) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //--------------------------------------------------------------------------------------
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-10-19 13:50:59

> dandy 님이 쓴 글입니다. > 제목 : 수식 수정요청 드립니다. > 아래 당일진입횟수제한 수식을 기존수식에 적용 당일 1번 매매로 제한할경우, 한개의봉에 2개의 이상의 신호가 발생할 경우에는 진입횟수 제한이 안되네요. 한개의봉에 2개 신호가 나올경우에도 1번째 신호만 진입, 당일진입횟수제한이 될수 있도록 수정요청 드립니다. 감사합니다. input :N(1),당일손실(-2.2); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0); NP = NetProfit; if date != date[1] Then{ preNP = NP[1]; Condition1 = false; v1 = 0; } dayPL = NP-PreNP; BCount = 0 ; SCount = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then BCount = BCount + 1; if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then SCount = SCount + 1; } if Condition1 == false and TotalTrades > TotalTrades[1] Then{ Condition1 = true; if PositionProfit(1) > 0 Then v1 = PositionProfit(1); } //------------------------------------------------------------------------ #당일손실제한 if MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-(dayPL-v1)); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+(dayPL-v1)); } //-------------------------------------------------------------------------------------- #손실손절1 if MarketPosition == -1 and crossup(H,EntryPrice+2.2) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-2.2) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //--------------------------------------------------------------------------------------