void OnOptionInfoEvent(dynamic Data) { try { int AlpariID = (int)Data.body.id; int ResultID = (int)Data.body.result_id; BinaryPosition pos = FindPositionByAlpariID(AlpariID); if (ResultID == TradeSettings.OptionResultsDictionary["win"]) { pos.ResultIsWin = true; } else if (ResultID == TradeSettings.OptionResultsDictionary["loss"]) { pos.ResultIsLoss = true; } else if (ResultID == TradeSettings.OptionResultsDictionary["loss"]) { pos.ResultIsParity = true; } pos.Status = "Closed"; pos.ClosePrice = (double)Data.body.expiry_rate.value; pos.CloseTime = DateTime.UtcNow; BinaryPosition.Export(pos, ClosedPositionsFolder + "/" + pos.OriginalID); OpenPositions.Remove(pos); } catch (Exception e) { } }
public void ReadAndSendPositions() { string Folder = RequestsToSendFolder; try { string[] files = Directory.GetFiles(Folder); foreach (string filename in files) { try { BinaryPosition NewPos = BinaryPosition.Import(filename); BinaryPosition OpenPos = SendPosition(NewPos); BinaryPosition.Export(OpenPos, RequestResultsFolder + "/" + OpenPos.OriginalID); } catch (Exception) { try { File.Delete(filename); } catch (Exception) { } continue; } } } catch (Exception) { } }