Ben böyle bir şey yaptım... - sayfa 14

 

Durdurma yasaklandı ve bir şekilde sessiz kaldı, bu yüzden onun için bir mesajla başlayacağım: Sergey, eğer bunu okuyorsan, mektubuna verdiğim cevabı alırsan bana bir şekilde haber ver.


Bu arada seviyeleri başka bir fikre göre işaretleyen bir senaryo yaptım - ve bu seviyeler harika görünüyor. Ne yazık ki, iyi istatistikler toplamak için çok ağır. Ancak, hemen hemen her seviyedeki sistemin fiyat tablosunda harika görüneceği şüphesi sürünmeye başlar :)


Ek olarak, zamanı seçtim ve yukarıda açıklanan algoritmaya göre bir test danışmanı yazdım, tekrar ediyorum, anladığım kadarıyla Halt tarafından açıklanana neredeyse tam olarak karşılık geliyor. Gerçekten test etmedim çünkü yeni bitirdim ve danışmanları da sevmiyorum. Ama işe yarıyor gibi görünüyor. Burada, netlik için, başlangıcı (), ekteki tam kod.

 int start() {
   if (Start) {
    Start = false;
    HalfPoint = 0.5 * Point ;
    DLvl = 1000 * Point ;
    RecDLvl = 1.0 /DLvl;
    dStopLevel = StopLevel* Point ;
  }

// Блок сопровождения ордеров
   double Price;
   bool IsBuyStop = false;
   bool IsSellStop = false;
   for ( int ord= OrdersTotal ();ord>= 0 ;ord--) {
     if ( OrderSelect (ord,SELECT_BY_POS,MODE_TRADES)==false) continue ;
     switch (OrderType()) {
       case OP_BUY: 
         if ( TimeCurrent ()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Bid, 5 , Blue );
         break ;
       case OP_SELL: 
         if ( TimeCurrent ()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Ask, 5 , Yellow );
         break ;
       case OP_BUYSTOP: 
        IsBuyStop = true;
        Price = GetBuyStopLevel(dStopLevel);
         if (OrderOpenPrice()-Price > HalfPoint) OrderModify(OrderTicket(), NormalizeDouble (Price, Digits ), 0 , 0 , 0 , Blue );
         break ;
       case OP_SELLSTOP: 
        IsSellStop = true;
        Price = GetSellStopLevel(dStopLevel);
         if (Price-OrderOpenPrice() > HalfPoint) OrderModify(OrderTicket(), NormalizeDouble (Price, Digits ), 0 , 0 , 0 , Yellow );
         break ;
    }   //  switch(OrderType())
  }   //  for(int ord=OrdersTotal();ord>=0;ord--)
  
//  Блок установки орлеров  
   static int Mnt;
   static int PreMnt;
  Mnt = TimeMinute( TimeCurrent ());
   if (Mnt != PreMnt) {
    PreMnt = Mnt;
     if (!IsBuyStop) OrderSend ( Symbol (),OP_BUYSTOP,Lots(), NormalizeDouble (GetBuyStopLevel(dStopLevel), Digits ), 5 , 0 , 0 , NULL , 0 , 0 , Blue );
     if (!IsSellStop) OrderSend ( Symbol (),OP_SELLSTOP,Lots(), NormalizeDouble (GetSellStopLevel(dStopLevel), Digits ), 5 , 0 , 0 , NULL , 0 , 0 , Yellow );
  }
   return ( 0 );
}

Halt olmadan başka bir hamle yok, bunun onun sınavı olup olmadığını söylemesi gerekiyor.


PS Expert yalnızca beş basamaklı için.

Dosyalar:
 

Uzman Danışman değiştirildi, seviyeye yakın bir geri dönüşe odaklanırsak, seviyeye ilk yaklaşımda bir durdurma emri verilmemelidir. Kabaca söylemek gerekirse, önceki uzmanın her seviyede aynı sayıda alış ve satış vermesi gerekir ve bu, yukarıdan yaklaşırken ve yükselirken bir alım daha, tersi ise bir satış daha olur.

00 seviyesi ve durdurma seviyesi için tahliye eğimi 20 pp'dir (beş haneli), işlem başına biraz daha küçük bir yayılmaya sahiptir, bu 2004 yazından itibaren bir Eurodolar'dır.

Terazinin seviyeye bağımlılığı (yani, 50 n'lik (beş basamaklı) bir adımla Delta parametresi ile optimizasyon, dakika çubuklarının kesişimleri hakkında daha önce elde edilen verilerle oldukça tutarlıdır)


İşlerin mantığına göre artık pek çok şeyi konuşmanın zamanı geldi; ayakkabılar hakkında, gemiler hakkında, hakkında mum mühürler, lahanalar ve krallar hakkında ve diğer bağlamlar ve filtreler hakkında . :)

 

zaman / oynaklıkta kırılma ve geri tepme için duraklamalar ve boşluk bırakma stratejileri sunmaya çalışın.

 

Olası seçeneklerin sayısı çok fazladır, bu nedenle toplu araştırma mantıklıdır. Kodu değiştirmeniz gerektiği açıktır, yani mql'de bazı başlangıç becerileri olmadan yönetmek zor olacaktır. Ana şey, yalnızca sonuçların ve elde edilme biçimlerinin yayınlanması durumunda faydalı olacağıdır. Eh, bir kişi kâseyi tutabilir :), ama insanlar kesinlikle olumsuz sonuçları bilmeli.


