커뮤니티

당일목표수익 청산 재문의

프로필 이미지
카카보오12
2022-01-07 03:10:38
1297
글번호 155219
답변완료

첨부 이미지

안녕하세요. 아래 내용으로 코드를 적용해보니 원활하게 적용되지가 않습니다. CME거래소 기준, *문제1) cme 거래소 기준 일자가 바뀌고 매수,매도 조건이 성립되어도 진입되지 않음. *문제2) 수익이 200point (800틱)이 이루어졌으나, 다시 다시 재진입하는 현상이 나타남. *문제3) 혹시나 하는 마음에 시스템 트레이딩설정창에서, 당일수익틱수 input을 (10) 변경하면, 청산조건이 성립하지 않아도. 즉시청산시킴. 시스템이, 단타로 수익을 쌓아가는 구조입니다. 청산시 마다 +수익1, +수익, -수익 이렇게 더해지면서 최종 목표 수익포인트에 도달시 거래소 기준 해당일자에 진입을 하지 않게 하고 싶습니다. 예) 1월5일 기준 (분봉거래) 수익 = 수익값 담을 빈배열 첫번쨰 숏진입 수익 5 point (봉 완성시) 두번째 롱진입 수익 50 point (봉 완성시) 세번째 롱진입 손실 -50 point (봉 완성시) 네번째 숏진입 수익 100 point (봉 완성시) 누적 수익합계 105로 1월5일 거래 종료 후 1월 6일 00:00:00 재시작 --- 이전 답변 --- 안녕하세요 예스스탁입니다. Input : 당일수익틱수(400); Var : N1(0),dayPl(0),당일수익(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; } if MarketPosition == 1 then { if C >= EntryPrice+((당일수익-daypl)/CurrentContracts) Then ExitLong("dbp"); } if MarketPosition == -1 then { if C <= EntryPrice-((당일수익-daypl)/CurrentContracts) then ExitShort("dsp"); } if Xcond == false then { if MarketPosition == 0 and (진입시간1, 진입시간2) Then { if 매수조건 Then { Buy(); } if 매도조건 Then { Sell(); } } if MarketPosition == 1 Then { if 매수청산 조건 Then { ExitLong(); if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Sell(""); } } } if MarketPosition == -1 Then { if 매도청산 조건 Then { ExitShort(); if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Buy(""); } } } } 즐거운 하루되세요 > 카카보오12 님이 쓴 글입니다. > 제목 : 하루최대수익 달성시 당일거래 정지. > 안녕하십니까? 매번 좋은 알고리즘을 알려주셔서 감사드립니다. 1분봉으로 선물 거래를 하고 있습니다. 기존에 올라온 글(QnA)들로 처리하려고 하니 계속 진입되어 이렇게 글을 납깁니다. if MarketPosition == 0 and (진입시간1, 진입시간2) Then { if 매수조건 Then { Buy(); } if 매도조건 Then { Sell(); } } if MarketPosition == 1 Then { if 매수청산 조건 Then { ExitLong(); if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Sell(""); } } } if MarketPosition == -1 Then { if 매도청산 조건 Then { ExitShort(); if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Buy(""); } } } 위 방식으로 선물을 거래하고 있습니다. 문제는 1분봉으로 진입하나, 하루 수익이 100point (나스닥 400틱) 달성 (봉 완성시) 당일거래 (CME거래소 시간 기준) 를 중지하고자 합니다. 유능하신분의 답장을 기다리겠습니다. 새해 복 많이 받으시고, 늘 건강하시길 바라겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-07 15:08:34

> 카카보오12 님이 쓴 글입니다. > 제목 : 당일목표수익 청산 재문의 > 안녕하세요. 아래 내용으로 코드를 적용해보니 원활하게 적용되지가 않습니다. CME거래소 기준, *문제1) cme 거래소 기준 일자가 바뀌고 매수,매도 조건이 성립되어도 진입되지 않음. *문제2) 수익이 200point (800틱)이 이루어졌으나, 다시 다시 재진입하는 현상이 나타남. *문제3) 혹시나 하는 마음에 시스템 트레이딩설정창에서, 당일수익틱수 input을 (10) 변경하면, 청산조건이 성립하지 않아도. 즉시청산시킴. 시스템이, 단타로 수익을 쌓아가는 구조입니다. 청산시 마다 +수익1, +수익, -수익 이렇게 더해지면서 최종 목표 수익포인트에 도달시 거래소 기준 해당일자에 진입을 하지 않게 하고 싶습니다. 예) 1월5일 기준 (분봉거래) 수익 = 수익값 담을 빈배열 첫번쨰 숏진입 수익 5 point (봉 완성시) 두번째 롱진입 수익 50 point (봉 완성시) 세번째 롱진입 손실 -50 point (봉 완성시) 네번째 숏진입 수익 100 point (봉 완성시) 누적 수익합계 105로 1월5일 거래 종료 후 1월 6일 00:00:00 재시작 --- 이전 답변 --- 안녕하세요 예스스탁입니다. Input : 당일수익틱수(400); Var : N1(0),dayPl(0),당일수익(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; } if MarketPosition == 1 then { if C >= EntryPrice+((당일수익-daypl)/CurrentContracts) Then ExitLong("dbp"); } if MarketPosition == -1 then { if C <= EntryPrice-((당일수익-daypl)/CurrentContracts) then ExitShort("dsp"); } if Xcond == false then { if MarketPosition == 0 and (진입시간1, 진입시간2) Then { if 매수조건 Then { Buy(); } if 매도조건 Then { Sell(); } } if MarketPosition == 1 Then { if 매수청산 조건 Then { ExitLong(); if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Sell(""); } } } if MarketPosition == -1 Then { if 매도청산 조건 Then { ExitShort(); if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Buy(""); } } } } 즐거운 하루되세요 > 카카보오12 님이 쓴 글입니다. > 제목 : 하루최대수익 달성시 당일거래 정지. > 안녕하십니까? 매번 좋은 알고리즘을 알려주셔서 감사드립니다. 1분봉으로 선물 거래를 하고 있습니다. 기존에 올라온 글(QnA)들로 처리하려고 하니 계속 진입되어 이렇게 글을 납깁니다. if MarketPosition == 0 and (진입시간1, 진입시간2) Then { if 매수조건 Then { Buy(); } if 매도조건 Then { Sell(); } } if MarketPosition == 1 Then { if 매수청산 조건 Then { ExitLong(); if 매도진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Sell(""); } } } if MarketPosition == -1 Then { if 매도청산 조건 Then { ExitShort(); if 매수 진입조건 (스위칭) and (진입시간1, 진입시간2) Then { Buy(""); } } } 위 방식으로 선물을 거래하고 있습니다. 문제는 1분봉으로 진입하나, 하루 수익이 100point (나스닥 400틱) 달성 (봉 완성시) 당일거래 (CME거래소 시간 기준) 를 중지하고자 합니다. 유능하신분의 답장을 기다리겠습니다. 새해 복 많이 받으시고, 늘 건강하시길 바라겠습니다.