Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 817

 
pivomoe :
CPositionInfo sınıfındaki Volume yönteminin, Select() yönteminin en son çağrıldığı zaman noktasına karşılık gelen hacmi döndürdüğünü doğru anlıyor muyum? Yani, bu sembol için bir ay önce olan hacmi öğrenebilir misiniz?
Kesinlikle yanlış anlıyorsunuz. CPositionInfo sınıfının Volume yöntemi, konum hacmini döndürür. Daha önce PositionSelect aracılığıyla seçilen konum.
 

CPositionInfo'nun nasıl hazırlanacağını açıkladınız. Yine de, hala iki şeyi anlamıyorum:

1) Bu tarif, CPositionInfo sınıfının yardımından nasıl geliyor?

2) Neden, birden fazla nesne normal olarak kullanılamıyorsa, sınıfın kendisine ihtiyaç vardır, çünkü konum özelliğine her erişimden önce, Select yöntemini kullanarak konuma ayarlamanız gerekir, aksi takdirde aniden Select yöntemini başka biri için kullandık CPositionInfo nesnesi başka bir yerde.

 
pivomoe :

CPositionInfo'nun nasıl hazırlanacağını açıkladınız. Yine de, hala iki şeyi anlamıyorum:

1) Bu tarif, CPositionInfo sınıfının yardımından nasıl geliyor?

2) Neden, birden fazla nesne normal olarak kullanılamıyorsa, sınıfın kendisine ihtiyaç vardır, çünkü konum özelliğine her erişimden önce, Select yöntemini kullanarak konuma ayarlamanız gerekir, aksi takdirde aniden Select yöntemini başka biri için kullandık CPositionInfo nesnesi başka bir yerde.

1). Bütün bunlar yardımda. Azim ve dikkat artı bağımsız yazma anlayış verecektir.
2). Bir kez daha: CPositionInfo sınıfı, tüm pozisyonların tüm verilerini saklayan bir kutu değildir, sadece pozisyon özelliklerine erişmek için uygun bir araçtır.

Ve her zaman böyle olmuştur: önce konumu seçiyoruz, sonra özelliklerini alıyoruz. Bundan sonra döngü tekrar eder: pozisyonu seçeriz ve ancak o zaman pozisyonun özelliklerini alırız.
 

Yardımı kullanmaktaki hatamın ne olduğunu anlamıyorum.

1) Programdaki pozisyon hacmine ihtiyacım vardı.

2) Arama yaparak, CPositionInfo sınıfından Volume yöntemini buldum.

3) Volume çağırmadan önce Select yöntemini kullanma referansı vardır.

4) Select yönteminin açıklamasında bağlantı yoktur. Her ihtimale karşı, CPositionInfo sınıfının açıklamasını inceliyorum.

5) Kod yazıyorum. Yardımdan takip etmeyen sonucu alıyorum.


Hata nerede?

Bir kez daha, mülklere erişmeden önce konum seçimini, düzenini biliyorum. Ancak CPositionInfo hakkındaki bu bilgi ve bilgi, yardımda kesişmez.

 
pivomoe :

Hata nerede?

Daha detaylı yazmayı öğrenirseniz, nerede hata yaptığınızı daha iyi anlayacaksınız.

Şu şekilde yazmayı deneyin:

CPositionInfo PositionInfoKotiryemii,PositionInfoVedygii;
double Volume1= 0 ; Volume2= 0 ;
string Symbol1= "" ; Symbol2= "" ;

if ( PositionInfoVedygii.Select( "SBRF-12.17" ) ) // Select 1
{ Volume1=PositionInfoVedygii. Volume (); Symbol1=PositionInfoVedygii. Symbol (); } // Use 1
else Print ( "Не удалось выбрать позицию по символ SBRF-12.17 " );

if ( PositionInfoKotiryemii.Select( "SBRF-3.18" ) ) // Select 2
{ Volume2=PositionInfoKotiryemii. Volume (); Symbol2=PositionInfoKotiryemii. Symbol (); } // Use 2
els Print ( "Не удалось выбрать позицию по символ SBRF-3.18 " );
 
