static async Task ShowAssetInfo() { Console.WriteLine(""); Console.WriteLine("========================================"); Console.WriteLine("asset"); Console.WriteLine("========================================"); // 資産情報を取得・表示 var assetList = await client.GetMyAssetList(); Console.WriteLine(assetList); Console.WriteLine("JPY = " + assetList.Jpy.Amount); Console.WriteLine("JPY(Available) = " + assetList.Jpy.Available); Console.WriteLine("BTC = " + assetList.Btc.Amount); // 証拠金情報 var collateral = await client.GetMyCollateral(); Console.WriteLine(collateral); // 建玉情報 Console.WriteLine("----positions----"); var positions = await client.GetMyPositions(); foreach (var p in positions) { Console.WriteLine(p); } Console.WriteLine("----/positions----"); Console.WriteLine(""); }
async Task getPosition() { Collateral col = null; try { col = await client.GetMyCollateral(); } catch (Exception ex) { label2.Text = "Failed to get collateral info."; label3.Text = ""; label6.Text = ex.ToString(); return; } label2.Text = "Equity: " + Math.Round(col.CollateralAmount, 1).ToString() + " JPY, Margin: " + Math.Round(col.KeepRate * 100, 2).ToString() + " %"; List <Position> pos = null; try { pos = await client.GetMyPositions(); } catch (Exception ex) { label3.Text = "Failed to get position info."; label6.Text = ex.ToString(); return; } double average = 0; positions = 0; foreach (Position ps in pos) { average += (ps.Size * ps.Price); positions += ps.Size; } if (pos.Count == 0) { label8.Text = "Ave: "; label3.Text = "No Open Position."; label3.ForeColor = Color.Black; } else { label8.Text = "Ave: " + Math.Round(average / positions, 1).ToString(); label3.Text = pos[0].Side + ss[1] + positions.ToString() + " BTC, PL: " + (0 < col.OpenPositionProfitAndLoss ? "+" : "") + Math.Round(col.OpenPositionProfitAndLoss, 1).ToString() + " JPY"; if (0 <= col.OpenPositionProfitAndLoss) { label3.ForeColor = Color.Blue; } else { label3.ForeColor = Color.Red; } } }