Vadim, senin yazdığının aynısını yapardım! Bu yüzden soruyu sordum. Belki bilmiyordum diye düşündüm. Hala kendi mantığımı ve diğer programcıların mantığını izliyorum. Çünkü ana mantığa ek olarak, bir takım faktörlerin de dikkate alınması gerektiğini görüyorum.
RefreshRates(), EA dizisindeki geçmişi günceller. MarketInfo(), sunucudan veri alır. Güncelleme gerekmez. Ekstra fren.
Güncellemeniz gerekiyorsa, RefreshRates () öğesine yapılan basit bir çağrı hiçbir şey vermeyebilir. Tüm tarihin gelişi olayını bir şekilde kontrol etmek ve işlemek gerekir.
crespo1985 : merhaba metaeditör programı nasıl kullanılır?
Merhaba! Nasıl istersen öyle kullan! Bu tür sorularla burada değilsiniz.. İşte bir programcı forumu..
Zhunko :
RefreshRates(), EA dizisindeki geçmişi günceller. MarketInfo(), sunucudan veri alır. Güncelleme gerekmez. Ekstra fren.
Güncellemeniz gerekiyorsa, RefreshRates () öğesine yapılan basit bir çağrı hiçbir şey vermeyebilir. Tüm tarihin gelişi olayını bir şekilde kontrol etmek ve işlemek gerekir.
Evet. Anladığım kadarıyla, RefreshRates() piyasa verilerini günceller (geçmişi şu anki zamana kadar) ve ardından piyasa ortamı değişkeni alınan değerlerin sonunu kullanır. Anladığım kadarıyla, bu tek mantıklı seçenek. Bununla, bu fonksiyon daha kolay ve daha hızlı ve daha mantıklı ve daha pratik ve daha güvenilir yazılacak, bunun gibi?
Evet. Anladığım kadarıyla, RefreshRates() piyasa verilerini günceller (geçmişi şimdiki zamana kadar) ve ardından piyasa ortamı değişkeni alınan değerlerin sonunu kullanır. Anladığım kadarıyla, bu tek mantıklı seçenek. Bununla, bu fonksiyon daha kolay ve daha hızlı ve daha mantıklı ve daha pratik ve daha güvenilir yazılacak, bunun gibi?
Güzel gün! Banallik için özür dilerim. Robottan çizgiler, bir yıldan fazla bir süredir bir robotum var ve prensipte, bu tür bir döngü değişmez bir şekilde birinden diğerine dolaşıyor.
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{ if ( OrderSelect (i,SELECT_BY_POS)&&OrderSymbol()== Symbol ()&&OrderMagicNumber()==magic)
Neden toplam siparişlerim eksi bir? Döngünün değişkeni azalttığı doğru mu ve?
int t=( (Hour()* 3600 ) +(Minute()* 60 )+Seconds() );
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит в валюте депозита |//| закрытых с определённой даты позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| dt - Дата и время в секундах с 1970 года ( 0 - с начала истории) |//+----------------------------------------------------------------------------+double GetProfitFromDateInCurrency( string sy= "" , int op=- 1 , int mn=- 1 , datetime dt=0)
{
double p= 0 ;
int i, k=OrdersHistoryTotal();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (dt<OrderCloseTime()) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
}
return (p);
}
Güzel gün! Banallik için özür dilerim. Robottan çizgiler, bir yıldan fazla bir süredir bir robotum var ve prensipte, bu tür bir döngü değişmez bir şekilde birinden diğerine dolaşıyor.
Neden toplam eksi bir siparişlerim var? Döngünün değişkeni azalttığı doğru mu ve?
Döngü, dizini 0'dan Toplam-1'e veya Toplam-1'den 0'a kadar sayar. Bu nedenle, eksi işaretine veya küçüktür işaretine ihtiyacınız vardır < .
Veri alma yoluyla MarketInfo(), bu pencerenin aracı için bile bence kaynaklar açısından pahalı olacak değil mi?
Zhunko :
Geçmişi güncellemek için ayrı bir fonksiyon yazmanız gerekir.
Ayrı bir işlev yazmanın arkasındaki mantığı tam olarak anlamıyorum. Sonuçta, RefreshRates() işlevinin kendisi önceden tanımlanmış değişkenlerin verilerini güncellemeye yarar. Ve Bid ve Ask sadece önceden tanımlanmış değişkenlerdir. RefreshRates() işlevi önceden tanımlanmış değişkenleri güncelliyorsa, neden herhangi bir ek işlev yazalım?Açıklayabilir misiniz?
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Vadim, senin yazdığının aynısını yapardım! Bu yüzden soruyu sordum. Belki bilmiyordum diye düşündüm. Hala kendi mantığımı ve diğer programcıların mantığını izliyorum. Çünkü ana mantığa ek olarak, bir takım faktörlerin de dikkate alınması gerektiğini görüyorum.
RefreshRates(), EA dizisindeki geçmişi günceller. MarketInfo(), sunucudan veri alır. Güncelleme gerekmez. Ekstra fren.
Güncellemeniz gerekiyorsa, RefreshRates () öğesine yapılan basit bir çağrı hiçbir şey vermeyebilir. Tüm tarihin gelişi olayını bir şekilde kontrol etmek ve işlemek gerekir.
merhaba metaeditör programı nasıl kullanılır?
Merhaba! Nasıl istersen öyle kullan! Bu tür sorularla burada değilsiniz.. İşte bir programcı forumu..
RefreshRates(), EA dizisindeki geçmişi günceller. MarketInfo(), sunucudan veri alır. Güncelleme gerekmez. Ekstra fren.
Güncellemeniz gerekiyorsa, RefreshRates () öğesine yapılan basit bir çağrı hiçbir şey vermeyebilir. Tüm tarihin gelişi olayını bir şekilde kontrol etmek ve işlemek gerekir.
Evet. Anladığım kadarıyla, RefreshRates() piyasa verilerini günceller (geçmişi şu anki zamana kadar) ve ardından piyasa ortamı değişkeni alınan değerlerin sonunu kullanır. Anladığım kadarıyla, bu tek mantıklı seçenek. Bununla, bu fonksiyon daha kolay ve daha hızlı ve daha mantıklı ve daha pratik ve daha güvenilir yazılacak, bunun gibi?
Evet. Anladığım kadarıyla, RefreshRates() piyasa verilerini günceller (geçmişi şimdiki zamana kadar) ve ardından piyasa ortamı değişkeni alınan değerlerin sonunu kullanır. Anladığım kadarıyla, bu tek mantıklı seçenek. Bununla, bu fonksiyon daha kolay ve daha hızlı ve daha mantıklı ve daha pratik ve daha güvenilir yazılacak, bunun gibi?
Bunu isterdim:
Geçmişi güncellemek için ayrı bir fonksiyon yazmanız gerekir.
Farklı koşulların daha fazla test edilmesi için 2 saattir bir test parçası yazmaya çalışıyorum.
Çalışmıyor!
bana hatayı söyle lütfen
siparişlerin 2pp'den sonra kendi yönlerine açılması mantıklı.
sat açılır ve biter...
Güzel gün! Banallik için özür dilerim. Robottan çizgiler, bir yıldan fazla bir süredir bir robotum var ve prensipte, bu tür bir döngü değişmez bir şekilde birinden diğerine dolaşıyor.
Neden toplam siparişlerim eksi bir? Döngünün değişkeni azalttığı doğru mu ve?
Kim'in işlevi, parametre saatine sahiptir = " 1970'den beri saniye cinsinden tarih ve saat "
2 seçenek denedim
ve her ikisi de o gün için değil, tüm tarihin tam kârını verir....
Güzel gün! Banallik için özür dilerim. Robottan çizgiler, bir yıldan fazla bir süredir bir robotum var ve prensipte, bu tür bir döngü değişmez bir şekilde birinden diğerine dolaşıyor.
Neden toplam eksi bir siparişlerim var? Döngünün değişkeni azalttığı doğru mu ve?
Bunu isterdim:
Veri alma yoluyla MarketInfo(), bu pencerenin aracı için bile bence kaynaklar açısından pahalı olacak değil mi?
Geçmişi güncellemek için ayrı bir fonksiyon yazmanız gerekir.
Ayrı bir işlev yazmanın arkasındaki mantığı tam olarak anlamıyorum. Sonuçta, RefreshRates() işlevinin kendisi önceden tanımlanmış değişkenlerin verilerini güncellemeye yarar. Ve Bid ve Ask sadece önceden tanımlanmış değişkenlerdir. RefreshRates() işlevi önceden tanımlanmış değişkenleri güncelliyorsa, neden herhangi bir ek işlev yazalım?Açıklayabilir misiniz?