Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 230

 
Aleksey Mavrin :

ve ne, her zaman 10 saniye sonra kâr daha mı büyük?)

elbette her zaman değil, ama genellikle fiyatın bir dakika içinde uçup gitmesi ve danışmanın aptalca sabit bir fiyattan kapanması olur.
 
Nargiz Ravanova :

Dediğiniz gibi yaptım, sadece bir nedenden dolayı, kapanıştan sonra danışman, CloseAll() işlevinden sonra bir saat uykum olmasına rağmen, anlaşmaları birkaç kez açıp kapatıyor.

 datetime sleep = TimeCurrent ();
if (sleep > TimeCurrent ())
     return ;
//---
double op = CalculateProfit();

if (op >= Profit && LastTime == 0 )
     LastTime = TimeCurrent ();
if (LastTime > 0 && TimeCurrent () - LastTime >= Second)

    {
     CloseAll();
     LastTime = 0 ;

     SendNotification ( "Trade is end" );
     sleep = TimeCurrent ()+ 60 * 60 ;
    }

Bunun gibi bir şey. Tabii ki, sadece diz üzerine yazılır.

 
Konstantin Nikitin :

Bunun gibi bir şey. Tabii ki, sadece diz üzerine yazılır.

teşekkürler, şimdi danışman piyasadaki tüm anlaşmalardan yalnızca birini kapatıyor ve bende bir şebeke danışmanım var.

iyi, ayrıca hiçbir fiş oluşmaz ve danışman, fişleri yok sayarak yeniden yeni bir anlaşma açar. Genel olarak, anladığım kadarıyla bunu uygulamak mümkün değil, aptalca eskisi gibi iade edeceğim. Yardım için teşekkürler.

 
Nargiz Ravanova :

teşekkürler, şimdi danışman piyasadaki tüm anlaşmalardan yalnızca birini kapatıyor ve bende bir şebeke danışmanım var.

iyi, ayrıca hiçbir fiş oluşmaz ve danışman, fişleri yok sayarak yeniden yeni bir anlaşma açar. Genel olarak, anladığım kadarıyla bunu uygulamak mümkün değil, aptalca eskisi gibi iade edeceğim. Yardım için teşekkürler.

bir bütün olarak uygulanmalı
nedenler farklı olabilir

 
Nargiz Ravanova :

teşekkürler, şimdi danışman piyasadaki tüm anlaşmalardan yalnızca birini kapatıyor ve bende bir şebeke danışmanım var.

iyi, ayrıca hiçbir fiş oluşmaz ve danışman, fişleri yok sayarak yeniden yeni bir anlaşma açar. Genel olarak, anladığım kadarıyla bunu uygulamak mümkün değil, aptalca eskisi gibi iade edeceğim. Yardım için teşekkürler.

Yani daha net olacağını düşünüyorum?

 input double Profit   = 100.0 ;
input int     Second   = 10 ;
//+------------------------------------------------------------------+
void CloseAllSleep( void )
    {
     static datetime sleep_all = TimeCurrent ();
     static datetime LastTime = 0 ;
     if (sleep_all > TimeCurrent ())
           return ;
//---
     if (LastTime == 0 )
         {
           if (CalculateProfit() < Profit)
               return ;
          LastTime = TimeCurrent ();
         }
     if ( TimeCurrent () - LastTime >= Second)
           return ;
//---
     if (!CloseAll())
           return ;
     LastTime = 0 ;

     SendNotification ( "Trade is end" );
     sleep_all = TimeCurrent ()+ 60 * 60 ;
    }

//--- Считаем профит открытых позиций
double CalculateProfit( void )
    {
     return 0.0 ;
    }
//--- Закрываем все позиции
bool CloseAll( void )
    {
     return true ;
    }

Ve yine, bu tamamen anlamak içindir. Ve neyi ve nasıl uygulayacağınızı kendiniz düşünürsünüz.

 
Nargiz Ravanova :
elbette her zaman değil, ama genellikle fiyatın bir dakika içinde uçup gitmesi ve danışmanın aptalca sabit bir fiyattan kapanması olur.

Yine de, bu yaklaşımın optimal olmadığını düşünüyorum. Fiyat uçarsa, kayma pozitif olmalıdır. Zamanı beklemek aptalca - rulet oynamak - neden o zaman bir strateji, kârınız zaten set 2 doların altında olabilir.

Fiyat değişim oranını ölçmek daha akıllıca olur, eğer kâr yönünde yüksekse, düşmesini bekleyin ve örtün.

 
Konstantin Nikitin :

Yani daha net olacağını düşünüyorum?

Ve yine, bu tamamen anlamak içindir. Ve neyi ve nasıl uygulayacağınızı kendiniz düşünürsünüz.

Dürüst olmak gerekirse, net değil, her şeyi unutun, bir konu ile geleceğim.

 
Aleksey Mavrin :

Yine de, bu yaklaşımın optimal olmadığını düşünüyorum. Fiyat uçarsa, kayma pozitif olmalıdır. Zamanı beklemek aptalca - rulet oynamak - neden o zaman bir strateji, kârınız zaten set 2 doların altında olabilir.

Fiyat değişim oranını ölçmek daha akıllıca olur, eğer kâr yönünde yüksekse, düşmesini bekleyin ve örtün.

burada basit bir kaymayı düzeltemiyoruz ama hızdan bahsediyorsunuz))))
 
Nargiz Ravanova :
burada basit bir kaymayı düzeltemiyoruz ama hızdan bahsediyorsunuz))))

Yüce, kendilerine ulaşmada yüksek hedefler belirleyenlere yardım eder! ;)

 
Nargiz Ravanova :
burada basit bir kaymayı düzeltemiyoruz ama hızdan bahsediyorsunuz))))

Daha kesin olmak gerekirse, yapamazsınız gibi görünüyor. Ve UYKU hakkında. Expert Advisor'ın çalışmalarını bir süreliğine tamamen dondurmak ister misiniz? Ya da hepsi aynı, çalıştıktan sonra sadece belirli bir işlev. Ancak her durumda, Uzman Danışmanın çalışmasını kesintiye uğratmak için bile bayrağı uzun gecikmeler için kullanmak daha iyidir ve kontrol ederken, izin yoksa, sadece OnTick / OnTimer'a gidin. Kısa olanlar için evet, SLEEP kullanabilirsiniz.
Bu arada, SLEEP göstergelerde çalışmıyor.

Göstergeler bir arabirim iş parçacığında çalıştığından ve onu yavaşlatmaması gerektiğinden, Sleep() işlevi özel göstergelerden çağrılamaz.

Bu yüzden bayrakların kullanımıyla ilgilenin, gelecekte kullanışlı olacaktır.