커뮤니티

수식 변경요청 드립니다.

프로필 이미지
dandy
2015-07-01 17:57:04
128
글번호 87866
답변완료
아래수식에서 처음신호 발생봉 종가 기준으로 -> 두번째 신호가 수익일 경우 -> 처음 수익을 제외한 당일손실제한 강제청산 -> 두번째 신호가 손실일 경우 -> 처음 손실을 포함한 당일손실제한 강제청산 수식 으로 변경요청 드립니다. input :N(2),당일손실(-1.5); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; 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 MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+daypl ); } //-------------------------------------------------------------------------------------- if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //-------------------------------------------------------------------------------------- Value1 = Highest(H, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then Buy("매수추적청산",AtStop, Value1-ATR(15)*5); Value2 = Lowest(L, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then sell("매도추적청산",AtStop, Value2-ATR(15)*5); 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-07-02 14:13:37

안녕하세요 예스스탁입니다. input :N(2),당일손실(-1.5); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; 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 MarketPosition == 1 Then{ if BCount+SCount == 1 Then ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-dayPL); if BCount+SCount == 2 Then { if PositionProfit(1) > 0 Then ExitLong("당일손실제한bx31",AtStop,EntryPrice-당일손실); Else ExitLong("당일손실제한bx32",AtStop,EntryPrice+당일손실-dayPL); } } if MarketPosition == -1 Then{ if BCount+SCount == 1 then ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+daypl ); if BCount+SCount == 2 Then { if PositionProfit(1) > 0 Then ExitShort("당일손실제한sx31",AtStop,EntryPrice+당일손실); Else ExitShort("당일손실제한sx32",AtStop,EntryPrice-당일손실+daypl ); } } //-------------------------------------------------------------------------------------- if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //-------------------------------------------------------------------------------------- Value1 = Highest(H, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then Buy("매수추적청산",AtStop, Value1-ATR(15)*5); Value2 = Lowest(L, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then sell("매도추적청산",AtStop, Value2-ATR(15)*5); 즐거운 하루되세요 > dandy 님이 쓴 글입니다. > 제목 : 수식 변경요청 드립니다. > 아래수식에서 처음신호 발생봉 종가 기준으로 -> 두번째 신호가 수익일 경우 -> 처음 수익을 제외한 당일손실제한 강제청산 -> 두번째 신호가 손실일 경우 -> 처음 손실을 포함한 당일손실제한 강제청산 수식 으로 변경요청 드립니다. input :N(2),당일손실(-1.5); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; 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 MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+daypl ); } //-------------------------------------------------------------------------------------- if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //-------------------------------------------------------------------------------------- Value1 = Highest(H, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then Buy("매수추적청산",AtStop, Value1-ATR(15)*5); Value2 = Lowest(L, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then sell("매도추적청산",AtStop, Value2-ATR(15)*5); 감사합니다.