Functions/Get-KERecentTrades.ps1
function Get-KERecentTrades { <# .SYNOPSIS Retrieves recent trades for a specified trading pair on Kraken exchange. .DESCRIPTION The Get-KERecentTrades function retrieves recent trades for a specified trading pair on Kraken exchange. You can specify the trading pair using the Pair parameter, and the function will return the most recent trades for that pair. You can also use the SinceDate parameter to retrieve trades that occurred after a specified date and time. .PARAMETER Pair Specifies the trading pair for which to retrieve recent trades. The default value is "XBTUSD". .PARAMETER SinceDate Specifies a date and time after which to retrieve recent trades. The function will retrieve trades that occurred on or after this date and time. If this parameter is not specified, the function will retrieve 1000 recent trades. .EXAMPLE PS C:\> Get-KERecentTrades -Pair "XXBTZUSD" -SinceDate "04/06/2023 17:40:00" Retrieves recent trades for the "XXBTZUSD" trading pair that occurred on or after April 1st, 2023 at 12:00 PM. .NOTES The KrakenExchange PowerShell module is not affiliated with or endorsed by Kraken exchange. For more information, see the Kraken API documentation: https://docs.kraken.com/rest/#tag/Market-Data/operation/getRecentTrades Author: wnapierala [@] hotmail.com, chatGPT Date: 04.2023 #> [CmdletBinding()] param ( [Parameter()] [ValidatePattern("[A-Z]{4}[A-Z]{3}")] # ensure pair is in the format "XXXXXX" [string]$Pair = "XBTUSD", [datetime]$SinceDate = ((get-date).AddMinutes(-10)) ) $RecentTradesMethod = "/0/public/Trades" $endpoint = "https://api.kraken.com" $UserAgent = "Powershell Module KrakenExchange/1.0" $RecentTradesUrl = $endpoint + $RecentTradesMethod [string]$epoch = ([System.DateTimeOffset]::new($SinceDate.ToUniversalTime())).ToUnixTimeSeconds() $RecentTradesParams = [ordered]@{ "pair" = $Pair "since" = $epoch } $RecentTradesHeaders = @{ "User-Agent" = $UserAgent } $RecentTradesResponse = Invoke-RestMethod -Uri $RecentTradesUrl -Method Get -Headers $RecentTradesHeaders -Body $RecentTradesParams return $RecentTradesResponse } |