Сравнивать две double нельзя


Нельзя сравнивать две double переменные.
Об этом можно посмотреть в интернете.


==================================

Здравствуйте. Столкнулся с проблемой в АПИ. Алгоритм должен проверять актуальность цены заявки и отменять её, если цена не актуальна. Вот реальный пример.

Цена активной заявки в реальном времени равна 1332.8

Если выполняется такой код, всё работает правильно - заявка не отменяется, новая не выставляется
////////////////////////////////////////////////////////////////////////////////////////////

double BuyPrice = 1332.8;

foreach (IOrder MyOrder in SymbolRt.Orders)
{
if (MyOrder.IsActive)
{
if (MyOrder.Price == BuyPrice) return; // Выход
else SymbolRt.CancelOrder(MyOrder); // Отмена заявки
}
}
//Затем проверяются условия выставления новых заявок.
if (,,,,,,,,,,,,,,,,)
{
SymbolRt.NewOrder(OrderType.Growth, true, BuyPrice, 1, "пример");
}
////////////////////////////////////////////////////////////////////////////////////////////



Если выполняется такой код, заявка ВСЕГДА отменяется, а затем выставляется ТОЧНО такая же с той же ценой
////////////////////////////////////////////////////////////////////////////////////////////

double BuyPrice = 1332.9 - 0.1;

foreach (IOrder MyOrder in SymbolRt.Orders)
{
if (MyOrder.IsActive)
{
if (MyOrder.Price == BuyPrice) return; // Выход
else SymbolRt.CancelOrder(MyOrder); // Отмена заявки
}
}
//Затем проверяются условия выставления новых заявок.
if (,,,,,,,,,,,,,,,,)
{
SymbolRt.NewOrder(OrderType.Growth, true, BuyPrice, 1, "пример");
}
////////////////////////////////////////////////////////////////////////////////////////////


При этом, если переменную сделать таким образом, то всё работает правильно
/////////////////////////////////////////////////
double BuyPrice = (1332.9 * 10 - 1) / 10
////////////////////////////////////////////////

ТО ЕСТЬ, почему-то возникает проблема, когда происходит вычитание и сложение десятичных дробей - после этого две переменные неправильно сравниваются