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

 
Artyom Trishkin # :

hm...

Zaman içinde bir noktada, işlev çağrısı alt sistem tarafından engellenir. Belki de beklememelisiniz, ancak bir sonraki aramadan önce çıkmalısınız?

Hizmet, yalnızca terminal başlatıldığında veya hizmetin kendisi başlatıldığında girer. Bu nedenle, çıkarsanız, bir sonraki giriş ikisinden biri yeniden başlatıldığında olacaktır ... ancak her ikisi de manuel olarak yapılır ...

 
Alexey Viktorov # :

Hizmet, yalnızca terminal başlatıldığında veya hizmetin kendisi başlatıldığında girer. Bu nedenle, çıkarsanız, bir sonraki giriş ikisinden biri yeniden başlatıldığında olacaktır ... ancak her ikisi de manuel olarak yapılır ...

Anladım. Yani hizmet bir döngü içinde mi çalışıyor? Yoksa bir zamanlayıcıda mı?

 
Artyom Trishkin # :

Anladım. Yani hizmet bir döngü içinde mi çalışıyor? Yoksa bir zamanlayıcıda mı?

Hizmet bir komut dosyası gibi çalışır. Tek fark, hizmetin MT'nin başlatılmasıyla başlaması ve komut dosyası, kendinizi biliyorsunuz... Buna göre, bir şey işe yaramazsa, MT yeniden başlatılıncaya kadar çalışmayacaktır. Duraklatmanın ve tekrarlamanın istendiği ortaya çıktı ... Sanırım öyle.

 
Alexey Viktorov # :

Hizmet bir komut dosyası gibi çalışır. Tek fark, hizmetin MT'nin başlatılmasıyla başlaması ve komut dosyası, kendinizi biliyorsunuz... Buna göre, bir şey işe yaramazsa, MT yeniden başlatılıncaya kadar çalışmayacaktır. Duraklatmanın ve tekrarlamanın istendiği ortaya çıktı ... Sanırım öyle.

Sorumu anlamadın. Yoksa kendimi iyi ifade edemiyor muyum ¯\_(ツ)_/¯

 
Artyom Trishkin # :

Sorumu anlamadın. Yoksa kendimi iyi ifade edemiyor muyum ¯\_(ツ)_/¯

İkide bir. Ancak hizmet bir döngüde çalışmaz ve bir zamanlayıcıda çalışmaz.

 
Alexey Viktorov # :

İkide bir. Ancak hizmet bir döngüde çalışmaz ve bir zamanlayıcıda çalışmaz.

Sadece terminali başlattığınızda tek seferlik çalıştığını mı söylemek istiyorsunuz? Numara. Ve sonra nasıl?

 
Artyom Trishkin # :

Sadece terminali başlattığınızda tek seferlik çalıştığını mı söylemek istiyorsunuz? Numara. Ve sonra nasıl?

Anlayana kadar veya grafikte işlem geçmişinin görüntülenmesini devre dışı bırakmayı mümkün kılana kadar bu hizmeti kullandım

 //+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart ()
 {
   long currChart = ChartNext ( 0 );
   while (currChart >= 0 )
   {
     ObjectsDeleteAll (currChart, "autotrade" );
    currChart = ChartNext (currChart);
   }
 }
//+------------------------------------------------------------------+

Ve başarılı bir şekilde çalıştığını söylemeye cesaret ediyorum. Bunun hakkında zaten yazdığım yeri aramak için çok tembelim. Tekrarlamak daha kolay.

Böyle bir hizmet

 //+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart ()
 {
   Print ( "Запуск произведён успешно" );
 }
//+------------------------------------------------------------------+

Terminali başlatırken bir kez yazdırır. Bu yüzden kontrol etmek zor değil.

 
Alexey Viktorov # :

Anlayana kadar veya grafikte işlem geçmişinin görüntülenmesini devre dışı bırakmayı mümkün kılana kadar bu hizmeti kullandım

Ve başarılı bir şekilde çalıştığını söylemeye cesaret ediyorum. Bunun hakkında zaten yazdığım yeri aramak için çok tembelim. Tekrarlamak daha kolay.

Böyle bir hizmet

Terminali başlatırken bir kez yazdırır. Bu yüzden kontrol etmek zor değil.

Terminali başlattığınızda hizmetin SADECE bir kez çalıştığını söylemek ister misiniz? Senaryo nasıl? Yalnızca komut dosyası manuel veya programlı olarak başlatılır ve hizmet, terminal yüklendiğinde başlatılır. Ne olmuş? Ve hizmetin artık çalışmadığını mı söylemek istiyorsunuz? Yani, sadece BİR kez mi çalışıyor?

 
JRandomTrader # :

Örneğin, evet.

Makrolar küreseldir.

Bunların nereye yazılması gerektiğini açıklayabilir misiniz?

sınıfta veya danışmanda

 
Artyom Trishkin # :

Terminali başlattığınızda hizmetin SADECE bir kez çalıştığını söylemek ister misiniz? Senaryo nasıl? Yalnızca komut dosyası manuel veya programlı olarak başlatılır ve hizmet, terminal yüklendiğinde başlatılır. Ne olmuş? Ve hizmetin artık çalışmadığını mı söylemek istiyorsunuz? Yani, sadece BİR kez mi çalışıyor?

Artyom, neden sana bir şey kanıtlayayım? Bir satır yazıp kontrol edin.