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

 
Bayrak türünde global veya statik bir boole değişkeni yapın. Koşul geldiğinde ve bayrak=doğru olduğunda, bir emir açın ve bayrağı=yanlış yapın. Şimdi emir kapanırsa yeni bir emir açılmaz. Koşul ortadan kalktığında, flag=True öğesini yeniden ayarlayın.
 
Roger :
Bayrak türünde global veya statik bir boole değişkeni yapın. Koşul geldiğinde ve bayrak=doğru olduğunda, bir emir açın ve bayrağı=yanlış yapın. Şimdi emir kapanırsa yeni bir emir açılmaz. Koşul ortadan kalktığında, flag=True öğesini yeniden ayarlayın.

Siparişin açıldığını, ancak N koşulu nedeniyle tam olarak kapatıldığını nasıl öğrenebilirim? Çünkü birçok koşul vardır ve N koşulunun varlığı, siparişin sonuçlandığını garanti etmez.

Yani, siparişin verildiğini, ancak N koşulunun tetiklenmesi nedeniyle n mum önce kapatıldığını bilmem gerekiyor. Ve eğer N koşulu ortadan kalktıysa ve siparişin kapatıldığı andan itibaren n'den fazla mum geçmediyse, o zaman siparişi tekrar açmanız gerekiyor.

 
Xaoss1990 :

Siparişin açıldığını, ancak N koşulu nedeniyle tam olarak kapatıldığını nasıl öğrenebilirim? Çünkü birçok koşul vardır ve N koşulunun varlığı, siparişin sonuçlandığını garanti etmez.

Yani, siparişin verildiğini, ancak N koşulunun tetiklenmesi nedeniyle n mum önce kapatıldığını bilmem gerekiyor. Ve eğer N koşulu ortadan kalktıysa ve siparişin kapatıldığı andan itibaren n'den fazla mum geçmediyse, o zaman siparişi tekrar açmanız gerekiyor.


Alert() , Print()'i Logic ile daha aktif kullanın !
 
Xaoss1990 :

Söyleyin lütfen, beyler uzmanlar!

Durumu hayal edin: N. koşulunun tetiklenmesi nedeniyle bir durdurma tetiklendi . Ancak birkaç mumdan sonra N. koşul ortadan kalktı. N. koşul ortadan kalktıktan sonra bir anlaşmayı tekrar kapatmak için hangi işlevler kullanılabilir. Yani stopun belirli sayıda bar önce TAM OLARAK N. koşuldan dolayı tetiklendiğini belirlemeli ve N. koşul ortadan kalktığı için tekrar anlaşma yap!!!


programlı olarak - bir sipariş açarken - bir sihir ve bir yorum var - emrin açıldığı koşulla ilgili bilgiler sihir veya yorumlarda şifrelenebilir

genel olarak, durdurma bir koşul tarafından değil, fiyat seviyesine ulaşılarak tetiklenir - bu emir bir koşul tarafından kapatılabilir

 
Xaoss1990 :

Siparişin açıldığını, ancak N koşulu nedeniyle tam olarak kapatıldığını nasıl öğrenebilirim? Çünkü birçok koşul vardır ve N koşulunun varlığı, siparişin sonuçlandığını garanti etmez.

Yani, siparişin verildiğini, ancak N koşulunun tetiklenmesi nedeniyle n mum önce kapatıldığını bilmem gerekiyor. Ve eğer N koşulu ortadan kalktıysa ve siparişin kapatıldığı andan itibaren n'den fazla mum geçmediyse, o zaman siparişi tekrar açmanız gerekiyor.

çok mu zorlaştırıyorsun? Sonuçta, N koşulu da gerçekleşebilse de, X koşuluna göre kapatılabilir.

Çözüm, pozisyon yönetimi mantığınıza büyük ölçüde bağlıdır, örneğin, n mumdan daha geç olmamak üzere kapatılan emirleri bulun ve emrin kapatıldığı anda ve mevcut anda N olayını kontrol edin.

 
 int CountH,NewCountH,CountL,NewCountL;
 double ResistH,ResistL;
 
 //========================
 
 int start(){

 //--------------------------
   double bid = Bid;
   double UPPprice = bid+ 3000.0 * Point ;
   double LOWprice = bid- 3000.0 * Point ;
   NewCountH= 0 ;
   ResistH= 0 ;
   NewCountL= 0 ;
   ResistL= 0 ;
  
   while (LOWprice<UPPprice)
    {
      CountH= 0 ;
      CountL= 0 ;
       for ( int i= 1 ; i<= 6000 ; i++){  
           if (LOWprice> bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i))CountH++;  
           if (LOWprice<=bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i))CountL++;
       } 
       if (CountH>NewCountH){NewCountH=CountH;ResistH=LOWprice;} 
       if (CountL>NewCountL){NewCountL=CountL;ResistL=LOWprice;}   
      LOWprice=LOWprice+ 5 * Point ;
    }
 //----------------------------
 
 return ( 0 );
 }
Bu döngü nasıl "kolaylaştırılır"? Çok uzun süre sayılır.
 
DhP :

Bu döngü nasıl "kolaylaştırılır"? Çok uzun süre sayılır.


Anlamamış olabilirim, ama burada:

           if (LOWprice> bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i)) CountH++;  
           if (LOWprice<=bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i)) CountL++;
aynı koşul
 
abolk :


Belki anlamıyorum, ama burada:

aynı koşul - her durumda CountH, CountL'ye eşittir

Hayır, fiyat Tekliften daha yüksekse CountH'yi hesaplar, daha düşükse CountL'yi sayar
 
DhP :
Hayır, Fiyat Tekliften daha yüksekse, CountH olarak sayılır mı? daha düşükse, o zaman - CountL


Hesaplamayı hızlandırabilirsiniz :

azalt i<= 6000

 
abolk :


Hesaplamayı hızlandırabilirsiniz:

a) azaltmak i<= 6000
b) sadece çubuğun başında hesaplayın

a) i sayısını azaltmak mümkündür, ancak arzu edilmez. Bu yüzden yıl boyunca barlar alıyor.

b) Barın başında... Bu muhtemelen bir seçenektir. M15'te çalışır.

Ancak, her durumda, neredeyse 2 saniye sayılır.

Neden: