[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 385

 
granit77 :
Victor, yanılıyorsun. Bu biraz uzun tartışma sayesinde, iki programcı yol boyunca yeni gelenlerin sorularını yanıtladı, bu da yalnızca şubeye fayda sağladı :))

Valla ben keyifle okudum. Ve ileri düzeydekilerin tutumu (size şimdi programcı diyebilir miyim bilmiyorum - şimdi tamamen kafam karıştı :))) - diyelim ki - ileri düzey sorunları çözen uzmanlar :)) ve görünüşte basit görevlere ilişkin görüşleri ilk bakışta çok belirleyiciydi. Tüm farklılıklara rağmen, bunun duygusal sonuçları olmayan ve samimi bir tartışma olmasını içtenlikle umuyorum. Ne yazık ki, anlaşmazlıklar (çözülmemiş) de kaldı. Ama ben burada sadece felsefi bir yaklaşımı savunuyorum. Sorunun bu şekilde çözümü açık değilse, başka bir yol bulmanız gerekir. Ancak sorunu bilmek çok faydalıdır.

Tartışma için çok teşekkür ederim. Bir fikir birliğine varmamaları üzücü. (Ancak, henüz bir fikir birliği oluşturulmadı ... ("Orada, uzakta, metroya yakın" şarkısını hatırlıyorum)

Ve elbette, Arles'la ilgili sorularıma açık bir cevap olmaması üzücü. Bu soruların sadece onunla ve benimle değil, aynı zamanda hem akışları hem de v.t.'yi kendi başlarına oluşturmayı zor bulan daha az deneyimli uzmanlarla olduğunu düşünüyorum ve bu yüzden gelişmiş uzmanlar tarafından yazılmış programlara ve kabuklara yöneliyorlar.

Sorun değil. Zamanla, bu sorular yok edilecek. :)) Emekleriniz için çok teşekkür ederim. Sonuçta, sonuç olarak her tarafta olumlu bir tutum var (çözümler açısından farklı olsa da). Ve memnun ediyor.

Bu arada, pedagojik araştırmamda sık sık şunu söylüyorum: tüm sorular çözülemez, çoğu zaman tüm cevapları bilmiyoruz; böylece... şimdilik açık kalabilirler. (Tartışmaya hassas bir son bulmaya çalışıyorum) Tekrar teşekkürler!
 
Yardıma mı ihtiyacınız var 1 açık veya bekleyen satış emrinin fiyatını nasıl öğrenebilirim 2 belirttiğim fiyattan açık veya bekleyen bir satış emri olup olmadığını nasıl kontrol edebilirim
 

Sergey, hangi sorunlar çözülmedi? Eğer bu:

Chiripaha :

Onlar. Arles'ın sorusunu yanıtlarken, eğer danışmanlarımdan biri emirleri hesaba kattıysa ve bir süre "şekerleme yaparsa", o anda tahsis edilen fonların sınırlarını aşmayan başka bir danışman (depozitonun %80'ini varsayın - her ikisi de) danışmanlar bu boyuta sahip olacaktır) bir emir verecektir (işlemi piyasaya göre girin). Ve ilki çalışmaya devam ettiğinde (ve para yönetimi terminali bir gün önce zaten hesaplanmıştı), danışman tarafından tahsis edilen limitleri aşan bir anlaşma da açabilir mi?

Bu sit-iu (varsayımsal olarak) birkaç danışmanla çarpılırsa, o zaman Risk Yönetiminin kritik bir sit-ii'de olacağı bir durum olabilir mi?

Bu çoklu iş parçacığını doğru anladım mı? - Eğer öyleyse, o zaman finansal açıdan, elbette, bir karmaşa. Ama çünkü Bunun olasılığı küçük hesaplarda küçüktür, sadece varsayımsaldır. Ve büyük hesaplarda, muhtemelen kendileri bir şeyler yazacaklar. Ancak, yine de, bunun böyle olduğu ortaya çıkıyor?

Ve sorum şu - bu resmi bir pozisyon mu yoksa benimki gibi bir varsayım ve deneyler mi?

Sonra 378. sayfada bir kod var. İşte yine:

 #property show_inputs

extern int Pause = 1000 ;

int     hwndChart = NULL ; // Уникальный идентификатор скрипта.
string sName = "Condition" ;

void init()
 {
  hwndChart = WindowHandle( Symbol (), 0 );
   // Создаём глобальную переменную синхронизации скриптов.
   if (! GlobalVariableCheck (sName)) GlobalVariableSet (sName, 0 );
 }
 
void deinit()
 {
   GlobalVariableDel (sName);
 }

void start()
 {
   while (! IsStopped ())
   { // Начало блока синхронизации.
     GlobalVariableSetOnCondition (sName, hwndChart, 0 );
     if ( GlobalVariableGet (sName) == hwndChart)
     {
       Print ( "Start" );
       Sleep (Pause); // Имитация работы.
       Print ( "End" );
     }
     GlobalVariableSetOnCondition (sName, 0 , hwndChart);
     // Завершение блока синхронизации.
     Sleep ( 200 );
   }
 }
"İş taklidi" gecikmesi olduğunda, bir depozitoya veya başka bir kaynağa itirazda bulunursunuz.

Bu senkronizasyon bloğu bir fonksiyona dönüştürülebilir ve bir kütüphaneye yerleştirilebilir. Herhangi bir danışmandan depozitoya erişmek için senkronize bir işleve sahip olacaksınız.

 
Dizin yerine grafik penceresinin tutamağını değiştirin
 
FAQ :
Dizin yerine grafik penceresinin tutamağını değiştirin

Aynen öyle! Ve sonra indekslerle neyin ne olduğunu hemen anlamayacaksınız.

