![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
Emirler bir seri halinde kapatılır, ancak kapanış için herhangi bir koşul yoksa, siparişler bir veya iki gün içinde toplanır vb.
Peki, seri neredeyse bir çevrimde kapanırsa, diyelim ki, bir çubuğun ömrü boyunca , o zaman seri kriteri, kapanış zamanı artı bir çubuk tarafından alınabilir. Yani, kapanış süresi daha az olan tüm siparişler atılmalıdır.
Doğru, bunun yalnızca test cihazında işe yarayacağına, manuel ticaretle herhangi bir müdahaleye - ve kârın yanlış hesaplanacağına dair korkular var (sadece danışmanın kârı dikkate alınacak ve manuel olarak işlem görecek - hayır).
Peki, seri neredeyse bir çevrimde kapanırsa, diyelim ki, bir çubuğun ömrü boyunca , o zaman seri kriteri, kapanış zamanı artı bir çubuk tarafından alınabilir. Yani, kapanış süresi daha az olan tüm siparişler atılmalıdır.
Onlar.
(t== OrderCloseTime () || t== OrderCloseTime () + 60) ?
Onlar.
+60?
PeriodSeconds() daha doğru olurdu. Yoksa sadece M1 üzerinde mi çalışacaksınız?
Bunun gibi bir şey:
{
double lastlos= 0.0 ,op= 0.0 ;
int cnt= 0 ;
datetime time= 0 ;
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY ))
{
if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==Magic && OrderType ()< 2 )
{
if (cnt== 0 ) time= OrderCloseTime ();
op= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
if ( OrderCloseTime ()+ PeriodSeconds ()<time && op> 0.0 ) break ;
lastlos+=op;
if (cnt!= 0 ) cnt++;
}
}
}
return (lastlos);
}
Bunun gibi bir şey:
Ayrıca yorumun üzerine yazmayan DC'ler için yorumdaki siparişleri de numaralandırabilirsiniz. Ve yinelerken, sayı bozuk olur olmaz, sayıyı yorumdan ayırın - dizi hepsidir.
Örnek: 1,2,3,4,5 numaralı seri siparişleri. Sırayla kapalı 5,4,3,2,1 - döngü 1'i görür ve keser. 1,2,3,4,5 ve 1 sırasına göre (önceki serinin sıra numarası) kapanış - döngü 5-1>1 farkını görür ve kesintiye uğrar. Bunu koda nasıl çevireceğimi düşünmem gerekiyor)))
Böylece yeni değer öncekine eklenir. Ve her yeni kapanış gereklidir, yeni bir kâr değeri.
Şey, bilmiyorum, hiç almıyorum.
Kendine bilgi koy ve ne eklendiğini hemen göreceksin
if (lastloss()< 0 ) ProfitColor=Red;
if (lastloss()> 0 ) ProfitColor=LimeGreen;
if (lastloss()== 0 )ProfitColor=DarkGray;
ObjectCreate ( "Last Profit" , OBJ_LABEL , 0 , 0 , 0 );
ObjectSet ( "Last Profit" , OBJPROP_CORNER , 1 );
ObjectSet ( "Last Profit" , OBJPROP_XDISTANCE , 5 );
ObjectSet ( "Last Profit" , OBJPROP_YDISTANCE , 15 );
ObjectSetText ( "Last Profit" , StringConcatenate ( "Last Profit: " , DoubleToStr (lastloss(), 2 )), 10 , "Arial" ,ProfitColor);
Kendine bilgi koy ve ne eklendiğini hemen göreceksin
Hmm, evet, gerçekten ... Daha fazla düşüneceğiz)))
Ayrıca her şey yolundaymış gibi hissettim.
Bu bilgiyi koda koymak zorunda değildim ve yaşaması daha kolay olurdu))
Ve şimdi dinlenmiyor, bunca zaman fonksiyon nasıl düzgün çalışmadı !!