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

 
happybuddhist :

Genel olarak, TS'm için siparişleri kapatmak için bir işlev yazma (3. nokta) ve mevcut kodu işleve uyarlama konusunda yardıma ihtiyacım var.

Görmek. ;)

Dosyalar:
ln_3.mq4  4 kb
 
hoz :

Ama bir an var. Orada, her durumda, ifadenin çıkış işaretindeki bir değişiklik sorunu çözmez. Sonuçta, sıfırlamanın gerçekleştiği anda açılış ve kapanış fiyatlarının "takas edilmesi" gerekir.


Görünüşe göre yanılıyorsunuz. +(ab)=ab için -(ab)=-a-(-b)=-a+b=ba. İşaret değişikliği ile yer değiştirirler.

saat :

Vadim , kısa bir süre önce bir fonksiyon döngüsü içine koymanın kod yürütmesini hız açısından büyüklük sırasına göre yavaşlattığını yazdı.


Vadim'i anladığım kadarıyla, bir döngüde özel bir işlev çağırmayı kastetmişti.

şarap :

Muhtemelen kendi konunuzu açmalısınız. Neden "Yeni başlayanlar için bir şubeye" ihtiyacınız var?
Evet, yeni başlayanların neden Masha'nın anatomisini ve dönemlerini anlaması gerekiyor))) Yeni başlayanlardan farkım yok, belki sadece okuma yazma bilmediğim için, bu yüzden her şeye beynimle ulaşmaya çalışıyorum.

saat :

cntUp ve cntDn sayaçlarını farklı yaptım çünkü hesaplanan çubuklar döngüsünde bir hesaplama varsa, DirectionMA hemen bir değere ve ardından başka bir değere sahip olabilir. Ve sayaç bir değeri toplayabilir, diğerini toplamaya devam edebilir. Ve eğer sadece bir değişken varsa, o zaman bir niteliğin çubuklarının sayısı başka bir niteliğin çubuklarının sayacına eklenecektir.


Farklı bir sayaç var. Mum diğer yöne giderse sayaç formüle göre sıfırlanır. Ya ben seni anlamadım Daha yavaş çalışabilen tek şey. Eller uzanacak, itiraz edeceğim.

 
gyfto : ... Optimizasyon hakkında bir sorum var. EMA algoritmasını anlamak...
Peki, bir sonraki ağırlık öncekinden daha önemliyse, sadece güç işlevini sarabiliyorsanız, son ağırlığı neden bu kadar yüksek almanız gerekiyor? Özyinelemenin sonundan sonraki son ağırlıklar bir formülle türetilebiliyorsa, özyinelemeyi neden kullandığımı bile sormuyorum (bkz. F(n,x) ve y(n,x)).
Vinin : Muhtemelen kendi konunu açmalısın. Neden "Yeni başlayanlar için bir şubeye" ihtiyacınız var?
gyfto : ... Evet, yeni başlayanların neden anatomiyi ve el hareketinin dönemlerini anlaması gerekiyor))) Yeni başlayanlardan farklı değilim, belki sadece okuma yazma bilmediğim için, bu yüzden her şeye ulaşmaya çalışıyorum beynim. ...
Şimdi "Sorular on EMA" gibi bir konu açalım ve matkad dosyasını ekleyelim. Burada gönderiniz basitçe kaybolacak. Ayrı bir dalda, matana guruları her şeyi parçalara ayırmalıdır.
 
GaryKa :
Şimdi "Sorular on EMA" gibi bir konu açalım ve matkad dosyasını ekleyelim. Burada gönderiniz basitçe kaybolacak. Ayrı bir dalda, matana guruları her şeyi parçalara ayırmalıdır.

Büyük olasılıkla, sorunun cevabının kaybolacağını kastediyorsunuz. Peki, bir şube açacağım, o gönderiyi düzenleyeceğim, taşınmış olarak yazacağım.
 
TarasBY :

Görmek. ;)


HM teşekkür ederim. Ve optimizasyondan bu tür sonuçlar?
 
gyfto :

Görünüşe göre yanılıyorsunuz. +(ab)=ab için -(ab)=-a-(-b)=-a+b=ba. İşaret değişikliği ile yer değiştirirler.

Yani matematikten eksi eksi artı artı verir. Ve artı eksi eksi verir. Ama değişkenlerin yer değiştirdiğini ilk defa duyuyorum.

hediye :

Vadim'i anladığım kadarıyla, bir döngüde özel bir işlev çağırmayı kastetmişti.

Orada özel bir işlevim var. Orijinal işlevin kısaltılmamış versiyonu buradadır, çünkü Şimdiye kadar olması gerektiği gibi çalışmıyor, evrensel bir görünüm vermemeye karar verdim:

 //+-------------------------------------------------------------------------------------+
