Anlamama yardım et. "Zaman filtresi" ticaret sinyali modülü hakkında bir sorum var.
Gerçek şu ki, bu modülü kullanarak bir danışman oluşturdum ve izni günde sadece bir saat ticarete ayarladım. Temelde böyle ticaret yapıyor, ancak danışmanın istediği saatte pozisyon açtığı günler var. "Zaman filtresi" ticaret sinyali modülünü diğer ticaret sinyali modülleriyle (örneğin, Stokastik, WPR, vb.) çeşitli kombinasyonlarda uygulamaya çalıştım, aynı şey oluyor. Ayrıca, izin verilen 2 ardışık çalışma saatini ayarlarsanız, sorun olmaz, net bir şekilde çalışır.
Ne ile bağlanabilir? "Zaman filtresi" ticaret sinyali modülünün kodunda bir hata olabilir mi? Programlama konusunda uzman olmadığım için, çözmeme yardım etmeni veya bana söylemeni istiyorum, belki de kendim yanlış bir şey yapıyorum.
Saygılarımla, Vladimir.
İşte resimde iyi bir örnek. Bir gün saat 7'de açılıyor, başka bir gün saat 17'de açılıyor, üçüncü gün yine saat 7'de açılıyor ve sadece saat 7'de açılması gerekiyor.
mq5 mesajına bir Uzman Danışman ekleyebilir ve test cihazı parametrelerini belirleyebilir misiniz (iki ekran görüntüsü: Ayarlar ve Parametreler sekmeleri)?
mq5 mesajına bir Uzman Danışman ekleyebilir ve test cihazı parametrelerini belirleyebilir misiniz (iki ekran görüntüsü: Ayarlar ve Parametreler sekmeleri)?
Örneğin, asılsız olmamak için, MQL5 Sihirbazı'nda AMA ticaret sinyallerinin ilk modülünü ve bir zaman filtresini oluşturdum.
//+------------------------------------------------------------------+//| AMA.mq5 |//| Copyright 2019, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2019, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Include |//+------------------------------------------------------------------+#include <Expert\Expert.mqh>
//--- available signals#include <Expert\Signal\SignalAMA.mqh>
#include <Expert\Signal\SignalITF.mqh>
//--- available trailing#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management#include <Expert\Money\MoneyFixedRisk.mqh>
//+------------------------------------------------------------------+//| Inputs |//+------------------------------------------------------------------+//--- inputs for expertinputstring Expert_Title = "AMA" ; // Document nameulong Expert_MagicNumber = 8503 ; //bool Expert_EveryTick = false ; ////--- inputs for main signalinputint Signal_ThresholdOpen = 10 ; // Signal threshold value to open [0...100]inputint Signal_ThresholdClose = 10 ; // Signal threshold value to close [0...100]inputdouble Signal_PriceLevel = 0 ; // Price level to execute a dealinputdouble Signal_StopLevel = 50.0 ; // Stop Loss level (in points)inputdouble Signal_TakeLevel = 50.0 ; // Take Profit level (in points)inputint Signal_Expiration = 4 ; // Expiration of pending orders (in bars)inputint Signal_AMA_PeriodMA = 10 ; // Adaptive Moving Average(1,1,...) Period of averaginginputint Signal_AMA_PeriodFast = 2 ; // Adaptive Moving Average(1,1,...) Period of fast EMAinputint Signal_AMA_PeriodSlow = 30 ; // Adaptive Moving Average(1,1,...) Period of slow EMAinputint Signal_AMA_Shift = 0 ; // Adaptive Moving Average(1,1,...) Time shiftinputENUM_APPLIED_PRICE Signal_AMA_Applied = PRICE_CLOSE ; // Adaptive Moving Average(1,1,...) Prices seriesinputdouble Signal_AMA_Weight = 1.0 ; // Adaptive Moving Average(1,1,...) Weight [0...1.0]inputint Signal_ITF_GoodHourOfDay=- 1 ; // IntradayTimeFilter(-1,...) Good hourinputint Signal_ITF_BadHoursOfDay= 16777087 ; // IntradayTimeFilter(-1,...) Bad hours (bit-map)inputint Signal_ITF_GoodDayOfWeek=- 1 ; // IntradayTimeFilter(-1,...) Good day of weekinputint Signal_ITF_BadDaysOfWeek= 0 ; // IntradayTimeFilter(-1,...) Bad days of week (bit-map)inputdouble Signal_ITF_Weight = 1.0 ; // IntradayTimeFilter(-1,...) Weight [0...1.0]//--- inputs for moneyinputdouble Money_FixRisk_Percent = 10.0 ; // Risk percentage//+------------------------------------------------------------------+//| Global expert object |//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+//| Initialization function of the expert |//+------------------------------------------------------------------+intOnInit ()
{
//--- Initializing expertif (!ExtExpert.Init( Symbol (), Period (),Expert_EveryTick,Expert_MagicNumber))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing expert" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Creating signal
CExpertSignal *signal= new CExpertSignal;
if (signal== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating signal" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//---
ExtExpert.InitSignal(signal);
signal.ThresholdOpen(Signal_ThresholdOpen);
signal.ThresholdClose(Signal_ThresholdClose);
signal.PriceLevel(Signal_PriceLevel);
signal.StopLevel(Signal_StopLevel);
signal.TakeLevel(Signal_TakeLevel);
signal.Expiration(Signal_Expiration);
//--- Creating filter CSignalAMA
CSignalAMA *filter0= new CSignalAMA;
if (filter0== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating filter0" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
signal.AddFilter(filter0);
//--- Set filter parameters
filter0.PeriodMA(Signal_AMA_PeriodMA);
filter0.PeriodFast(Signal_AMA_PeriodFast);
filter0.PeriodSlow(Signal_AMA_PeriodSlow);
filter0.Shift(Signal_AMA_Shift);
filter0.Applied(Signal_AMA_Applied);
filter0.Weight(Signal_AMA_Weight);
//--- Creating filter CSignalITF
CSignalITF *filter1= new CSignalITF;
if (filter1== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating filter1" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
signal.AddFilter(filter1);
//--- Set filter parameters
filter1.GoodHourOfDay(Signal_ITF_GoodHourOfDay);
filter1.BadHoursOfDay(Signal_ITF_BadHoursOfDay);
filter1.GoodDayOfWeek(Signal_ITF_GoodDayOfWeek);
filter1.BadDaysOfWeek(Signal_ITF_BadDaysOfWeek);
filter1.Weight(Signal_ITF_Weight);
//--- Creation of trailing object
CTrailingNone *trailing= new CTrailingNone;
if (trailing== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating trailing" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Add trailing to expert (will be deleted automatically))if (!ExtExpert.InitTrailing(trailing))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing trailing" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Set trailing parameters//--- Creation of money object
CMoneyFixedRisk *money= new CMoneyFixedRisk;
if (money== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating money" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Add money to expert (will be deleted automatically))if (!ExtExpert.InitMoney(money))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing money" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Set money parameters
money.Percent(Money_FixRisk_Percent);
//--- Check all trading objects parametersif (!ExtExpert.ValidationSettings())
{
//--- failed
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- Tuning of all necessary indicatorsif (!ExtExpert.InitIndicators())
{
//--- failedprintf ( __FUNCTION__ + ": error initializing indicators" );
ExtExpert.Deinit();
return ( INIT_FAILED );
}
//--- okreturn ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+//| Deinitialization function of the expert |//+------------------------------------------------------------------+voidOnDeinit ( constint reason)
{
ExtExpert.Deinit();
}
//+------------------------------------------------------------------+//| "Tick" event handler function |//+------------------------------------------------------------------+voidOnTick ()
{
ExtExpert. OnTick ();
}
//+------------------------------------------------------------------+//| "Trade" event handler function |//+------------------------------------------------------------------+voidOnTrade ()
{
ExtExpert. OnTrade ();
}
//+------------------------------------------------------------------+//| "Timer" event handler function |//+------------------------------------------------------------------+voidOnTimer ()
{
ExtExpert. OnTimer ();
}
//+------------------------------------------------------------------+
"Ayarlar" ekran görüntüsü
"Ayarlar" ekran görüntüsü
Yanlışın ekran görüntüsüzaman filtresi işlemi (farklı günlerde saat 7, 12 ve 7'de pozisyonlar açılır)
Örneğin, asılsız olmamak için, MQL5 Sihirbazı'nda AMA ticaret sinyallerinin ilk modülünü ve bir zaman filtresini oluşturdum.
"Ayarlar" ekran görüntüsü
"Ayarlar" ekran görüntüsü
Hatalı zaman filtresi işleminin ekran görüntüsü (pozisyonlar farklı günlerde saat 7, 12 ve 7'de açılır)
1. Grafikli bir resim - ekran görüntüsü alırken bunu "Artı işareti" aracıyla birlikte yapın - aksi takdirde hangi yıl olduğu belli olmaz.
2. Bekleyen emirlerle çalışırken - bekleyen bir emrin, yerleştirme zamanına göre tamamen farklı bir zamanda (saat ve dakika) çalışabileceğini unutmayın.
3. Sinyal modüllerini kullanırken, parametreleri varsayılan değerlere sıfırlayın ve piyasadaki çalışmayı kontrol edin - bekleyen emirler olmadan (bu, 2. nokta net değilse).
1. Grafikli bir resim - ekran görüntüsü alırken bunu "Artı işareti" aracıyla birlikte yapın - aksi takdirde hangi yıl olduğu belli olmaz.
2. Bekleyen emirlerle çalışırken - bekleyen bir emrin, yerleştirme zamanına göre tamamen farklı bir zamanda (saat ve dakika) çalışabileceğini unutmayın.
3. Sinyal modüllerini kullanırken, parametreleri varsayılan değerlere sıfırlayın ve piyasadaki çalışmayı kontrol edin - bekleyen emirler olmadan (bu, 2. nokta net değilse).
1. Artı işaretiyle ilgili olarak - anlaşılabilir. Ekran görüntüsünde yıl 2019, ay ise Ekim.
2. Bekleyen emri tam olarak anlamadım. Danışmanın bekleyen bir emir verdiğini ve saat başında hemen bir pozisyon açmadığını nasıl belirlediniz? Daha fazla olabilir mi?
3. Varsayılan sinyal modülü değerleri ile EA normal şekilde çalışır. Parametre değerlerini değiştirmek mümkün müdür?
1. Artı işaretiyle ilgili olarak - anlaşılabilir. Ekran görüntüsünde yıl 2019, ay ise Ekim.
***
Açıklama için teşekkürler.
***
2. Bekleyen emri tam olarak anlamadım. Danışmanın bekleyen bir emir verdiğini ve saat başında hemen bir pozisyon açmadığını nasıl belirlediniz? Daha fazla olabilir mi?
***
Görsel test cihazındaki "Geçmiş" sekmesine bakmanız yeterli
***
3. Varsayılan sinyal modülü değerleri ile EA normal şekilde çalışır. Parametre değerlerini değiştirmek mümkün müdür?
***
Elbette yapabilirsiniz, ancak yalnızca ne yaptığınızı anlarsanız ve hangi parametrenin neyden sorumlu olduğunu anlarsanız.
Sadece bir örnek: Saatte 15-00 saatini görmek istiyorsunuz. Ve bekle. Ancak şu anda kene yoktu veya sunucuyla bağlantı yoktu. Ve sonra tikler başladı, ancak zaman zaten 15 saat 00 dakika 36 saniye. Ne yapacaksın?
Sadece bir örnek: Saatte 15-00 saatini görmek istiyorsunuz. Ve bekle. Ancak şu anda kene yoktu veya sunucuyla bağlantı yoktu. Ve sonra tikler başladı, ancak zaman zaten 15 saat 00 dakika 36 saniye. Ne yapacaksın?
Tam olarak 15-00 değil, saatin başlangıcını kontrol edecek şekilde yapmak mümkün mü? Onlar. öyle ki, bir önceki saatin bittiği ve yenisinin başladığı daha ilk dakikadan belliydi.
Merhaba!
Anlamama yardım et. "Zaman filtresi" ticaret sinyali modülü hakkında bir sorum var.
Gerçek şu ki, bu modülü kullanarak bir danışman oluşturdum ve izni günde sadece bir saat ticarete ayarladım. Temelde böyle ticaret yapıyor, ancak danışmanın istediği saatte pozisyon açtığı günler var. "Zaman filtresi" ticaret sinyali modülünü diğer ticaret sinyali modülleriyle (örneğin, Stokastik, WPR, vb.) çeşitli kombinasyonlarda uygulamaya çalıştım, aynı şey oluyor. Ayrıca, izin verilen 2 ardışık çalışma saatini ayarlarsanız, sorun olmaz, net bir şekilde çalışır.
Ne ile bağlanabilir? "Zaman filtresi" ticaret sinyali modülünün kodunda bir hata olabilir mi? Programlama konusunda uzman olmadığım için, çözmeme yardım etmeni veya bana söylemeni istiyorum, belki de kendim yanlış bir şey yapıyorum.
Saygılarımla, Vladimir.
İşte resimde iyi bir örnek. Bir gün saat 7'de açılıyor, başka bir gün saat 17'de açılıyor, üçüncü gün yine saat 7'de açılıyor ve sadece saat 7'de açılması gerekiyor.
mq5 mesajına bir Uzman Danışman ekleyebilir ve test cihazı parametrelerini belirleyebilir misiniz (iki ekran görüntüsü: Ayarlar ve Parametreler sekmeleri)?
Merhaba! Lütfen bana söyle. Koşul nasıl doğru yazılır: *yeni bir saat geldiyse*?
Zaman anlamında (örneğin, saat 15-00 gösterdi) veya H1 zaman diliminde yeni bir çubuk doğdu anlamında mı?
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5
Vladimir Karputov , 2019.10.14 12:04
mq5 mesajına bir Uzman Danışman ekleyebilir ve test cihazı parametrelerini belirleyebilir misiniz (iki ekran görüntüsü: Ayarlar ve Parametreler sekmeleri)?
Örneğin, asılsız olmamak için, MQL5 Sihirbazı'nda AMA ticaret sinyallerinin ilk modülünü ve bir zaman filtresini oluşturdum.
"Ayarlar" ekran görüntüsü
"Ayarlar" ekran görüntüsü
Yanlışın ekran görüntüsü zaman filtresi işlemi (farklı günlerde saat 7, 12 ve 7'de pozisyonlar açılır)
Örneğin, asılsız olmamak için, MQL5 Sihirbazı'nda AMA ticaret sinyallerinin ilk modülünü ve bir zaman filtresini oluşturdum.
"Ayarlar" ekran görüntüsü
"Ayarlar" ekran görüntüsü
Hatalı zaman filtresi işleminin ekran görüntüsü (pozisyonlar farklı günlerde saat 7, 12 ve 7'de açılır)
1. Grafikli bir resim - ekran görüntüsü alırken bunu "Artı işareti" aracıyla birlikte yapın - aksi takdirde hangi yıl olduğu belli olmaz.
2. Bekleyen emirlerle çalışırken - bekleyen bir emrin, yerleştirme zamanına göre tamamen farklı bir zamanda (saat ve dakika) çalışabileceğini unutmayın.
3. Sinyal modüllerini kullanırken, parametreleri varsayılan değerlere sıfırlayın ve piyasadaki çalışmayı kontrol edin - bekleyen emirler olmadan (bu, 2. nokta net değilse).
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5
Vladimir Karputov , 2019.10.14 13:28
1. Grafikli bir resim - ekran görüntüsü alırken bunu "Artı işareti" aracıyla birlikte yapın - aksi takdirde hangi yıl olduğu belli olmaz.
2. Bekleyen emirlerle çalışırken - bekleyen bir emrin, yerleştirme zamanına göre tamamen farklı bir zamanda (saat ve dakika) çalışabileceğini unutmayın.
3. Sinyal modüllerini kullanırken, parametreleri varsayılan değerlere sıfırlayın ve piyasadaki çalışmayı kontrol edin - bekleyen emirler olmadan (bu, 2. nokta net değilse).
1. Artı işaretiyle ilgili olarak - anlaşılabilir. Ekran görüntüsünde yıl 2019, ay ise Ekim.
2. Bekleyen emri tam olarak anlamadım. Danışmanın bekleyen bir emir verdiğini ve saat başında hemen bir pozisyon açmadığını nasıl belirlediniz? Daha fazla olabilir mi?
3. Varsayılan sinyal modülü değerleri ile EA normal şekilde çalışır. Parametre değerlerini değiştirmek mümkün müdür?
Saygılarımla, Vladimir.
***
1. Artı işaretiyle ilgili olarak - anlaşılabilir. Ekran görüntüsünde yıl 2019, ay ise Ekim.
***
Açıklama için teşekkürler.
2. Bekleyen emri tam olarak anlamadım. Danışmanın bekleyen bir emir verdiğini ve saat başında hemen bir pozisyon açmadığını nasıl belirlediniz? Daha fazla olabilir mi?
***
Görsel test cihazındaki "Geçmiş" sekmesine bakmanız yeterli
3. Varsayılan sinyal modülü değerleri ile EA normal şekilde çalışır. Parametre değerlerini değiştirmek mümkün müdür?
***
Elbette yapabilirsiniz, ancak yalnızca ne yaptığınızı anlarsanız ve hangi parametrenin neyden sorumlu olduğunu anlarsanız.
Zaman anlamında (örneğin, saat 15-00 gösterdi) veya H1 zaman diliminde yeni bir çubuk doğdu anlamında mı?
Yani saat 15-00 gösteriyordu.
Ve sonuç ne derece güvenilirliğe ihtiyaç duyuyor?
Sadece bir örnek: Saatte 15-00 saatini görmek istiyorsunuz. Ve bekle. Ancak şu anda kene yoktu veya sunucuyla bağlantı yoktu. Ve sonra tikler başladı, ancak zaman zaten 15 saat 00 dakika 36 saniye. Ne yapacaksın?
Ve sonuç ne derece güvenilirliğe ihtiyaç duyuyor?
Sadece bir örnek: Saatte 15-00 saatini görmek istiyorsunuz. Ve bekle. Ancak şu anda kene yoktu veya sunucuyla bağlantı yoktu. Ve sonra tikler başladı, ancak zaman zaten 15 saat 00 dakika 36 saniye. Ne yapacaksın?