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

 
Tapochun :
Her şey göstergenin mantığına bağlıdır. Çoğu zaman - evet, OnCalculate() işlevinde .
" OnCalculate() işlevi, yalnızca Calculate olayı tarafından gösterge değerlerinin hesaplanması gerektiğinde özel göstergelerde çağrılır. Bu genellikle sembol için yeni bir onay işareti olduğunda olur " - o zaman hesaplamanın yalnızca bir kez çalışması için nasıl yapılır bir mum belirir. mql4'te bence ne tür bir kontrol yapıldı.
 
first_may :
" OnCalculate() işlevi, yalnızca Calculate olayı tarafından gösterge değerlerinin hesaplanması gerektiğinde özel göstergelerde çağrılır. Bu genellikle sembol için yeni bir onay işareti olduğunda olur " - o zaman hesaplamanın yalnızca bir kez çalışması için nasıl yapılır bir mum belirir. mql4'te bence ne tür bir kontrol yapıldı.
İlk onay değilse en basiti (önceki_hesaplanan != 0) ve oranlar_toplam > önceki_hesaplanan.
 
Tapochun :
İlk onay değilse en basiti (önceki_hesaplanan != 0) ve oranlar_toplam > önceki_hesaplanan.
Evet :). Muhtemelen iki üstel hareketli ortalamanın kesişimine bir örnek bulmanız (bunu bir yerde gördüm) ve yeniden yapmanız gerekiyor.
 
first_may :
Evet :). Muhtemelen iki üstel hareketli ortalamanın kesişimine bir örnek bulmanız (bunu bir yerde gördüm) ve yeniden yapmanız gerekiyor.
Başladığınızda, örneği takip etmek her zaman daha iyidir! Ayrı kod satırlarının size yardımcı olması olası değildir. İyi şanlar!
 

Mevcut kene üzerinde bir anlaşmayı kapatma olayı nasıl engellenir? Standart araçlar yok mu? Yani, bir anlaşma açarken şöyle bir şey yazmanız gerekir : ve ardından her bir onay işaretini kontrol edin:

 //Инициализация
int totalOrders= 0 ;
...
//Открытие новой сделки
int ticket = OrderSend (....)
if (ticket > 0 )
    totalOrders++;

ve ardından her bir onay işaretini kontrol edin:

 if (totalOrders != OrdersTotal ())
     //Обработка события закрытия сделки
 
gammaray :

Mevcut kene üzerinde bir anlaşmayı kapatma olayı nasıl engellenir? Standart araçlar yok mu? Yani, bir anlaşma açarken şöyle bir şey yazmanız gerekir : ve ardından her bir onay işaretini kontrol edin:

ve ardından her bir onay işaretini kontrol edin:

Son tikte izlenen pozisyonların sayısını mevcut tikteki sayı ile karşılaştırmanız gerekir. Mevcut olanın azalması durumunda, izlenen pozisyonların mevcut değerini "geçmiş" olarak kaydederiz (hatırlarız) ve kapanma olgusunu işleriz.
 
gammaray :

Mevcut kene üzerinde bir anlaşmayı kapatma olayı nasıl engellenir? Standart araçlar yok mu? Yani, bir anlaşma açarken şöyle bir şey yazmanız gerekir : ve ardından her bir onay işaretini kontrol edin:

ve ardından her bir onay işaretini kontrol edin:

Hiçbir şey anlamadım. Hangi değeri almak istiyorsunuz?

ve yazdıklarını böyle okudum

{

Sipariş açma;

sipariş açılırsa

ToplamSipariş = ToplamSipariş+1;

}

) varsayılan olarak, TotalOrder = 0, ancak bir emrin her açılışında değer artacaktır, 10 açılıştan sonra (değer tam olarak 10 olacaktır) tüm açık pozisyonların sayacı (türe, büyüye ve sembole göre kontrol yoktur) = kesinlikle tüm açık siparişleri ekleyecektir)

ve sonra. durum şuna benziyor

TotalOrder, OrdersTotal {} değerine eşit değilse

 
Herkese iyi günler! Bilenlere sesleniyorum. Görevi, tetiklenen siparişlerdeki durakları her TF döneminde DÜŞÜK veya YÜKSEK mumlarla değiştirmek olan basit bir Uzman Danışmana ihtiyacımız var. Ne yazık ki kendisi, bir tablo''. Belki, daha önce ortaya konan yerde onu bulamadım. Ve ne oldu - çöp yapan katkı maddeleriyle.

 
mefos :
Herkese iyi günler! Bilenlere sesleniyorum. Görevi, tetiklenen emirlerdeki durakları her TF döneminde DÜŞÜK veya YÜKSEK mumlarla değiştirmek olan basit bir Uzman Danışmana ihtiyacımız var. Ne yazık ki kendisi, bir tablo''. Belki, daha önce düzenlendiği yerde onu bulamadım. Ve ne oldu - çöp yapan katkı maddeleriyle.

Bu senin için dostum, sipariş tablosunda. Burada sadece kod problemlerinde tavsiyelerde bulunurlar ve yardım ederler.
 
Ivan Vorontsov :
Bu senin için dostum, sipariş tablosunda. Burada sadece kod problemlerinde tavsiyelerde bulunurlar ve yardım ederler.
+++