//| Расчитываем количество идущих один за одним баров одного признака                   |
//+-------------------------------------------------------------------------------------+
int LastCandlesType( int directionMA)
{
   int cntUp,                                                                             // Счётчик идущих друг за другом свечей с..
       cntDn;                                                                                 // .. требуемыми признаками
       
   for ( int i=i_AnyBarsToHistory; i>= 1 ; i--)
   {
       if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)               // Если бар соответствует требуемым признакам..
             cntDn++;                                                                     // .. прибавим 1 к счётчику

         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntDn = 0 ;                                                                   // .. счётчик обнуляем

         if (cntDn == i_sequentBarsСount)                                                   // Если cnt баров в подряд медвежьи..
             return (REQUIRED_SEQUENTIAL_BEARS_GOT);                                         // .. Выходим из функции
      }

       if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)               // Если бар соответствует требуемым признакам..
             cntUp++;                                                                     // .. прибавим 1 к счётчику

         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntUp = 0 ;                                                                   // .. счётчик обнуляем
     
         if (cntUp == i_sequentBarsСount)                                                   // Если cnt баров в подряд бычьи..
             return (REQUIRED_SEQUENTIAL_BULLS_GOT);                                         // .. Выходим из функции
      }
   }
}

Döngü içinde, ortak bir sinyal alan bir fonksiyondan bu değişken değerini alır ve parametre olarak iletilir:

 int directionMA = GetStateOfMA();

hediye :
Evet, yeni başlayanların neden Masha'nın anatomisini ve dönemlerini anlaması gerekiyor))) Yeni başlayanlardan farkım yok, belki sadece okuma yazma bilmediğim için, bu yüzden her şeye beynimle ulaşmaya çalışıyorum.

haklı değilsin Aslında, cehalet sorunu yoktur. Burada pek çok yeni başlayanın anlamadığı düşünceleriniz var ...

hediye :

Farklı bir sayaç var. Mum diğer yöne giderse sayaç formüle göre sıfırlanır. Ya ben seni anlamadım Daha yavaş çalışabilen tek şey. Eller uzanacak, itiraz edeceğim.

Evet. Ancak, i_AnyBarsToHistory indeksli çubuktan indeks 1'li çubuğa kadar değerlerin hesaplandığı bir sayacımız var. Dizin 30'dan dizin 15'e kadar olan çubuklarda aşağıdaki koşulun karşılandığı ortaya çıktı:

directionMA == CROSS_UP

ve sonra, örneğin, cnt=2 ise, koşul yerine getirilecektir:

directionMA == CROSS_DN

Ardından cnt, geçmiş değere yükselir. Eğer 2 ise, yeni koşul altında 1 eklenecek, sonra cnt=3 olacak ve fonksiyondan 3 değeri ile çıkılacaktır. Ne demek istediğimi anlıyor musunuz? Daha yakından bakın, burada mantık prensipte açıktır.

 

Tünaydın.

danışmandaki göstergelerin parametrelerini değiştirme deneyimi olan var mı?

oynaklığa bağlı olarak (örneğin MA parametreleri) ?

Ya da okumam için bir link verebilir misin?

 
Stells :

Tünaydın.

danışmandaki göstergelerin parametrelerini değiştirme deneyimi olan var mı?

oynaklığa bağlı olarak (örneğin MA parametreleri) ?

Ya da okumam için bir link verebilir misin?


Hareketli ortalamanın ne olduğunu anlarsanız, bu tür sorular kendiliğinden kaybolacaktır.
 
hoz :
Hareketin ne olduğunu anlarsanız, bu tür sorular kendiliğinden kaybolacaktır.
Güzel yaşamayı yasaklayamazsın...

Uyarlanabilir MA
 
İyi günler, basit bir senaryo yazmak için yardıma veya bir uzmana ihtiyacım var' eğer senaryo bunu yapamazsa, kendimi hiç programlamadım Senaryonun özü Giriş - fiyatların alınması (mevcut talep ve teklif) - gelecekteki bir satın almanın fiyatını belirleme / satış (sayısının katı olarak "örneğin 30" )- bu fiyatlarda açık / bekleyen emir olup olmadığını öğrenme - emir yoksa, belirtilen zararı durdur ve kar al ile bekleyen emirler vermek - varsa gelecekteki satın almanın bir sonraki fiyatı için bir kontrol, satın almak için bir kat daha fazla, satış için - bir kattan daha az - tavan mevcut fiyatı kontrol edin +-100*çok - 5 dakika bekleyin ve "fiyatları alma"ya gidin bekleme herhangi bir onay işaretinden sonra "fiyat alma" seçeneğine gidilerek değiştirilebilir