커뮤니티

부탁드립니다.

프로필 이미지
묘선낭자
2014-07-31 12:56:13
137
글번호 77296
답변완료
당일거래된(현재 진입중인 것 포함) 당일총손익을 무어라 표현하나요? 복수진입일 경우 1. 당일총이익이 2.20포인트에서 익절 복수진입일 경우 현재진입중인 포지션의 총평가손익은 무어라 표현하나요? 2. 현재진입중인 포지션의 총평가손익이 2포인트일 때 청산 3. 이익과 손실은 용어를 달리해야 하나요. 아니면 손익이라는 용어로 하나로 쓰나요? 4, 가상매매와 실진입매매의 표현(이것이 가능한가요?) (1) 가상매매조건 If 매수조건 Then Buy(); If 매수청산조건 Then Exitlong(); If 매도조건 Then Sell(); If 매도청산조건 Then Exitshort(); (2) 실제매매조건 위의 가상매매조건대로 매매했다고 가정할 때 (전일가상매매도 함께 이어서 카운트) 직전6번의 실현손익이 (4연속손실+1회이익+1회손실) 또는 직전5번의 실현손익이 (5연속손실)일 때에만 가상매매조건의 매수(매도)조건에 매수(매도). 가상매매조건의 매수(매도)청산조건에 청산. 1포인트 익절. (3) 청산되고 나면 다시 가상매매조건의 손익순서와 횟수를 카운트하여 맞는 조건에 진입 5. 피라미딩에서 서로다른 신호만 허용할시에 한 봉에서 여러신호가 중복되어 나타날 경우는 동일봉에서는 1계약만 진입하게 하려면 어떻게 해야 하나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-07-31 15:57:22

안녕하세요 예스스타입니다. 1-1. input : 하루수익(2.20); var : NP(0),PreNP(0),dayPL(0); NP = NetProfit; if date != date[1] Then PreNP = NP[1]; #당일 손익 dayPL = (NP-PreNP); //진입식에 당일손익이 하루이익보다 작을때만 진입하게 조건 추가 if dayPL < 하루이익 and 매수진입조건 Then buy(); if dayPL < 하루이익 and 매도진입조건 Then sell(); if MarketPosition == 1 Then{ ExitLong("bx1",AtLimit,AvgEntryPrice+(하루수익-daypl)/CurrentContracts); } if MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,AvgEntryPrice-(하루수익-daypl)/CurrentContracts ); } NetProfit은 전체 거래(청산종결된거래만)의 손익입니다. 당일 첫봉에서 전일까지의 NetProfit을 저장하고 현재의 NetProfit에서 전일 NetProfit을 빼시면 당일 청산된 거래만 대상으로 당일손익이 발생합니다. 1-2 현재 진행중인 포지션의 손익(PositionProfit)을 더하시면 됩니다. PositionProfit이 포지션의 손익을 리턴해 줍니다. 단일진입이거나 피라미딩을 해서 추가진입된 부분도 모두 반영이 됩니다. 2. input : 포지션총이익(2.0) if MarketPosition == 1 Then ExitLong("bx",Atlimit,AvgEntryPrice+(포지션총이익/CurrentContracts)); if MarketPosition == -1 Then ExitShort("sx",Atlimit,AvgEntryPrice-(포지션총이익/CurrentContracts)); 3. 편하신 내용으로 지칭하시면 됩니다. 일반적으로 함수는 모두 손익으로 리턴합니다. 리턴받은 값이 0 이상이면 수익, 0이하이면 손실입니다. 4. 아래내용 참고하시기 바랍니다. 가상으로 거래의 손익을 판단하는 부분은 전략의 내용에 따라 많이 다르게 됩니다. var : EntryP(0),pst(0),cnt(0),sum(0); Array : PL[30](0); if pst == 0 and 매수조건 Then{ Pst = 1 ; EntryP = C; sum = 0; for cnt = 0 to 5{ if PL[cnt] < 0 Then sum = sum+1; } if sum >= 5 Then buy(); } if pst == 1 and 매수청산조건 Then{ Pst = 0 ; PL[0] = C-EntryP; for cnt = 1 to 30{ PL[cnt] = PL[cnt-1][1]; } } if pst == 1 and H >= entryP+1 Then{ Pst = 0; PL[0] = 1; for cnt = 1 to 30{ PL[cnt] = PL[cnt-1][1]; } if MarketPosition == 1 Then ExitLong(); } if pst == 0 and 매도조건 Then{ Pst = -1 ; EntryP = C; sum = 0; for cnt = 0 to 5{ if PL[cnt] < 0 Then sum = sum+1; } if sum >= 5 Then buy(); } if pst == 1 and 매도청산조건 Then{ Pst = 0 ; PL[0] = EntryP-C; for cnt = 1 to 30{ PL[cnt] = PL[cnt-1][1]; } if MarketPosition == -1 Then ExitShort(); } if pst == -1 and L <= entryP-1 Then{ Pst = 0; PL[0] = 1; for cnt = 1 to 30{ PL[cnt] = PL[cnt-1][1]; } } SetStopProfittarget(1,PointStop); 5 문의하신 부분은 가능하지 않습니다. 시스템은 신호발생 지정한 수량으로 신호와 주문이 집행됩니다. 사후에 처리가 될수 없습니다. 즐거운 하루되세요 > 묘선낭자 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 당일거래된(현재 진입중인 것 포함) 당일총손익을 무어라 표현하나요? 복수진입일 경우 1. 당일총이익이 2.20포인트에서 익절 복수진입일 경우 현재진입중인 포지션의 총평가손익은 무어라 표현하나요? 2. 현재진입중인 포지션의 총평가손익이 2포인트일 때 청산 3. 이익과 손실은 용어를 달리해야 하나요. 아니면 손익이라는 용어로 하나로 쓰나요? 4, 가상매매와 실진입매매의 표현(이것이 가능한가요?) (1) 가상매매조건 If 매수조건 Then Buy(); If 매수청산조건 Then Exitlong(); If 매도조건 Then Sell(); If 매도청산조건 Then Exitshort(); (2) 실제매매조건 위의 가상매매조건대로 매매했다고 가정할 때 (전일가상매매도 함께 이어서 카운트) 직전6번의 실현손익이 (4연속손실+1회이익+1회손실) 또는 직전5번의 실현손익이 (5연속손실)일 때에만 가상매매조건의 매수(매도)조건에 매수(매도). 가상매매조건의 매수(매도)청산조건에 청산. 1포인트 익절. (3) 청산되고 나면 다시 가상매매조건의 손익순서와 횟수를 카운트하여 맞는 조건에 진입 5. 피라미딩에서 서로다른 신호만 허용할시에 한 봉에서 여러신호가 중복되어 나타날 경우는 동일봉에서는 1계약만 진입하게 하려면 어떻게 해야 하나요?