커뮤니티

질문 있습니다.

프로필 이미지
스오어스
2025-10-22 17:38:40
60
글번호 227191
답변완료

어제 답변 너무 감사합니다!!!
꼬였던 그 문제를 해결 해서 깔끔하게 되었습니다!! 감사합니다!! ㅠㅠ
이제 다른 질문인데요.
하루 목표 수익 달성 로직 관련 질문입니다. 그 뜻은 제가 하루 목표 수익을 달성하면 매매 중단하고 끝내는 로직입니다. 손실, 수익 합쳐서 순수익 목표 달성하면 매매 중단하고 싶은데 순수익 목표를 달성하지 못하고 그냥 끝내서 좀 해매고 있습니다.

MACD 매매 시스템에서 하루 목표 수익 기능을 구현 중인데, 예상과 다르게 작동해서 질문드립니다.ㅠㅠ

현재 상황
Input : DailyProfitTarget(30);  // 목표 300틱
Input : UseDailyTarget(1);

var : TodayProfit(0);
var : TradeProfit(0);

// 익절 시
TradeProfit = (C - AvgEntryPrice) / 0.1;
TodayProfit = TodayProfit + TradeProfit;

if TodayProfit >= DailyProfitTarget Then {
    TargetReached = 1;
}

문제는 아래와 같습니다.

DailyProfitTarget = 30 설정 (300틱 목표)
실제 누적 수익 252틱인데 매매종료 표시가 나오면서 매매 종료됨

300틱 달성 전인데 왜 종료되는지 모르겠습니다.
질문
(C - AvgEntryPrice) / 0.1 계산 결과가 틱 단위인가요? (예: 마이크로 골드)
DailyProfitTarget 입력값은 어떤 단위로 해야 하나요?
TodayProfit 변수에 누적되는 값이 정확히 어떤 단위인가요?
아니면 제가 모르는 것이 있을까요?
감사합니다!

당일수익청산NetProfit
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-10-23 08:53:19

안녕하세요 예스스탁입니다. 올리신 내용이면 매봉값을 누적하는 내용이 됩니다.1 아래식 참고하시기 바랍니다 하루 누적수익이 지정한 틱수에 도달하면 즉시 청산하고 더이상 진입을 하지 않습니다. 진입식 부분은 직접 추가하시기 바랍니다. Input : 당일수익틱수(300); Var : NP(0),N1(0),dayPl(0),당일수익(0); var : PLcond(false); //총손익(청산완료된 거래까지의 총손익) NP = NetProfit; //당일수익틱수를 포인트로 환산 당일수익 = PriceScale*당일수익틱수; //영업일 변경 if Bdate != Bdate[1] Then { PLcond = false; N1 = NP[1]; } //당일수익 = 현재 총손익에서 전일 마지막봉 총손익을 차감 daypl = NP-N1; //청산발생 if TotalTrades > TotalTrades[1] then { //당일손익이 당일수익이상이면 PLcond는 true if daypl >= 당일수익 Then PLcond = true; //청산명이 dbp나 dsp이면 되었다면 PLcond는 true(봉미완성시 당일수익에 도달해서 즉시청산) if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then PLcond = true; } //당일수익에 도달하지 않았을때만 진입 if PLcond == false then { //진입식 } #매수진입후 당일수익에 도달하면 즉시 청산 if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } //매도진입후 당일수익에 도달하면 즉시 청산 if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요