Girmek için durur - bu, koda tamamen standart bir eklemedir. Ama bence bunlar uzak "sigorta" durakları değilse, o zaman bu, başka bir uydurma yolundan başka bir şey vermeyecektir.


Bir koparma stratejisi yapmak çok kolay görünüyor - aynı yönde herhangi bir emir varsa (sadece bekleyen bir emir değil) emir vermeyi yasaklamak ve yeterince büyük bir durma seviyesi ayarlamak (seviyeler arasındaki mesafeyle karşılaştırılabilir) yeterlidir. . Ancak bu basit ve güzel şemadan doğru bir tek kırıcı yapmak için başarılı olamadım. Teorik olarak, seviyeyi geçme gerçeğini tespit etmemiz ve ancak ondan sonra sipariş vermemiz gerekiyor. İncelik, bu gerçeğin en yakın seviye için standart şekilde tespit edilmemesidir - sonuçta, en yakın seviye, geçiş anında seker. Ve eğer ortalama tam olarak aynı seviyeye düşerse, kavşak üç tik kadar sürebilir. Bu nedenle, bir önceki gönderiden elde edilen sonuçlar gözle görülür şekilde değiştirilmiş bir Expert Advisor'da elde edildi, kod tabanı için önerdiğim için burada yayınlamadım (ve konuya olan gerçek ilgi düzeyini başka nasıl anlayabilirim :)).


Zaman filtreleri en verimli olarak kabul edilir ve genellikle uygulanması oldukça kolaydır, sonuçları görmek ilginç olurdu. Kişisel olarak yapabilirsiniz :)


Elbette, uçuculuk filtreleri de büyük ilgi görüyor, ancak burada inşa etmek için daha da fazla seçenek var, bunlar için özel seçenekler ve sonuçlara ihtiyaç var.

 
Burada bir uzman bulunabilir.
 

LevelsTrade_1.mq4 Expert Advisor'da asimetrik alım satımlara yol açan bir yanlışlık bulundu. İşte bu fonksiyonda bir satırı değiştirmeniz gerekiyor:

 double GetSellStopLevel( double StopLvl) {
   int ILvl = (Bid+HalfPoint)*RecDLvl;
   double DownLvl = DLvl*ILvl;
//  if (DownLvl > Bid-StopLvl-HalfPoint) DownLvl -= DLvl ;
   if (Bid-StopLvl < DownLvl-HalfPoint) DownLvl -= DLvl ;
   return (DownLvl);
}

Burada yanlış satır yorumlanmıştır. Doğru sürüm gönderiye eklenmiştir.

Dosyalar:
 
Balbesik06 :



kandida!

Seni gördüm ve sana döndüm.

Soru konu dışı.

Zig-Zag'a dönmek ister misiniz?

Size PM'de yazdım cevap gelmedi.

Danışmana gelince (tartışmak isteseniz de istemeseniz de), istatistiklerim (kendi başıma) 7(+) - 1(-), ancak başka bir yazarın danışmanı.

Ve bir sürü soru.

Şöyle yapalım, (PM'de) kontrol ederseniz ve istatistikler onaylanırsa, şemanıza göre benim için Zig-Zag'ı düzeltirsiniz.

Ve algoritmayı düzenleme hakkına sahipsiniz (danışmana göre).

düzenler mi?

Samimi olarak.

 
Balbesik06 :

...

Size PM'de yazdım cevap gelmedi.

PM'de hiçbir şey yoktu, tekrar deneyin. Aşırı durumlarda, e-posta ile yapabilirsiniz, profilde bir sayfa adresi var, e-postamı orada bulmak kolay
 
Balbesik06 :

"... Aşırı durumlarda, e-posta gönderebilirsiniz ,,,"

Evet probovap - konu dışı.

Özü basittir - ONIX'te sizinki hariç herkesin "uçup gittiği" gösterilmiştir.

"TUTMAYIN" alıntıları varsa, herhangi bir sunucudaki noktayı görmüyorum.

Samimi olarak.


PS Ve deneyin (zor değilse) yazın - Merhaba.
 

Hmm, Onyx'te PM'yi kontrol ettim (ve oraya nadiren bakarım), boş. Ve postayla ilgili sorunlar kesinlikle gizemlidir.

Eugene, şunu yapalım: Bu forumdaki kişisel bilgilerini kontrol et, dünden beri benden bir mesaj olmalı. Sadece cevaplayın, sorunu tanımlayın veya açıklamasına bir bağlantı verin, tam olarak neye ihtiyacınız olduğunu yazın.

Anladığım kadarıyla, farklı ZigZag'lerin üst kısımlarının asılmasıyla ilgili bir sorun var. Benimkilerde bu sorun yok. Bu zikzakı yazdığımda (ve büyük olasılıkla CZZ ile ilgili), köşeleri asma sorununun neredeyse evrensel olduğunu hatırlıyorum. Nedenini anlamaya çalıştım ve bana öyle geliyor ki anladım. Ama o zamandan beri köprünün altından çok sular aktı ve sanırım artık pek çok zikzak da artık asılı değil.

Her durumda, tam olarak neye ihtiyacınız olduğu belli değil mi? ZUP kitinde bulunan tüm zikzakları yeniden yapmak için mi?

Neden: