MyTradingHistory
- 라이브러리
- Max Timur Soenmez
- 버전: 1.0
- 활성화: 10
사용하기 쉬운 라이브러리로, 개발자들이 MQL5 EA를 위한 주요 거래 통계에 간단하게 접근할 수 있습니다.
라이브러리에서 사용할 수 있는 메서드:
계좌 데이터 & 이익:
- GetAccountBalance() : 현재 계좌 잔액을 반환합니다.
- GetProfit() : 모든 거래의 순이익을 반환합니다.
- GetDeposit() : 총 입금액을 반환합니다.
- GetWithdrawal() : 총 출금액을 반환합니다.
거래 분석:
- GetProfitTrades() : 수익성 있는 거래의 개수를 반환합니다.
- GetLossTrades() : 손실 거래의 개수를 반환합니다.
- GetTotalTrades() : 실행된 총 거래 수를 반환합니다.
- GetShortTrades() : 숏 거래의 개수를 반환합니다.
- GetLongTrades() : 롱 거래의 개수를 반환합니다.
- GetWinLossRatio() : 승리 거래와 패배 거래의 비율을 반환합니다.
- GetAverageProfitTrade() : 수익성 있는 거래의 평균 이익을 반환합니다.
- GetAverageLossTrade() : 손실 거래의 평균 손실을 반환합니다.
- GetROI() : 투자 수익률을 계산합니다.
- GetLargestProfitTrade() : 단일 거래에서 얻은 최대 이익을 반환합니다.
- GetLargestLossTrade() : 단일 거래에서 발생한 최대 손실을 반환합니다.
- GetShortTradesWon() : 성공적인 숏 거래의 비율을 반환합니다.
- GetLongTradesWon() : 성공적인 롱 거래의 비율을 반환합니다.
거래 이익 배열:
- GetTradeProfitArray(double &outputArray[]) : 각 개별 거래의 이익 배열을 반환하여 세부적인 거래 결과 분석을 가능하게 합니다.
샘플 코드는 아래에 있습니다:
// Import the external MyTradingHistory.ex5 module #import "MyTradingHistory.ex5" void UpdateValues(void); // Updates the trading data from the MyTradingHistory library. EXECUTE THIS EVERY TIME YOU WANT TO UPDATE THE VALUES, e.g. after closing a trade or before retreiving the value for the first time. void GetTradeProfitArray(double &outputArray[]); // Retrieves an array of profits from closed trades double GetAccountBalance(void); // Returns the current account balance double GetProfit(void); // Returns the net profit double GetDeposit(void); // Returns the total deposit amount double GetWithdrawal(void); // Returns the total withdrawal amount int GetProfitTrades(void); // Returns the number of profitable trades int GetLossTrades(void); // Returns the number of loss trades int GetTotalTrades(void); // Returns the total number of trades int GetShortTrades(void); // Returns the number of short trades int GetLongTrades(void); // Returns the number of long trades double GetWinLossRatio(void); // Returns the win-to-loss ratio double GetAverageProfitTrade(void); // Returns the average profit per trade double GetAverageLossTrade(void); // Returns the average loss per trade double GetROI(void); // Returns the return on investment (ROI) double GetLargestProfitTrade(void); // Returns the largest profit from a single trade double GetLargestLossTrade(void); // Returns the largest loss from a single trade double GetShortTradesWon(void); // Returns the percentage of short trades won double GetLongTradesWon(void); // Returns the percentage of long trades won #import // OnInit is executed when the script starts int OnInit() { // Update internal data from the imported module UpdateValues(); // Prepare a string to display account and trade summary string output = "Account Balance: " + DoubleToString(GetAccountBalance(), 2) + "\n" + "Net Profit: " + DoubleToString(GetProfit(), 2) + "\n" + "Deposit: " + DoubleToString(GetDeposit(), 2) + "\n" + "Withdrawal: " + DoubleToString(GetWithdrawal(), 2) + "\n" + "Profit Trades: " + IntegerToString(GetProfitTrades()) + "\n" + "Loss Trades: " + IntegerToString(GetLossTrades()) + "\n" + "Total Trades: " + IntegerToString(GetTotalTrades()) + "\n" + "Short Trades: " + IntegerToString(GetShortTrades()) + "\n" + "Long Trades: " + IntegerToString(GetLongTrades()) + "\n" + "Win/Loss Ratio: " + DoubleToString(GetWinLossRatio(), 2) + "\n" + "Average Profit per Trade: " + DoubleToString(GetAverageProfitTrade(), 2) + "\n" + "Average Loss per Trade: " + DoubleToString(GetAverageLossTrade(), 2) + "\n" + "ROI: " + DoubleToString(GetROI(), 2) + "\n" + "Largest Profit Trade: " + DoubleToString(GetLargestProfitTrade(), 2) + "\n" + "Largest Loss Trade: " + DoubleToString(GetLargestLossTrade(), 2) + "\n" + "Short Trades Won: " + DoubleToString(GetShortTradesWon(), 2) + "%\n" + "Long Trades Won: " + DoubleToString(GetLongTradesWon(), 2) + "%\n"; // Add trade profit array data to the output output += "Trade Profit Array (First 5 Trades): "; double tradeProfitArray[]; // Declare an array to store trade profit data GetTradeProfitArray(tradeProfitArray); // Fetch trade profit data // Loop through the first 5 trades and append their profit values to the output for (int i = 0; i < MathMin(5, ArraySize(tradeProfitArray)); i++) { output += DoubleToString(tradeProfitArray[i], 2) + ", "; } // Append the last trade's profit value output += "...\nLast Closed Trade: "; int size = ArraySize(tradeProfitArray); // Get the size of the trade profit array if (size > 0) output += DoubleToString(tradeProfitArray[size - 1], 2); // Append the last trade's profit else output += "No trades available."; // Handle the case where no trades exist // Display the summary as a comment on the chart Comment(output); // Signal successful initialization return(INIT_SUCCEEDED); }
피드백은 언제든지 환영합니다. 구매 전후로 생각이나 질문을 공유해 주세요.
https://www.mql5.com/en/users/maxsonm