[英]Event reentry issue. Same event running concurrently
我有一個在很多情況下會觸發多次的事件,但是我希望在下一個事件運行之前完成一個事件。
我正在嘗試創建一個加密貨幣交易機器人。 有問題的事件是private void CoinInformation_OnNewTradeEvent(object sender, AggregateTradeEventArgs e)
由於單個事件會觸發多次,因此我一直認為它將以同步方式執行,即當一個事件運行時,下一個事件將一直運行直到完成。 我試過把鎖,但意識到那是行不通的。
private void CoinInformation_OnNewTradeEvent(object sender, AggregateTradeEventArgs e)
{
lock(myObject)
{
try
{
Decimal currentTradePrice = e.Trade.Price;
UpdateSMA(currentTradePrice);
TryBuy(currentTradePrice);
TrySell(currentTradePrice);
TryStopLoss(currentTradePrice);
}
catch
{
return;
}
}
}
抱歉,我的TryBuy和TrySell似乎不同步,我沒有等他們,所以有重入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.