MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 137
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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
{
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);
}
}
}
...
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
Ç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.
Yavaşlayan şey çizim bile değil, sadece grafikte grafiklerin bulunmasıdır.
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!
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 mı
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
Bu zaman
int shift= Bars ( "EURUSD" , PERIOD_CURRENT ,some_time, TimeCurrent ());
Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);
iki
int shift= iBarShift ( "EURUSD" , PERIOD_CURRENT ,some_time);
Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);
Bu zaman
int shift= Bars ( "EURUSD" , PERIOD_CURRENT ,some_time, TimeCurrent ());
Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);
iki
int shift= iBarShift ( "EURUSD" , PERIOD_CURRENT ,some_time);
Print ( "index of the bar for the time " , TimeToStr (some_time), " is " ,shift);