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

 
palesandr :

Anlamı, n mum için ortalama açma-kapama değerini bulun

sadece aşağı doğru bir çizgi çizer

Sorun nedir ?

1) iç döngüyü düzeltin

k 1'den değil, i'den

2) ilk adımlarda tarihin ötesine geçin

 
granit77 :
Ayrıca nasıl doğru bir şekilde yapılacağına dair bir örnek görmek isterim.

Ve burada ne zor olabilir?

 #property copyright "Bicus"
#property link       "Bicus"


double aPrices [ 5 ];

void PutStack ( double p_Price)
{
   int nCounter;
  
   for (nCounter = 4 ; nCounter > 0 ; nCounter--)
    aPrices [nCounter] = aPrices [nCounter - 1 ];
    
  aPrices [ 0 ] = p_Price;
}

int start()
{
   int nCounter;
  
  PutStack (Bid);
  
   for (nCounter = 0 ; nCounter < 5 ; nCounter++)
     Print (nCounter, "-й тик: " , DoubleToStr (aPrices [nCounter], Digits ));
}

Dizinin 0. elemanı son tik fiyatına sahip olacak, 1. eleman 1 tik önceki fiyatına sahip olacak, 2. eleman 2 tik önceki fiyatına sahip olacak ve bu böyle devam edecektir.

Yoksa bir şeyi yanlış mı anladım ve tamamen farklı bir şey mi kastettim?

 
palesandr :

Anlamı, n mum için ortalama açma-kapama değerini bulun

sadece aşağı doğru bir çizgi çizer

Sorun nedir ?


 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red 

extern double n = 50 ;
double Buf_0[];

int init()
  {
 SetIndexBuffer ( 0 ,Buf_0);
 SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );    
    
   return ( 0 );
  }

int start()
  {
   int     Counted_bars= IndicatorCounted ();
      
   double v;
   int i= Bars -Counted_bars- 1 ;
 
   while (i>= 0 )  
  {  v= 0 ; 
           for ( int k=i;k<i+n;k++)
        {
      
        v=v+ MathAbs (Open[k]-Close[k]);
       
        
      }
       Buf_0[i] = v/n;
       
       i--;
       }
 return ;
 }
 
Bicus :

Ve burada ne zor olabilir?

Dizinin 0. öğesi son tik fiyatına, 1. öğe 1 tik öncesi fiyatına, 2. öğe 2 tik önceki fiyatına vb. sahip olacaktır.

Yoksa bir şeyi yanlış mı anladım ve tamamen farklı bir şey mi kastettim?

Teşekkürler, tam olarak ihtiyacınız olan şey. Karmaşık bir şey yok gibi görünüyor, ancak programlamanın temellerini bilmeyen insanlar için basit şeyler bazen çok zaman alabilir. Her şeyi sıfırdan icat etmek zorundalar.
İşte sizler için mesela "bubble sort" alfabenin bir unsuru ama ben sadece duydum ve gözümün önünde bir örnek olmasa yine yazardım :))
 
"Bir sonraki çubuğu atla" hazır işlevi olan var mı? :)
 
Herkese merhaba ve iyi şanslar. Herhangi birinin RSI'ya benzer bir göstergesi olup olmadığını sormak istedim, ancak bu asla ayrılmaz. Teşekkür ederim.
 
ikatsko :
"Bir sonraki çubuğu atla" hazır işlevi olan var mı? :)

if(iTime( Symbol() ,bar_period, number_of_bars_to_pass)>OrderOpenTime()

Number_of_bars_to_skip'i atla

0 - geçerli olanı atlar, 1 - şimdiki ve sonraki vb.

 

Yusuf :
Bu forumda geçenlerde, aynı SL ile aynı anda 2 zıt yönlü emir açarsanız, birini kapattıktan sonra kar elde etmeye çalışabileceğiniz fikrini okudum. Bu fikri test eden var mı, denemeyen var mı? Belki benzer bir danışman vardır?
160777 :

Uzman Izgarası v.2.

"Telif Hakkı©2008 EAfactory.com ve Expert-4x.com - "Revizyon: 264""

Pozisyonları her iki yönde açar ve fark pozitifse her ikisini de kapatır.

Beni aydınlatın, siparişler parti büyüklüğüne eşitse nasıl siyahta olabilirsiniz? Toplam konum her zaman eksi çift yayılmaya eşit olacaktır.

Başka bir şey, emirlerin farklı lotları varsa: o zaman zararı durdur aynı değildir, ancak daha küçük olanın zararı durdur, büyük olanın alımına eşittir. O zaman onların eşzamanlı kapanması, eğer nasıl hesaplanacağını biliyorsanız, bir kâra yol açar.

 

Merhaba! MQL kullanarak Statement.htm nasıl kaydedilir? Biri biliyor mu?

 

Bu komut dosyasına göre veya bu komut dosyasından uzaklaşarak satır eşlemelerinin nasıl yapıldığını çözemiyorum ya da belki yanılıyorum:

   //---------------------------------
  
         double PriceBid = Bid;
         double PriceAsk = Ask;
         double be = GetWeightedBELevel();

         if (be != - 1 )
        {
                 double BuyLots = GetBuyLotsSum();
                 double SellLots = GetSellLotsSum();
                
                 double Swap = GetSwap();
                 //string str = be + " ";
                 if (Swap < 0 )
                {
                         double diff = BuyLots - SellLots;
                         //str = str + MarketInfo(Symbol(), MODE_TICKVALUE) * diff + " " + (-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point) + " ";
                        be += ND(-Swap / ( MarketInfo ( Symbol (), MODE_TICKVALUE) * diff) * Point + diff / MathAbs (diff) * 1 * Point );
                }
                 //str = str + Swap + " " + be;
                 //Comment(str);
                        
                 if ((BuyLots > SellLots && ND(PrevPriceBid) < ND(be + TakeProfitBuy * Point ) && ND(PriceBid) >= ND(be + TakeProfitBuy * Point )) ||
                        (BuyLots < SellLots && ND(PrevPriceAsk) > ND(be - TakeProfitSell * Point ) && ND(PriceAsk) <= ND(be - TakeProfitSell * Point )))
                {
                        CloseAllBuy();
                        CloseAllSell();
                }               
                
        }
         //---------------------

yani bu fiyat seviyesine ulaşıldığında emirler kapatılır ama ben bu fiyatı grafikte çizgi veya çizgili bir kutuda küçük bir giriş olarak görmek istiyorum.

beni doğru yola ilet
Neden: