Pazar: alım satım işlemi yok - sayfa 7

 
Vitaly Muzichenko :

Doğru/yanlış kontrolü değil, lot dönüşü olan normal bir işlev oluşturun

Ve ekstra kontroller yapmayı sever. Ne de olsa, bunun bir strateji test cihazı olup olmadığını kontrol etmek, ardından ayrıca dönen lotu kontrol etme fonksiyonunun ne olduğunu kontrol etmek gerekiyor ( CheckVolumeValue )...

 
Evgeny Belyaev :

çapraz mı okuyorsun

Benim için başka soru var mı?

Sinyali gördüğümüzde kâseniz nerede?

ürünlerin bileşimine göre değerlendirerek danışmanları Pazara atmadınız

böyle...

elveda

;)

 
Vladislav Andruschenko :


O zaman bu bir sorun olmamalı.

aynı çoklu para birimi, testi geçer.

Ve hiçbir ticaret işlemi testçinin havasından olamaz :-) - dada o havasında değil (güncellenmiş, uyku, izinli) ve işlem yapmıyor.

Başka bir yayılmayı denemek veya bir gün beklemek yeterli ve yine ruh halindeki her şeyi özlüyor.

Testi sorunsuz geçiyorum, fonksiyonlar mükemmel çalışıyor. Minimum lot için kontrolü kaldırdım, izin verilen minimum 0,01'den fazlaysa ticaret yapmamamız için yapıldı.
Doğrulayıcıda lotun 0.01'den fazla olduğunu görebilirsiniz, bu yüzden ticaret yapmadım.

 
Renat Akhtyamov :

ürünlerin bileşimine göre değerlendirerek danışmanları Pazara atmadınız

böyle...

elveda

;)

Nasıl atılır. bu yüzden yine bir serseri. Size PM olarak bir link göndereyim mi yoksa kendiniz mi bulacaksınız?

Sinyali gördüğümüzde kâseniz nerede?

Chela için bile çalıştı


 

Bakın, ayarlarımdan ilk lotu alıyorum, bu da ancak kullanıcı lota girerken bir hata yaparsa izin verilenden daha az olabileceği anlamına geliyor.

Örneğin, kullanıcı bir yazım hatası yapmış ve 0,005 yazmış ve 0,05 lot ile işlem yapmak istemiştir - kontrol ettiğinizde baykuşlar 0,01 lot ile işlem yapmaya başlayacaktır (diyelim ki 0,01 min lottur)

ve kontrol ettiğimde, kullanıcıya yanlış girilen parti hakkında bir çıktı verilecek, bir uyarı ekleyebilirsiniz, aksi takdirde asla bilemezsiniz.

Bence bu zaten kişisel bir karar meselesi, kim isterse ve ....

Bu arada, kontrolün de başarısız olduğu kodun bir kısmı (daha önce de yazdım):

 double CheckVolumeValue( double volume)
{
   double min_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MIN );
   if (volume<min_volume)
   {
       Print ( "Volume is less than the minimum" );
       return (min_volume);
   }

   double max_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MAX );
   if (volume>max_volume)
   {
       Print ( "Volume is greater than the maximum" );
       return (max_volume);
   }
 ......

}
 
Evgeny Belyaev :

Nasıl atılır. bu yüzden yine bir serseri. Linki PM atayım mı yoksa kendin mi bulacaksın?

Sinyali gördüğümüzde kâseniz nerede?

Başkalarının fikirleri için avcılarla bu tür konuları konuşmamayı tercih ederim.

 
Renat Akhtyamov :

Başkalarının fikirleri için avcılarla bu tür konuları konuşmamayı tercih ederim.

O zaman neden konuşuyorsun? )

Beni sıktın. Hepimiz CME'den hesaplanmış hacimlere sahip bir sinyal bekliyoruz. CME'de takas yok mu?

 
Maksim Neimerik :

Bakın, ayarlarımdan ilk lotu alıyorum, bu da ancak kullanıcı lota girerken bir hata yaparsa izin verilenden daha az olabileceği anlamına geliyor.

Örneğin, kullanıcı bir yazım hatası yapmış ve 0,005 yazmış ve 0,05 lot ile işlem yapmak istemiştir - kontrol ettiğinizde baykuşlar 0,01 lot ile işlem yapmaya başlayacaktır (diyelim ki 0,01 min lottur)

ve kontrol ettiğimde, kullanıcıya yanlış girilen parti hakkında bir çıktı verilecek, bir uyarı ekleyebilirsiniz, aksi takdirde asla bilemezsiniz.

Bence bu zaten kişisel bir karar meselesi, kim isterse ve ....

Bu arada, kontrolün de başarısız olduğu kodun bir kısmı (daha önce de yazdım):

İlk önce her şeyi yapmanız ve ancak o zaman min / max olup olmadığını kontrol etmeniz gerekir.

 double CheckVolumeValue( double volume)
{
   double min_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MIN );
   double max_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MAX );
 ...

   if (volume<min_volume)
   {
       Print ( "Volume is less than the minimum" );
       return (min_volume);
   }

   
   if (volume>max_volume)
   {
       Print ( "Volume is greater than the maximum" );
       return (max_volume);
   }
}

peki, döndükten hemen sonra normalleştirme yapın

 return ( NormalizeDouble (volume,LotDigit(symb)));
 
Vitaly Muzichenko :

İlk önce her şeyi yapmanız ve ancak o zaman min / max olup olmadığını kontrol etmeniz gerekir.

peki, döndükten hemen sonra normalleştirme yapın

Tamam, bu konuşmayı bitirme zamanı.

Hemen bazı hayali eksiklikler gördünüz, ancak öz (partinin iadesi hakkında yazdım) dikkatiniz dışında kaldı ...

Yardımlarınız için hepinize teşekkür ederim!

 
Maksim Neimerik :

Tamam, bu konuşmayı bitirme zamanı.

Hemen bazı hayali eksiklikler gördünüz, ancak öz (partinin iadesi hakkında yazdım) dikkatiniz dışında kaldı ...

Yardımlarınız için hepinize teşekkür ederim!

Maxim, beni duyabiliyor musun?

Verdiğim kodu ve mesajı tekrar oku

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Pazar: alım satım işlemi yok

Vitaly Muzichenko , 2020.01.27 18:37

İlk önce her şeyi yapmanız ve ancak o zaman min / max olup olmadığını kontrol etmeniz gerekir.

 double CheckVolumeValue( double volume)
{
   double min_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MIN );
   double max_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MAX );
 ...

   if (volume<min_volume)
   {
       Print ( "Volume is less than the minimum" );
       return (min_volume);
   }

   
   if (volume>max_volume)
   {
       Print ( "Volume is greater than the maximum" );
       return (max_volume);
   }
}

peki, döndükten hemen sonra normalleştirme yapın

 return ( NormalizeDouble (volume,LotDigit(symb)));

Min / max için hemen kontrol ediyorsunuz ve ardından hesaplamalar ve bu nedenle hesaplamada zaten herhangi bir şey olabilir. Hesaplamalardan sonra, ÖNCE değil, min / maks için kontrol etmek gerekir.

----------------------------

Ama benim)


Neden: