Uzman Danışmanların uygulanmasının tartışılması. - sayfa 6

 
Ivan_Invanov :
Merhaba. Lütfen bana bu danışman için pazara girme sinyalinin ne olduğunu ve kodun neresinde olduğunu söyleyin?

Kullanıcı göstergesinin sinyal modülünü bir hatta bağlarsınız

 //--- available signals
#include <Expert\Signal\SignalMA.mqh>


ve burada bu göstergenin ticaret sinyallerini kontrol edebilirsiniz .


Şu anda yeterli bilgi var ve onu sindirmeniz gerekiyor. Ayrıca makaleyi okumanızı tavsiye ederim.

Документация по MQL5: Стандартная библиотека / Модули стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
Документация по MQL5: Стандартная библиотека / Модули стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
  • www.mql5.com
Цена пересекла индикатор сверху вниз(цена Open анализируемого бара выше линии индикатора, а цена Close - ниже), но индикатор растет (слабый сигнал на отбой от линии индикатора). Цена пересекла индикатор нижней тенью (цены Open и Close анализируемого бара выше линии индикатора, а цена Low ниже) и индикатор растет (сигнал на отбой от линии...
 

beyler bir sorum var

Parametrelerin optimizasyonunda üst üste çıkmamaları için doğru bir şekilde nasıl bir kısıtlama yapılır, çok fazla gereksiz arama vardır.

 input    int                 Profit_Lev1        = 5 ;           // |     1-я фиксация прибыли 
sinput string _p1= "" ; //---
input    int                 Profit_Lev2        = 7 ;           // |     2-я фиксация прибыли 
sinput string _p2= "" ; //---
input    int                 Profit_Lev3        = 10 ;           // |     3-я фиксация прибыли


3 adet kar alma seviyemiz var, 1. seviye 2. ve 3. seviyeyi geçmemeli ve 2. seviye 3. seviyeyi geçmemelidir.

 //+------------------------------------------------------------------+
//| Проверяет внешние параметры                                      |
//+------------------------------------------------------------------+
bool CheckInputParameters()
  {
     if (Profit_Lev1 >= Profit_Lev2  || Profit_Lev1 >= Profit_Lev3 || Profit_Lev2 >= Profit_Lev3)
       {
         Print ( _Symbol ,
               ": 1-й уровень профита (" + IntegerToString (Profit_Lev1)+ ") "
               "должен быть больше 2-го и 3-го уровня профита (" + IntegerToString (Profit_Lev2)+ "   " + IntegerToString (Profit_Lev3)+ ")!" );
         return ( false );
        }                     
//--- Параметры корректны
   return ( true );
  }

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  { 


//--- Проверим внешние параметры
   if (!CheckInputParameters())
       return ( INIT_PARAMETERS_INCORRECT );


//--- Инициализаия прошла успешно
   return ( INIT_SUCCEEDED );
  }


optimizasyonu çalıştırıyorum

Günlükte bir sürü hata görünmeye başlar, muhtemelen çalışmayı sıfırlayan bir şey


Ancak gerçek şu ki, robot 20 dakikayı seçer ve optimizasyon durur, ancak bu sınırı ayarlamazsanız ve her şeyin ilkinin ikinciden daha yüksek olabileceği yere gitmesine izin verirseniz, optimizasyon daha fazla devam eder. tam bir gün.

Neyi yanlış yapıyorum, çekimlerin sırayla gitmesini ve birbirinden daha yükseğe zıplamamasını istiyorum. algoritmada, TP'nin her seviyesi için, bir CU şeklinde birkaç çalışma mantığı ve bir CU'nun bu seviyeler boyunca transferi atanır.

 
Konstantin Seredkin :

beyler bir sorum var

Parametrelerin optimizasyonunda üst üste çıkmamaları için doğru bir şekilde kısıtlama nasıl yapılır, çok fazla gereksiz arama var.


3 adet kar alma seviyemiz var, 1. seviye 2. ve 3. seviyeyi geçmemeli ve 2. seviye 3. seviyeyi geçmemelidir.

Üç "kâr seviyesi" değil, "temel seviye", "taban üzerinden ikinci seviyenin fazlası" ve "ikinci seviyenin üzerine üçüncü seviyenin fazlası" girin.

Herşey. Komple revizyon yapıyoruz.

Her üç düzeyin de sabit bir aralığa sığması gerekiyorsa, o zaman "aralık genişliği" ve iki "düzeyler arasındaki sınır" değişkenlerini tanıtıyoruz, ayrıca birinci sınır aralığın bir kısmı ve ikinci sınır bir kesirdir. aralığın kalan kısmı (ilk kenarlıklardan sonra).

bunu yapardım...

 
Georgiy Merts :

Üç "kâr düzeyi" değil, "temel seviye", "taban üzerinden ikinci seviyenin fazlası" ve "ikinci seviyenin üzerine üçüncü seviyenin fazlası" girin.

Herşey. Komple revizyon yapıyoruz.

Her üç düzeyin de sabit bir aralığa sığması gerekiyorsa, o zaman "aralık genişliği" ve iki "düzeyler arasındaki sınır" değişkenlerini tanıtıyoruz, ayrıca birinci sınır aralığın bir kısmı ve ikinci sınır bir kesirdir. aralığın kalan kısmı (ilk kenarlıklardan sonra).

bunu yapardım...

Ördek terimin yerlerini değiştirmekten, birinci seviyeyi ikinci ve üçüncü ile kontrol ettiğimde, üçüncü seviyeyi birinci ve ikinci ile kontrol ettiğimde bir fark olacak mı, anlam aynı.
 
Konstantin Seredkin :
Ördek terimin yerlerini değiştirmekten, birinci seviyeyi ikinci ve üçüncü ile kontrol ettiğimde, üçüncü seviyeyi birinci ve ikinci ile kontrol ettiğimde bir fark olacak mı, anlam aynı.

ilk seviye ikinciden daha büyük olduğunda vb. yanlış parametreleriniz var, ancak önerilen sürümde bu tür kontroller kaybolacak ve tüm setler doğru olacaktır.

 
Konstantin Seredkin :
Ördek terimin yerlerini değiştirmekten, birinci seviyeyi ikinci ve üçüncü ile kontrol ettiğimde, üçüncü seviyeyi birinci ve ikinci ile kontrol ettiğimde bir fark olacak mı, anlam aynı.

Soru, "kavşaklar olmadan" nasıl çözüleceği gibi görünüyor. Örneğin, ilk seviye aralığın %10'u ise, ikinci seviye kalan %90'da ölçüldüğü için hiçbir şekilde ona uymaz.

 
Georgiy Merts :

Soru, "kavşaklar olmadan" nasıl çözüleceği gibi görünüyor. Örneğin, ilk seviye aralığın %10'u ise, ikinci seviye kalan %90'da ölçüldüğü için hiçbir şekilde ona uymaz.

Hala anlamadım.

Bunlar sadece bazı statik değişkenler değil, bunlar içinde 3 kar al olarak belirlediğim harici değişkenler.


Robot 3 lot işlem yapıyor

100p'den sonra 1 lot kapatmak istiyorum = bu ilk kâr seviyesi

200'den sonra bir lot daha = ikinci seviye kar

300'den sonra bir lot daha = üçüncü kar seviyesi


Ancak ilk seviyede robot, zararı durdurmayı başabaş noktasına koyar.

Ve ikinci seviyede, robot bu durağı 1. kâr seviyesine aktarır.

Başabaş olmazdı, 1.si 300, ikincisi 50p, üçüncüsü 150 olsa bile, optimize edicinin bu seviyeleri nasıl alacağı umrumda değil

ancak başabaş yönteminin net bir sıraya ihtiyacı var, bu yüzden optimize edicinin beni bu şekilde seçmesini istemiyorum

300 50 150

50 300 150

vb.

ve her şey yolunda gidiyordu

50 100 200

150 160 170

vb.

Girilen parametrelerin doğruluğunu kontrol etme

 //+------------------------------------------------------------------+
//| Проверяет внешние параметры                                      |
//+------------------------------------------------------------------+
bool CheckInputParameters()
  {
     if (Profit_Lev1 >= Profit_Lev2  || Profit_Lev1 >= Profit_Lev3 || Profit_Lev2 >= Profit_Lev3)
       {
         Print ( _Symbol ,
               ": 1-й уровень профита (" + IntegerToString (Profit_Lev1)+ ") "
               "должен быть больше 2-го и 3-го уровня профита (" + IntegerToString (Profit_Lev2)+ "   " + IntegerToString (Profit_Lev3)+ ")!" );
         return ( false );
        }                     
//--- Параметры корректны
   return ( true );
  }

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  { 


//--- Проверим внешние параметры
   if (!CheckInputParameters())
       return ( INIT_PARAMETERS_INCORRECT );


//--- Инициализаия прошла успешно
   return ( INIT_SUCCEEDED );
  }

Optimize ederken, bir grup çalıştırmada boşluklar olduğunu söylüyor, uygulanamayan ayarları sıfırlaması iyi, ancak optimize edici birkaç dakika çalışıyor ve kapanıyor.

Görünüşe göre bu çekin başka bir şekilde dövülmesi gerekiyor.

Ne öneriyorsun, neden bahsettiğine dair bir örnek olmadan çözemiyorum.

 
Konstantin Seredkin :

Hala anlamadım.

Bunlar sadece bazı statik değişkenler değil, bunlar içinde 3 kar al olarak belirlediğim harici değişkenler.


Robot 3 lot işlem yapıyor

100p'den sonra 1 lotu kapatmak istiyorum = bu ilk kâr seviyesi

200'den sonra bir lot daha = ikinci seviye kar

300'den sonra bir lot daha = üçüncü kar seviyesi


Ancak ilk seviyede robot, zararı durdurmayı başabaş noktasına koyar.

Ve ikinci seviyede, robot bu durağı 1. kâr seviyesine aktarır.

Başabaş olmazdı, 1.si 300, ikincisi 50p, üçüncüsü 150 olsa bile, optimize edicinin bu seviyeleri nasıl alacağı umrumda değil

ancak başabaş yönteminin net bir sıraya ihtiyacı var, bu yüzden optimize edicinin beni bu şekilde seçmesini istemiyorum

300 50 150

50 300 150

vb.

ve her şey yolunda gidiyordu

50 100 200

150 160 170

vb.

Girilen parametrelerin doğruluğunu kontrol etme

Optimize ederken, bir grup çalıştırmada boşluklar olduğunu söylüyor, uygulanamayan ayarları sıfırlaması iyi, ancak optimize edici birkaç dakika çalışıyor ve kapanıyor.

Görünüşe göre bu çekin başka bir şekilde dövülmesi gerekiyor.

Ne öneriyorsun, neden bahsettiğine dair bir örnek olmadan çözemiyorum.

girişte, seviyelerin kendilerini değil, aralarındaki mesafeleri ayarlayın.

input uint firstLevel=20 ; // пунктов от цены до первого ТП

input uint secondDistance=30; // пунктов от первого ТП до второго

input uint thirdDistance=50; // пунктов от второго ТП до конечного

o zaman optimize edici seviyeleri fiziksel olarak değiştiremez

 

Tünaydın, otomatik olarak işlem gören mt4'teki bir danışmanın Yandex bulutuna uzaktan bir makine kuran adamlar var. Oyunu sabit sürücünüze nasıl kopyalayacağınız ve her şeyi nasıl çalıştıracağınız gibi, bir şekilde oradan "almak" mümkün mü? Teşekkür

Ps dilim dilim için üzgünüm, bu şeylerin terminolojisini ve özünü anlamıyorum.

 

Tünaydın!

Bir danışman yazmaya karar verdim. Bu bağlamda, uzmanın emir açacağı sinyalleri değiştirmek gerekli hale geldi. Örneğin, DeMarker göstergesi - danışmanın yalnızca bu gösterge aşağıdan yukarıya (satın alma) 0,3 değerini ve yukarıdan aşağıya (sat) 0,7 değerini geçtiğinde siparişleri açması gerekir. SignalDeMarker.mqh dosyasını düzenlemeniz gerektiğini doğru anlıyor muyum (fiyatın artacağı "Oylama" ve "Oylama" bu fiyatın düşeceği yorumlarının olduğu kod bölümleri)?