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

 
Marco Nicholas # :
Merhaba. Bu koşulun kodda nasıl uygulanacağını önerebilir misiniz?

Ayarlarda belirtilen süreden sonra (saat, dakika, örnek "23-55'ten sonra ilk bahsi aç") ilk pozisyonu açmanız ve ardından bu koşulu yok saymanız gerekir.

Bu kod harika çalışıyor, ancak kesinlikle tüm fırsatlar "one_time_current.hour" ve "one_time_open.min" 'den sonra açılır ve bu koşulu yalnızca bir kez (1 pozisyon açmak için) yerine getirmeniz gerekir ve sonrakiler için uygulamayın.

Merhaba Marco!

 if (one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min && PositionsTotal ()== 0 )

Saygılarımla, Vladimir.

 
MrBrooklin # :

Merhaba Marco!


Saygılarımla, Vladimir.

Teşekkürler, biraz farklı. Böyle bir kod, çok fazla pozisyon açmanıza izin vermez. Onsuz çok daha fazla açılıyor.
 
Marco Nicholas # :
Merhaba. Bu koşulun kodda nasıl uygulanacağını önerebilir misiniz?

Ayarlarda belirtilen süreden sonra (saat, dakika, örnek "23-55'ten sonra ilk bahsi aç") ilk pozisyonu açmanız ve ardından bu koşulu yok saymanız gerekir.

Bu kod gayet iyi çalışıyor, ancak kesinlikle tüm fırsatlar "one_time_current.hour" ve "one_time_open.min" den sonra açılıyor ve bu koşulu sadece bir kez (1 pozisyon açmak için) yerine getirmeniz gerekiyor ve sonrakiler için uygulamayın.

Merhaba Marco! Bir pozisyonu açmak için yardım istediniz. Şimdi şunu yaz:

Спасибо, немного не то. Такой код не дает открыть много позиции . Без него открывает намного больше.

Öncelikle kaç tane pozisyon açmak istediğinize karar vermelisiniz - çok veya bir . Kelimelerin makine çevirisinin size talebi doğru bir şekilde formüle etme fırsatı vermemesi mümkündür.

Saygılarımla, Vladimir.

 
Marco Nicholas # :
Merhaba. Bu koşulun kodda nasıl uygulanacağını önerebilir misiniz?

Ayarlarda belirtilen süreden sonra (saat, dakika, örnek "23-55'ten sonra ilk bahsi aç") ilk pozisyonu açmanız ve ardından bu koşulu yok saymanız gerekir.

Bu kod harika çalışıyor, ancak kesinlikle tüm fırsatlar "one_time_current.hour" ve "one_time_open.min" 'den sonra açılır ve bu koşulu yalnızca bir kez (1 pozisyon açmak için) yerine getirmeniz gerekir ve sonrakiler için uygulamayın.

Yani bir sonraki için farklı bir koşul olmalı, ama anladığım kadarıyla "23:55'ten sonra" koşulunu göz ardı etmeden?

 
MrBrooklin # :

Merhaba Marco! Bir pozisyonu açmak için yardım istediniz. Şimdi şunu yazarsın:

Öncelikle kaç tane pozisyon açmak istediğinize karar vermelisiniz - çok veya bir . Kelimelerin makine çevirisinin size talebi doğru bir şekilde formüle etme fırsatı vermemesi mümkündür.

Saygılarımla, Vladimir.

Evet, doğru, birbirimizi yanlış anladık. Yazdığımda:

" Bu kod harika çalışıyor, ancak kesinlikle tüm fırsatlar "one_time_current.hour" ve "one_time_open.min" den sonra açılıyor ve bu koşulu yalnızca bir kez yerine getirmeniz gerekiyor (1 pozisyon açmak için),   ve sonrakiler için kullanmayın .

Bunu açıklığa kavuşturmak istedim, bir pozisyon " 1 pozisyon " açmak değil (muhtemelen öyle anladınız), sadece ilk pozisyon açma koşulunu uygulamak istedim, sonraki pozisyonlara başvurmamak istedim.

Cevap verdiğiniz için teşekkürler.

 
Alexey Viktorov # :

Yani bir sonraki için farklı bir koşul olmalı, ama anladığım kadarıyla "23:55'ten sonra" koşulunu göz ardı etmeden?

Evet çıkıyor, bir sonraki için gerekli değil   uygulayın (iptal edin). Sadece ilk pozisyonun açılması gerekir (başlangıçta, danışmanın başlamasında, belli bir saat ve dakikadan sonra) ve sonraki pozisyonlar için bu şartın uygulanmasına gerek yoktur.

Hepsini bir koşulda yapmak mümkün mü?

 if (one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)
 
Marco Nicholas # :

Evet çıkıyor, bir sonraki için gerekli değil   uygulayın (iptal edin). Sadece ilk pozisyonun açılması gerekir (başlangıçta, danışmanın başlamasında, belli bir saat ve dakikadan sonra) ve sonraki pozisyonlar için bu şartın uygulanmasına gerek yoktur.

Hepsini bir koşulda yapmak mümkün mü?

   bool first_position_was_opened= false ;
  ...
   if (first_position_was_opened || ( one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min))

Ve herhangi bir pozisyon açtıktan sonra "first_position_was_opened=true" ayarlamayı unutmayın.

"first_position_was_opened" değişkeni global veya statik olmalıdır.
 
Bana yardım et lütfen!!!
Belirli bir sembol ve büyü için geçen haftanın karını hesaplayan bir fonksiyona ihtiyacımız var.
Sihirbaz olmayan örnekler buldum ama sihirbazı beceremiyorum (((
 
JRandomTrader # :

Ve herhangi bir pozisyon açtıktan sonra "first_position_was_opened=true" ayarlamayı unutmayın.

"first_position_was_opened" değişkeni global veya statik olmalıdır.

Teşekkür ederim. İlginç bir iş akışı.

Ayrıca, başlangıçta ilk seçeneğimin de bir şartla işe yaradığını belirtmek isterim: ilk ve sonraki pozisyonlar için açıklıkları bölerseniz. Başka aracılığıyla da mümkündür.

 if (one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)
if(item_positions==0) для первой


if(item_positions>0) для последующих

Cevaplarınız sayesinde mql5 öğrenmek çok daha hızlı.
 

Veya @JRandomTrader 'ın kodundaki first_position_was_opened değişkeni yerine PositionsTotal () kullanabilirsiniz:

if(PositionsTotal() > 0 || (one_time_current.hour>=one_time_open.hour && one_time_current.min>=one_time_open.min)) {}

Bu durumda, bu değişkene gerek yoktur ve bu değişkeni açtıktan sonra True olarak ve tüm pozisyonları kapattıktan sonra False olarak ayarlamanıza gerek yoktur.