Uzman Danışmanlar: VR Breakdown level - Önceki High veya Low seviyesinin kırılmasına dayalı ticaret stratejisi

 

VR Breakdown level - Önceki High veya Low seviyesinin kırılmasına dayalı ticaret stratejisi:

Önceki High veya Low seviyelerinin basit kırılmasına dayalı ticaret stratejisi

VR Breakdown level - Önceki High veya Low seviyesinin kırılmasına dayalı ticaret stratejisi

Yazar: Vladimir Pastushak

 

Çok fazla gürültü var ve kod bazı yerlerde garip.

Örneğin, lot doğrulama kısmı.

// Sembol için minimum lot adımını alın
  double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
  if(stepvol > 0)
    // En yakın geçerli adıma yuvarlanmış lot büyüklüğünü hesapla
    lt = stepvol * (int)(iLots / stepvol);
// Hesaplanan lotun izin verilen minimum lottan az olup olmadığını kontrol edin
  if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN))
    lt = 0.0;  // Minimumun altındaysa 0 olarak ayarlanır (geçersiz)
// Başarılı başlatma döndür
  return(INIT_SUCCEEDED);
}

0.0 lotumuz var

Sonra OnTick()'e gidiyoruz ve lot "0.0" ile bir pozisyon açıyoruz.

if(trade.Buy(lt))

Bu ilginç bir yaklaşım, ticaretin karlı olacağını düşünüyorum.

--

Yeterli fon için basit bir kontrol yok, bu kontrol olmadan EA'nın demo modundan bahsetmeye gerek yok, test cihazında bile çalışması korkutucu.

--

Niyeti anlamıyorum, neden böyle bir yaklaşım, "herkes gibi ve her yerde" den farklı kılmak için --

  if(new_time != old_time)
    // old_time'ı güncelle ve true döndür (yeni çubuk algılandı)
    if((old_time = new_time) != NULL)
      return(true);

--

TP ve SL sıra ayarı kontrolü yanlış uygulanmıştır - başarısız olursa, pozisyon sıfır değerlerle rastgele bırakılır.



 
Vitaly Muzichenko #:

Çok fazla gürültü var ve kod bazı yerlerde biraz garip

Örneğin, lot doğrulama bölümü

0.0 lotumuz var.

Ardından OnTick()'e gidin ve lot "0.0" ile bir pozisyon açın.

İlginç bir yaklaşım, muhtemelen ticaret için karlı olacaktır

--

Yeterli fon için basit bir kontrol yok, bu kontrol olmadan EA'nın demo modundan bahsetmeye gerek yok, test cihazında bile çalışması korkutucu

--

"Herkes gibi ve her yerde" farklı kılma niyetini, neden böyle bir yaklaşım olduğunu anlamıyorum.

--

TP ve SL sıra ayarı kontrolü yanlış uygulanmıştır - başarısız olursa, pozisyon sıfır değerlerle rastgele bırakılır

Kodun bir kısmı yardım kullanılarak yapıldı, yani kendi kodlarımı yazmadım, ancak yeni başlayan programcıların tanıdık kodu görebilmeleri için bunları kaynaklardan aldım.

Böylece kod 1 satır daha kısa, benim için daha kullanışlı ve tanıdık, ayrıca yeni başlayanlar dilin ek olasılığını görecekler.

if(new_time != old_time)
    // old_time'ı güncelle ve true döndür (yeni çubuk algılandı)
    if((old_time = new_time) != NULL)
      return(true);

и

if(new_time != old_time)
    // old_time'ı güncelle ve true döndür (yeni çubuk algılandı)
      {
       old_time = new_time;
       return(true);
      }
 
Vitaly Muzichenko #:

TP ve SL emirlerini ayarlama kontrolü yanlış uygulanmıştır - başarısızlık durumunda pozisyon sıfır değerlerle rastgele bırakılır

Bununla ne yapılmalıdır?

Benim vizyonum , her durumda TP ve SL'yi ayarlamak , mesafenin izin verilen minimum değerden daha az olduğuna dair bir hata alırsak = izin verilen minimum değere ayar lamaktır.

Şimdi mevcut formda, sipariş ayarlanmıyor ve pozisyon rastgele terk edilmiş durumda kalıyor.

 
Merhaba, EA'nın MT4 sürümünde kodun düzeltildiğine dair bir gönderi gördüm, ancak MT5 sürümünde kod düzeltildi mi?