Şimdi ben bu süreç nasıl işliyor çok anlamıyorum ama son mesajın daha temiz oldu. Bir kere if döngü değil for kastediyorsun galiba.
Şimdi ben ama elma ile anlatsan bunu anlarım. (terimleri bilmiyorum aslında o yüzden oluyor) sana elma ile örnek vereyim sen de oradan yap ya da konuşa konuşa ortak bi yerde buluşalım.
Elmanın alış fiyatı 5.05. satın kademedeki aktif fiyat da 5. elmanın aktif fiyatı 5.05 olasıya kadar sen 100 er tane elma alma emiri gönderickesin. ilk başta sıfır elman var

PHP Code:
int emir_kademe 100;
int toplam_alis_miktari 0;
int pozisyon_kontrol 0;
float alis_fiyati 5.05;
float satis_kademe_aktif_fiyat 5;
while (
elma_alis_fiyati satis_kademe_aktif_fiyat){
    
Sistem.Emir.Miktar emir_kademe;
    
toplam_alis_miktari += emir_kademe;
   
pozisyon_kontrol++;

bana öyle geliyor ki kademe bilgilerini her döngüde tekrar çekmeniz gerekiyor değil mi? aslında ben size en temiz kodu şöyle yazabilirim. Bana normal türkçe ile aşama aşama yazarsanız ben size kodu yazarım. Mesela üstte yazdığımda satis_kademe_aktif_fiyat ın her emir gönderdikten sonra güncellenmesi gerekir gibi geliyor bana. sizin örnek kodda ise tek bi sefer alınmış vaziyette.