yeniden yapıldı.

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

Bununla birlikte, indeksleme global değişkenin düzgün bir şekilde silinmesine izin verecektir.

Deinit'teki indeksi azaltmak gerekli olacaktır. Ve indeks sıfır olduğunda global değişkeni kaldırın.

Yalnızca böyle bir azalma, komut dosyasının silindikten sonra yeniden yüklenmesine izin vermez. Endeksler karışıyor.

Kaynağa erişen tüm modüllerin global bir dizin dizisini yapmak gerekir. Onunla çalış.

Ayrıca iki global değişken de yapabilirsiniz. Biri son dizine sahip, diğeri mevcut modül sayısına sahip. Endeksler sadece artar. Belki daha kolay olacaktır.

Veya global bir değişkenle hiç uğraşmamak. İlk çalıştırmadan önce manuel olarak kaldırın.

 
bu, EA toplam sayacı azaltmadığında, tanımlamadaki ilk hataya kadar düzgün çalışacaktır.
 
İcat edilmiş! Ayrıca senkronize olarak dışarı çıkmalıyız. Tanımsız olarak, sıranızı bekleyin ve global değişken sıfıra ayarlanmış olarak çıkın. Kaynağa erişim kısa vadelidir, o zaman bu normalde kesin olarak geçecektir.
 

1) Görev: Her komut dosyası (EA) diğerlerinin varlığını bilmelidir.

2) Sorun: Bir arıza meydana gelirse, başarısız olandan gelen globaller huzursuzca askıda kalacak ve kuyruk duracaktır.

3) Çözüm:

Her deneyim, bir ad - ortak önek + pencere tutamacı + sembol ile 1 global düzenler. global değeri, bu sembol için son onay işaretinin zamanıdır. 2 ortak global kendi tutamacı ile (çalıştıktan sonra tutamağını ona yazar veya en eskisiyse sıfırlar)

Sırayı artan düzende (tutamaçlar) düzenleriz, en eskisi ikinci globali sıfırlar

her deneyimde üç dizi oluşturuyoruz (yapı eksikliği için) - sembol\tutamaç\son erişim zamanı\son onay zamanı.

tüm uzmanlar (son erişim zamanı \ son tıklama zamanı) herkes için takip eder ve farklılık gösterir göstermez (exps'lerden birinde başarısızlık), başarısız olan uzmanın her iki globali de silinir ve etkin değil olarak kabul edilir. dizilerdeki hücreleri kaldırılır (dizi yeniden oluşturulur).

sıra geri yüklendi

gerçekte, bu, en aktif grafikte (sık keneler) bulunan exp tarafından yapılacaktır.

normal deinite altında, her exp kendinden sonra temizlenir

maksimum atlama bir onay işaretidir.

not. ancak genel olarak bir çoklu para birimi yapmak daha iyidir

 
Zhunko :

Sergey, hangi sorunlar çözülmedi? Eğer bu:

Sonra 378. sayfada bir kod var. İşte yine:

"İş taklidi" gecikmesi olduğunda, bir depozitoya veya başka bir kaynağa itirazda bulunursunuz.

Bu senkronizasyon bloğu bir fonksiyona dönüştürülebilir ve bir kütüphaneye yerleştirilebilir. Herhangi bir danışmandan depozitoya erişmek için senkronize bir işleve sahip olacaksınız.

Bu bir atomik erişim bloğudur ve senkronizasyon yoktur. Sadece mevduata atıfta bulunmak mantıklı değil. Para yatırma parametreleri işlevlerinin herhangi birinin çağrılması, herhangi bir hile olmadan kendi içinde atomik olacaktır. Atomik olarak yapılırsa, tüm işler Uzman Danışman'ın. Sorunları bu şekilde çözüyorsunuz - bir şey yaptığınızı düşünüyorsunuz, ama aslında - bir yanılsama.

 
FAQ :

1) Görev: Her komut dosyası (EA) diğerlerinin varlığını bilmelidir.

2) Sorun: Bir arıza meydana gelirse, başarısız olandan gelen globaller huzursuzca askıda kalacak ve kuyruk duracaktır.

3) Çözüm:

Her deneyim, bir ad - ortak önek + pencere tutamacı + sembol ile 1 global düzenler. global değeri, bu sembol için son onay işaretinin zamanıdır. 2 ortak global kendi tutamacı ile (çalıştıktan sonra tutamağını ona yazar veya en eskisiyse sıfırlar)

Sırayı artan düzende (tutamaçlar) düzenleriz, en eskisi ikinci globali sıfırlar

her deneyimde üç dizi oluşturuyoruz (yapı eksikliği için) - sembol\tutamaç\son erişim zamanı\son onay zamanı.

tüm uzmanlar (son erişim zamanı \ son tıklama zamanı) herkes için takip eder ve farklılık gösterir göstermez (exps'lerden birinde başarısızlık), başarısız olan uzmanın her iki globali de silinir ve etkin değil olarak kabul edilir. dizilerdeki hücreleri kaldırılır (dizi yeniden oluşturulur).

sıra geri yüklendi

gerçekte, bu, en aktif grafikte (sık keneler) bulunan exp tarafından yapılacaktır.

normal deinite altında, her exp kendinden sonra temizlenir

maksimum atlama bir onay işaretidir.

not. ancak genel olarak bir çoklu para birimi yapmak daha iyidir


Anlamayacak, yukarıdan görmek çok zor))) Bu sorunu yaklaşık olarak aynı tarzda çözdüm. Sorunun özüne inen birinin olması güzel. Sadece hala sıralanmış bir kuyruğum var, görevlerin bu sırayla hangi sırayla yürütülmeye başladığı ve bir daire içinde daha fazla yürütüldüğü.
Neden: