Kapanış pozisyonları. Göstergeye göre. - sayfa 4

 
Sayesinde. şimdi deneyeceğim...
 
granit77 :
Komposter ve Vinin'e göre, bunun yerine:
for (int v=0; v< OrdersTotal (); v++)

yazmak:
for (int v=OrdersTotal()-1; v>0; v--)

Benim için çalışıyor.
Hata ;) Bu, ilki hariç tüm siparişleri kapatacaktır.
Doğru seçenek:
 for ( int z = OrdersTotal () - 1 ; z >= 0 ; z -- )
{
 
}
 

Bakacağım.

Granit77 ve Vinin! İşinize yarıyor mu ve tüm açık pozisyonları kapatıyor mu? Nedense bende bu parça var

 то вместо:
for ( int v = 0 ; v < OrdersTotal () ; v ++ ) 
 
написать:
for ( int v = OrdersTotal () - 1 ; v > 0 ; v -- )
en erken açık pozisyon yerine, son açık pozisyonu kapatmaya başladı. Ama diğer herkes hareket etmeye devam ediyor...
 
komposter :
büyük 77 :
Komposter ve Vinin'e göre, bunun yerine:
for (int v=0; v< OrdersTotal (); v++)

yazmak:
for (int v=OrdersTotal()-1; v>0; v--)

Benim için çalışıyor.
Hata ;) Bu, ilki hariç tüm siparişleri kapatacaktır.
Doğru seçenek:
 for ( int z = OrdersTotal () - 1 ; z >= 0 ; z -- )
{
 
}


Sayesinde! Tavsiyenizi şimdi deneyeceğim!
 

Sonuç yine aynı! Son seçenek ile sadece son açık pozisyon kapatılır.!

Hadi anlamaya çalışalım!

int z = Sipariş Toplamı () - 1

-burada "z", toplam açık sipariş sayısından bir eksi eşittir! Bu durumda, z >=0 olarak ayarlanır.

z--, görünüşe göre, en son açık siparişler üzerinde daha fazla (OrderSelect) yinelediğimiz anlamına gelir ?

Ve elimizdeki son siparişin kapandığı açık. "Elin altına giren" ilk kişi olduğu için. Ancak kalan siparişleri kapatma işleminin durduğu yer burasıdır! Ve bu algoritma, bir sonraki gösterge sinyalinin kapanmasını bekliyor. Buraya bir şeyler eklenmesi gerektiğini düşünüyorum. Henüz bilmediğim şey...

Ve neden, aslında - z = OrdersTotal() - 1; ?

 
rid :

Sonuç yine aynı! Son seçenek ile sadece son açık pozisyon kapatılır.!

Ve şimdi OrderClose'dan sonraki dönüşü kaldırıyoruz ve sonucu gözlemliyoruz;)
 
rid :

Ve neden, aslında - z = OrdersTotal () - 1; ?

OrdersTotal() siparişlerinin toplam sayısı nedeniyle, birincisi sırasıyla 0 ve sonuncusu OrdersTotal()-1 dizinine sahiptir.
Öğrenme materyali ;)
 
rid :

Sonuç yine aynı! Son seçenek ile sadece son açık pozisyon kapatılır.!

Hadi anlamaya çalışalım!

araştırma eğlencelidir! hatta faydalıdır. hem beyin hem de deneyim için. hoşgeldiniz ve saygılar.

Ancak, daha karmaşık algoritmalar uygulayabiliyorsanız ve migrenden kurtulmak istiyorsanız, bunu daha kolay yapın. tüm bisikletler ve motosikletler zaten bizden önce icat edildi (üzeri çizildi) - tüm siparişleri dizinize (belki birden fazla) yönlendirin ve bu dizide kalbinizi memnun eden herhangi bir manipülasyon yapın. Herhangi bir kritere göre sıralama yapmak istiyorsanız, silmek istiyorsanız (bilet arkadaşınızdır), değiştirmek istiyorsanız - zararı durdur/kar al için toplu değişiklikler yapmak uygun, isterseniz yeni siparişler oluşturun.

ps (bir dışarı). yaratıcılığınızı ciddiye almaya karar verirseniz, her an (milisaniye) DC ile bağlantınızın kopabileceğini unutmayın. sorun değil, ancak "anlık" bir sinyaliniz varsa, o zaman bu sinyaldeki siparişleri kapatmaya başlarken bu anı dikkate alın. ideal olarak genel olarak - uzmanın acil olarak kapatılmasından/açılmasından sonra bile, belirli emirleri kapatma ihtiyacını görebilir (bu durumda). ve onları kapattı. en azından bir sonraki tikte. .

sadece bir "oyuncak" Uzman Danışman ise, bu komplikasyonların hiçbirine gerek yoktur. Bununla birlikte, halka açık olarak satılan " kaselerin " çoğu, cha şeklindedir. - oyuncaklara benzer..

 
Shu :

Ancak, daha karmaşık algoritmalar uygulayabiliyorsanız ve migrenden kurtulmak istiyorsanız, bunu daha kolay yapın.
...
tüm siparişleri dizinize (belki birden fazla) yönlendirin ve bu diziyle istediğiniz işlemleri yapın.

Sorabilirsin, neden? ;)
Birinde bazı karmaşık mantık veya birkaç algoritma varsa, o zaman canınızı sıkabilirsiniz, ancak basit bir tersine çevirme Uzman Danışmanı için - neden?
 
komposter :
Şu :

Ancak, daha karmaşık algoritmalar uygulayabiliyorsanız ve migrenden kurtulmak istiyorsanız, bunu daha kolay yapın.
...
tüm siparişleri dizinize (belki birden fazla) yönlendirin ve bu diziyle istediğiniz işlemleri yapın.

Sorabilirsin, neden? ;)
Birinde bazı karmaşık mantık veya birkaç algoritma varsa, o zaman canınızı sıkabilirsiniz, ancak basit bir tersine çevirme Uzman Danışmanı için - neden?


Oldukça doğru - karmaşık mantık için. ancak Winnie bir kez balın tadına baktıktan sonra bunu artık unutamıyordu. :-)

birden fazla sipariş varsa, neredeyse her zaman kullanırım. muhtemelen alışkanlık. Veya sadece (sizin) işinizi otomatikleştirmek. :-)

Neden: