MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 137

 
FOTOGRAF14 :

Herkese selam! bana bir şartı nasıl yazacağımı söyle! Fiyat, zararı durdurma mesafesini geçtikten sonra başabaş noktasına bir zararı durdurma koymam gerekiyor

satın almak için.....

Eğer( )

{

‌-----------

}

satılık.....


stband'ı başabaşa aktarma işlevi, sipariş bileti ve aktarım yapılacak pip cinsinden mesafe işleve iletilir

void zero_profit( int ticket, int distance)
  {
   double sl= 0.0 ;

   if ( OrderSelect (ticket, SELECT_BY_TICKET ))
     {
       if ( OrderType ()== OP_BUY )
        {
         if ( Bid >= OrderOpenPrice () && Bid - OrderOpenPrice ()>=distance* _Point ) sl= OrderOpenPrice ();
         if ( OrderStopLoss ()!= 0 && OrderStopLoss ()>= OrderOpenPrice ()) return ;
        }
       if ( OrderType ()== OP_SELL )
        {
         if ( Ask <= OrderOpenPrice () && OrderOpenPrice ()- Ask >=distance* _Point ) sl= OrderOpenPrice ();
         if ( OrderStopLoss ()!= 0 && OrderStopLoss ()<= OrderOpenPrice ()) return ;
        }
       ResetLastError ();

       if (sl<= 0 ) return ;
       if (! OrderModify ( OrderTicket (), OrderOpenPrice (),sl, OrderTakeProfit (), 0 ))
        {
         int error= GetLastError ();
         rezult= StringConcatenate ( OrderSymbol (), ": error modifying StopLoss order " , OrderTicket (), " " ,TypeToStr( OrderType ()), " №- " ,error);
         Print (rezult);
        }

     }
  }


‌...

 
Vitaly Muzichenko :

Evet, çizim olmayacak)

Arama mantığının kendisi ağır ve bunu nasıl kolaylaştıracağımı bilmiyorum

Vitaly, başlangıçta size test cihazının görsel testler sırasında hesaplamalardan değil, grafik nesnelerden yavaşladığını açıklamaya çalıştım. Sana tavsiye edildiği gibi yap

Alexey Kozitsyn :

Çizim yapmadan göstergeye yuvarlayabilirsiniz). Daha da iyisi, bir seçim yapın. Hop - çizim, hop - çizim yok :)

‌ve hız farkını kontrol edin.

Yavaşlayan şey çizim bile değil, sadece grafikte grafiklerin bulunmasıdır.‌

 
Alexey Viktorov :

Yavaşlayan şey çizim bile değil, sadece grafikte grafiklerin bulunmasıdır.‌

Tartışmıyorum... o yüzden gerekmediğinde kapattım (DRAW_NONE) dedim ve bu kadar...
 
Alexey Viktorov :

Vitaly, başlangıçta size test cihazının görsel testler sırasında hesaplamalardan değil, grafik nesnelerden yavaşladığını açıklamaya çalıştım. Sana tavsiye edildiği gibi yap

‌ve hız farkını kontrol edin.

Yavaşlayan şey çizim bile değil, sadece grafikte grafiklerin bulunmasıdır.‌

Fonksiyonu grafiksiz olarak kontrol ediyorum, grafikler sadece kodu yazarken hesaplamaların doğruluğunu görmek için yapıldı - bir zamanlar tamamen teknik nitelikteydi ve uzun zamandır koddan kaldırıldı. Test sırasındaki çizelge genellikle boştur.

Bu nedenle, işlev olmadığında, "uçar" testi, yalnızca işlevi bağlarım - yavaş gider.

not Prensipte grafikte grafik nesnelere ihtiyacım yok. Programı unutun - bende yok ve asla olmayacak!

 
Vitaly Muzichenko :

Fonksiyonu grafiksiz olarak kontrol ediyorum, grafikler sadece kodu yazarken hesaplamaların doğruluğunu görmek için yapıldı - bir zamanlar tamamen teknik nitelikteydi ve uzun zamandır koddan kaldırıldı. Test sırasındaki çizelge genellikle boştur.

Bu nedenle, işlev olmadığında, "uçar" testi, yalnızca işlevi bağlarım - yavaş gider.

not Prensipte grafikte grafik nesnelere ihtiyacım yok. Programı unutun - bende yok ve asla olmayacak!

buraya bakmadın
 
Artyom Trishkin :
buraya bakmadın

Harika, danışmandaki işlevleri çıkarmaya çalışacağım. sonucu sonra yazarım.

Teşekkürler!!!

 
Lütfen açık çubukların dizinini almak için kodu nasıl doğru yazacağımı bulmama yardım edin, diyelim ki 4:00 ve 15:00
 
missha689 :
Lütfen açık çubukların dizinini almak için kodu nasıl doğru yazacağımı bulmama yardım edin, diyelim ki 4:00 ve 15:00

Bu zaman

datetime some_time= D'2017.03.03 4:00' ;
   int       shift= Bars ( "EURUSD" , PERIOD_CURRENT ,some_time, TimeCurrent ());
   Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);

iki

datetime some_time= D'2004.03.21 12:00' ;
   int       shift= iBarShift ( "EURUSD" , PERIOD_CURRENT ,some_time);
   Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);
Доступ к таймсериям и индикаторам - Справочник MQL4
Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Доступ к таймсериям и индикаторам - Справочник MQL4
 
Alexey Viktorov :

Bu zaman

datetime some_time= D'2017.03.03 4:00' ;
   int       shift= Bars ( "EURUSD" , PERIOD_CURRENT ,some_time, TimeCurrent ());
   Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);

iki

datetime some_time= D'2004.03.21 12:00' ;
   int       shift= iBarShift ( "EURUSD" , PERIOD_CURRENT ,some_time);
   Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);
anladığım kadarıyla, tarih açıkça belirtildiği için belirli bir günde ne oluyor ve dün 15 olan çubuğun indeksini ve bugün 4 olan indeksi nasıl göstereceğini
 
Programlı olarak dünün tarihini ve saatini nasıl alabilirim?