Print (Symbol2, " Объем " ,Volume2, " " ,Symbol1, " Объем " ,Volime1);
 
pivomoe :

Yardımı kullanmaktaki hatamın ne olduğunu anlamıyorum.

1) Programdaki pozisyon hacmine ihtiyacım vardı.

2) Arama yaparak, CPositionInfo sınıfından Volume yöntemini buldum.

3) Volume çağırmadan önce Select yöntemini kullanma referansı vardır.

4) Select yönteminin açıklamasında bağlantı yoktur. Her ihtimale karşı, CPositionInfo sınıfının açıklamasını inceliyorum.

5) Kod yazıyorum. Yardımdan takip etmeyen sonucu alıyorum.


Hata nerede?

Bir kez daha, mülklere erişmeden önce konum seçimini, düzenini biliyorum. Ancak CPositionInfo hakkındaki bu bilgi ve bilgi, yardımda kesişmez.


Tüm pozisyonları atlayan ve "Ticaret" sekmesindeki terminaldekine benzer bilgileri yazdıran bir kod bloğu:

   for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         string str_position_type=(m_position.PositionType()== POSITION_TYPE_BUY )? "buy" : "sell" ;
         Print (m_position. Symbol ()+ " | " +
               IntegerToString (m_position.Ticket())+ " | " +
               TimeToString (m_position. Time (), TIME_DATE | TIME_MINUTES | TIME_SECONDS )+ " | " +
               str_position_type+ " | " +
               DoubleToString (m_position. Volume (), 2 )+ " | " +
               DoubleToString (m_position.PriceOpen(), 2 ));

}

İş algoritması: önce pozisyonu seçiyoruz (süpermarket rafından bir kavanoz reçel alıyoruz), sonra seçilen pozisyonun özelliklerine dönüyoruz ve bu özellikleri yazdırıyoruz (reçel kavanozundaki etiketi okuyoruz).

 
pivomoe :

CPositionInfo sınıfının bir anlamı olmadığı ortaya çıkıyor, çünkü normalde bu sınıfın sadece bir nesnesi ile çalışabilirsiniz.

Evet, bu bir sarıcı.
 

Ivan Ivanov , Vladimir Karputov , fxsaber yardım için teşekkürler.

 

EA'daki göstergelerden veri alıyorum. İlk önce tutamacı hesaplıyorum, ardından gösterge tamponlarından son birkaç gerçek değeri kopyalıyorum.

Sorular:

1. Bu göstergelerde hangi derinlikte hesaplamalar yapılıyor?

2. Hesaplamaların derinliğini sınırlamanın bir yolu var mı?
Bu durumda, bükülmeyi veya yukarı/aşağı yönünü belirlemek için sadece birkaç son değere ihtiyaç vardır.
Expert Advisor çoklu para birimidir, onlarca gösterge vardır, dolayısıyla gereksiz hesaplamalar yapmamak gerekir.

 
User_mt5 :

EA'daki göstergelerden veri alıyorum. İlk önce tutamacı hesaplıyorum, ardından gösterge tamponlarından son birkaç gerçek değeri kopyalıyorum.

Sorular:

1. Bu göstergelerde hangi derinlikte hesaplamalar yapılıyor?

2. Hesaplamaların derinliğini sınırlamanın bir yolu var mı?
Bu durumda, bükülmeyi veya yukarı/aşağı yönünü belirlemek için sadece birkaç son değere ihtiyaç vardır.
Expert Advisor çoklu para birimidir, onlarca gösterge vardır, dolayısıyla gereksiz hesaplamalar yapmamak gerekir.


Umarım OnInit()'te ONCE gösterge tutamaçları yaratırsınız?

Hesaplamanın derinliği - hepsi göstergenin kendisine bağlıdır. Nadir göstergeler derinlikleri zorla sınırlar - kural olarak, herkes tüm tarih için sayılır. Bu nedenle, bu seçeneğe ihtiyacınız olabilir: göstergede derinlikten sorumlu bir değişken girin ve ardından iCustom aracılığıyla Expert Advisor'da bu parametreyi iletin.