[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 74

 
Figar0 >> :

Bu nasıl bir tasarım ki?

Evet, zaten anladım ve testten geçirdim.

tasarım iyi ve o kadar net ki göstergenin değerini basitçe kaldırdı, ne karıştırıyor?

 
1Rakso писал(а) >>

Evet, zaten anladım ve testten geçirdim.

Tasarım o kadar net ki, göstergenin değerini basitçe kaldırdı, kafanızı ne karıştırıyor?

Ne olduğu belli değil, ne sorduklarını anlarsan nasıl cevap verebilirsin?

Varsayılan olarak, MT'deki tüm göstergeler Bid'e göre oluşturulur (bu yüzden ne olduğunu sordum) ve bu nedenle, aşağıdaki ne olursa olsun, al veya sat ne olursa olsun onları Bid ile karşılaştırmak doğrudur. Ve çok doğru.

 
anat >> :



Bu if( iSAR (NULL,0,step0,0.1,0)<Close[0]) yapısına nasıl bir koşul ekleyeceğimi söyleyebilir misiniz? TÜM alım pozisyonları kapanana kadar açılmaz. Yani bir ticaret döngüsü, 3 pozisyon aldık, üçü de kapanana kadar bekliyoruz. Pozisyonlar sadece zararı durdur veya kârı al ile kapatılır. Tüm pozisyonlar kapalı, bir sinyal bekliyoruz, bir sinyal geldi, üç pozisyon alıyoruz veya satıyoruz (sinyale bağlı olarak) vb. "KimIV'ten faydalı fonksiyonlar" incelendi. CountOrders(), ExistOrders(), ExistPositions() işlevlerini kullanabilirsiniz. Ama onları pratik olarak nasıl yerleştirirsiniz? if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) yapısı çalışmıyor. Bir boole değişkeni eklemem gerektiğini anlıyorum, ancak pratik olarak nasıl yapılır? Ne yakalayamam.


Konunun tamamını okudum. Bulduğum çözüm şu - kodun tamamını küme parantezleri içine alıyoruz, onlardan önce if (OrdersTotal ( ) == 0) yazıyoruz. Brüt, ama işe yarıyor. Herhangi bir sayıda siparişi açmak için, if (OrdersTotal() >=maxOpen) return;
 
anat >> :
Konunun tamamını okudum. Bulduğum çözüm şu - kodun tamamını küme parantezleri içine alıyoruz, onlardan önce if (OrdersTotal ( ) == 0) yazıyoruz. Brüt, ama işe yarıyor. Herhangi bir sayıda siparişi açmak için, if (OrdersTotal() >=maxOpen) return;

Total_sell ve Total_buy'u ayırmanız gerekiyorsa, işlevi kullanmayı deneyin

int CalculateCurrentOrders(dize sembolü) SimpleMACD'den

 int CalculateCurrentOrders ( int Type ) // OP_BUY , OP_SELL
  {
   int buys = 0 ;
//----
   for ( int i = 0 ; i < OrdersTotal ( ) ; i + + )
     {
      if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) = = false ) break ;
      if ( OrderSymbol ( ) = = Symbol ( ) )
        {
         if ( OrderType ( ) = = Type )  buys + + ;
        }
     } return ( buys ) ;
  }
 
lütfen bana hangi fonksiyonun mevcut mumun kapanış zamanını döndürdüğünü söyleyin???
 
Diver-si >> :

Bunlar stratejist değil, sadece bir varsayımın test edilmesi gerekiyor. Bu arada, danışman neden anlaşma yapmıyor? nedenini anlamıyorum.

bilmiyorum. Test cihazında çalıştırdım, her şey benim için çalıştı. Belki de parametrelerde bir hata yaptınız. Veya danışmanın ticaret yapmasına izin vermek için kutuyu işaretlemediler. Ve kıdemli TF'nin zamanı dakikalar içinde belirlendi! TFUP değişkenindekiler m5 değil 5'i, m30'u değil 30'u, H1'i değil 60'ı vb. gösterir.

 
gmMarat писал(а) >>
lütfen bana hangi fonksiyonun mevcut mumun kapanış zamanını döndürdüğünü söyleyin???

Mevcut mumun kapanış zamanı nedir? Mevcut mum henüz kapanmadı, aksi takdirde artık güncel değil, bu zamanı şu şekilde kabul edebilirsiniz Time[0]+Period()*60

 
Figar0 >> :

Mevcut mumun kapanış zamanı nedir? Mevcut mum henüz kapanmadı, aksi takdirde artık güncel değil, bu zamanı şu şekilde kabul edebilirsiniz Time[0]+Period()*60

Figar0 teşekkürler, ihtiyacım olan buydu

 
Bir lot işlem yaparken bir puanın değeri nasıl belirlenir? Bana MarketInfo (Symbol(),MODE_LOTSIZE)*Point formülü önerildi, ancak bu kesinlikle yanlış! USDJPY için 100000$*0,001=100$ alıyoruz, ancak çoğu enstrümanda olduğu gibi aslında bir dolar.
 
Цена 1 пункта для стандартного лота:
 
double ad.QuotePoint   = MarketInfo ( Symbol () , MODE_POINT     )      ;
double ad.QuoteTick    = MarketInfo ( Symbol () , MODE_TICKSIZE  )      ;
double ad.NominalTick  = MarketInfo ( Symbol () , MODE_TICKVALUE )      ;

double ad.NominalPoint = ad.NominalTick  * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота
Цена 1 пункта для ордера известного размера "ad.OrderSize":

double ad.OrderPoint   = ad.NominalPoint * ad.OrderSize                 ;