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

 
hoz :


:) Ve neden bu anı yeni çubuğun bir işlevi olarak uygulamıyorsunuz? Günde bir kez, yani. 0.00 saatinden başlayarak türkiye için yeniden hesaplama yapın. Bu yüzden kolaylaştırıyoruz. Başlangıçta, ess-ama:

Bence ilkel olsa da en kesin yol bu!
Adaşınız Vinin , kendini değiştirmesi gerektiğini söyledi, ama bu asla olmadı, sadece derleme ile. Çubuk kontrolünü kullanma fikri için teşekkürler! Bir grafiğe bir seçenek koydum, diğerine senin seçeneğin. Bakalım yarın ne işe yarayacak.
 
hoz :


Akım da değil, I. Ayrıca && işareti de var.

VEYA. AND koşulu, işlenenlerden en az biri yanlış olduğunda (ilk VEYA ikinci) karşılanmadığından - Boole mantığında buna " De Morgan yasası " denir.

Anladım. Ama buradaki nokta şu:

İndeks değişkeni genellikle Bar - IndicatorCounted() değerine sahiptir.

Onlar. mevcut çubukta 1 ve yeni çubukta 2

Değer, IsUpFractal() işlevine birer birer veya çubuk henüz yeni değilse 1 girer, değil mi?

Bu, i değişkeninin sabit bir değere sahip olacağı anlamına gelir çünkü indeks giriş parametresi de sabittir. Böylece döngü her zaman ilk yinelemeden sonra kırılacaktır. Neden o zaman bisiklet?

Döngünün her adımında, i değişkeni 1 (i--) azaltılır, bu yüzden indeks+g_center-1'den sıfıra kadar tüm değerler boyunca çalışırım. Ayrıca, gösterge ilk başlatıldığında IndicatorCounted() öğesinin 0, yani 0 döndürdüğünü unutmayın. index tüm çubuklardan geçecektir, bu, i'ye her seferinde index+g_center-1 atandığı ve ardından 0 bar'a ulaşana kadar VEYA cnt, g_center'a eşit olana kadar aşağı ineceği anlamına gelir, yani. döngü koşulu doğru olana kadar (iyi veya döngü gövdesinin kendisinde bulunan dönüş gerçekleşene kadar).
 
alsu :

VEYA. AND koşulu, işlenenlerden en az biri yanlış olduğunda (ilk VEYA ikinci) karşılanmadığından - Boole mantığında buna " De Morgan yasası " denir.

Vay. Ne utanç. Bu operatörleri ne kadar kullandım.. ve sonra sanki yeni bir kapıya bakıyormuşum gibi oluyor. Yasayı okudum, bir şekilde çılgınca anlaşılmaz yazılmış. Durumu inkar ile açıklar. Anladığım kadarıyla, bu teknik sadece inkar olan durumlar için mi geçerli? Yani varsa. boolean sayısı True değil.

Yapamadığımı yolda fark ettim. Sonuç olarak, buradaki fark aşağıdaki gibidir. Bu bir gösterge o yüzden henüz böyle düşünmeye alışık değilim.. Bu, gösterge ilk çağrıldığında çubukların hesaplanmadığı ve indeksin ya grafikteki çubuk sayısına eşit olacağı anlamına gelir veya, çubukların hesaplanması koşullarla sınırlıysa, bazı limitReCalcBar değişkeninin değeriyle.

Nitekim koddan hareketle g_center = 2 değişkeni. limitReCalcBar = 5000 ayrıca harici değişkenlere bağlıdır.

Gösterge bir işleve ilk başlatıldığında:

 //+-------------------------------------------------------------------------------------+
//| Определение наличия верхнего фрактала на указанном баре                             |
//+-------------------------------------------------------------------------------------+
bool IsUpFractal( int index)
{
   double centerHigh = High[index + g_center];     // За точку отсчета берется средний..
                                                   // ..бар на участке из i_fractalPeriod
                                                   // ..баров
// - 1 - == Поиск максимумов справа от центрального бара ================================
   int cnt = 0 , i = index + g_center - 1 ;
   for (; i >= 0 && cnt < g_center; i--)           // Справа от центрального бара должно
   {                                               // ..быть g_center-1 баров с низшим..
       if (centerHigh <= High[i])                   // ..максимумом. Не позволяется..
         return ( false );                           // ..наличие баров с большим или..
      cnt++;                                       // ..равным максимумом.
   }
   
   if (i < 0 )                                       // g_center-1 низших максимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 1 - == Окончание блока =============================================================

// - 2 - == Поиск максимумов слева от центрального бара =================================
   cnt = 0 ;
   i = index + g_center + 1 ;
   int total = Bars - 1 ;
   for (; i < total && cnt < g_center; i++)         // Слева от центрального бара должно
   {                                               // ..быть g_center-1 баров с низшим..
       if (centerHigh == High[i])                   // ..максимумом. Не позволяется..
         continue ;                                 // ..наличие баров с большим..
       if (centerHigh < High[i])                     // ..максимумом. Равный - позволяется
         return ( false );
      cnt++;                                    
   }
   
   if (i >= total)                                 // g_center-1 низших максимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 2 - == Окончание блока =============================================================
                                                   
   return ( true );                                   // Фрактал найден                 
}

5000 değeri buna göre iletilir.

i = dizin + g_center - 1 = 5000 + 2 - 1 = 5001

Döngüye bakalım:

 for (; i >= 0 && cnt < g_center; i--)

5000 bar hesaplamanız gerekiyor. İlk iki çubuktan sonra, yani. 0'da ve 1'de, cnt < g_center koşulu false olur . O zaman tüm 5000 bar nasıl hesaplanır? Bu, ustalaşmak istediğim an. Bir profesyonelin bunu görmesi basit ama ben girmiyorum. Elbette && operatörü OR olarak algılanırsa, her şey yerine oturacaktır.

Her şey hesaplandığında, her şey zaten basit. Her tik üzerindeki index sayesinde oraya 0 ve 1 iletilecek, döngüdeki koşullar gözlemlenecek ve gördüğüm kadarıyla herhangi bir zorluk yok.

 

Sevgili programcılar! Lütfen açık pozisyonları izleyen ve bazı pozisyonlar belirli bir kayıp seviyesine ulaştığında pozisyonun bir kısmını kapatan böyle bir komut dosyası yazmanın mümkün olup olmadığını söyleyin. Maksimum kayıp seviyesini ya mevduat para biriminde ya da puan olarak ayarlayın. Böylece, eğer fiyat aleyhimize giderse, kaybı azaltmış oluruz ve eğer fiyat artıya dönüşürse, o zaman bir kayıp yerine, set TP'ye bağlı olarak bir tür kar, hatta daha küçük bir kayıp elde edebiliriz. Komut dosyası danışman modunda sürekli çalışmalıdır. Herhangi bir ticaret sistemi veya uzmanının asistanıdır.

 
destan :

Sevgili programcılar! Lütfen açık pozisyonları izleyen ve bazı pozisyonlar belirli bir kayıp seviyesine ulaştığında pozisyonun bir kısmını kapatan böyle bir komut dosyası yazmanın mümkün olup olmadığını söyleyin. Maksimum kayıp seviyesini ya mevduat para biriminde ya da puan olarak ayarlayın. Böylece, eğer fiyat aleyhimize giderse, kaybı azaltmış oluruz ve eğer fiyat artıya dönüşürse, o zaman bir kayıp yerine, set TP'ye bağlı olarak bir tür kar, hatta daha küçük bir kayıp elde edebiliriz. Komut dosyası danışman modunda sürekli çalışmalıdır. Herhangi bir ticaret sistemi veya uzmanının asistanıdır.

Belki. Burada yardım edin.

 
valeryk :

Belki. Burada yardım edin.


Stoploss diye bir şey var!!!
 

Merhaba!Bir sorum var.Terminalde açık birkaç aynı pencere var.Her birine aynı Expert Advisor bağlı, ancak farklı ayarlarla.Lütfen MQL4'te izin veren herhangi bir fonksiyon veya hazır algoritma olup olmadığını söyleyin. Piyasa emrini hangi pencereden belirleyeceksiniz?

 
badbadboy :

Merhaba!Bir sorum var.Terminalde açık birkaç aynı pencere var.Her birine aynı Expert Advisor bağlı, ancak farklı ayarlarla.Lütfen MQL4'te izin veren herhangi bir fonksiyon veya hazır algoritma olup olmadığını söyleyin. Piyasa emrinin hangi pencereden açılacağını siz mi belirleyeceksiniz?

Danışmanın kopyalarını farklı şekilde adlandırmak daha mantıklıdır ve günlükte hangi mızrakları ve buna göre hangi pencerede zaten çözeceğinizi göreceksiniz!
 
borilunad :
Danışmanın kopyalarını farklı şekilde adlandırmak daha mantıklıdır ve günlükte hangi mızrakları ve buna göre hangi pencerede zaten çözeceğinizi göreceksiniz!

Çözeceğim ama bunu danışmana nasıl anlatabilirim?
 
borilunad :
Danışmanın kopyalarını farklı şekilde adlandırmak daha mantıklıdır ve günlükte hangi mızrakları ve buna göre hangi pencerede zaten çözeceğinizi göreceksiniz!

Danışmanın kendisi hesaplamalar yapmaya başlaması için buna ihtiyacım var.