Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 572

 
Boris.45 :
Tünaydın. Gerekli kalıpları otomatik olarak aramak ve pozisyonları manuel olarak açmak için kullanmak istediğim MT5 üzerine bir danışman yazdım. Onlar. danışmanda ticaret işlevi yoktur. Benim sorunum, bu EA'yı çizelgeye yükleyemem. EA'da göstergelere çağrı yoktur. Tüm göstergeler programda yazılmıştır. Derledim ve ardından strateji test cihazında çalıştırdım. Hepsi sorunsuz. Danışmanı grafiğe koyuyorum, monitörde, ayarlarda ve danışmanın görünen penceresinde işlem yapma izni veriyorum . Fiyat tablosunda, yüzü olan bir gülen yüz yerine bir danışman simgesi belirir ve üzerinde beyaz bir üçgen olan yeşil bir daire bulunur. Bu prosedürü birkaç kez denedim, sonuçlar aynı. Fiyat tablosundaki periyotları değiştirdim, monitörde OnDeinit() işlevinden bir mesaj beliriyor, yani. programda bir mum işlenir ve iş durur.

Günlüğe baktı:

- danışmanı kurma girişimlerinden biri sırasında, program Profili değiştirme hakkında bir mesaj yayınladı;

- diğer tüm denemelerde, danışmanın yüklenmesi yorumsuz geçer.

Bir zamanlar profillerle çalıştım: Profil sayısını artırdım, her profil için kendi programlarımı belirledim. Orada bir şey kırdıysam, ne yazık ki bilmiyorum. Programın profili değiştirmekle ilgili bir mesaj vermesi için orada neyin kırılması gerektiğini bilmiyorum. Her ne kadar başka bir nedenden dolayı bir başarısızlık olabilir. Bu benim için net değil.

Bugün, test uğruna, yeni bir Expert Advisor (şablon) oluşturdum, OnInit(), OnDeinit(const int Reason), OnTick() fonksiyonlarına hiçbir şey yazmadım ve bu Expert Advisor'ı tabloya koymaya çalıştım ve ticarete izin verin.

Önceki durum ortaya çıktı.

Yardım lütfen. durumla ilgilen. Teşekkürler !!!!!!

Sırayla gidelim. İşte şablon:

 //+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade ()
  {
//---
   
  }
//+------------------------------------------------------------------+

Grafiğe ekleyin ve grafiğin ekran görüntüsünü stüdyoya ve ayrıca "Dergi" ve "Uzmanlar" sekmelerinden (orada görünüyorlarsa) kayıtları ekleyin.

Dosyalar:
Test.mq5  2 kb
 
Burada anladığım kadarıyla profesyonel de yok. çok yazık......
 
Mihail Marchukajtes :
Burada anladığım kadarıyla profesyonel de yok. çok yazık......
Bu nedenle, test cihazında başka birinin grafiğinden momentum değerlerini yazdırın
 
Artyom Trishkin :
Bu nedenle, test cihazında başka birinin grafiğinden momentum değerlerini yazdırın
Baskı, arabelleğin ne çizdiğini gösterir. Sıfır bilgi. Biri bana iyi bir cevap verebilir mi???? Vahşi tahminler değil...
 
Mihail Marchukajtes :
Baskı, arabelleğin ne çizdiğini gösterir. Sıfır bilgi. Biri bana güzel bir cevap verebilir mi???? Vahşi tahminler değil...
Yani sıfır bilgi veriyorsunuz. Kodunuz nerede? Yoksa buradakilerin hepsi medyum mu? O zaman onuncu nesildeki sihirbazların forumundasınız ...
 

Meslektaşlarım, belirli bir aralıktaki mumların parametrelerini nasıl karşılaştıracağımı söyleyin?

Maksimum veya minimum değerin nasıl hesaplanacağını anlıyorum.

İşte kod:

geçersiz OnTick()

{

çift H = 0;

for ( shift = Search_Period; shift >0; shift--)

{

if (Yüksek[shift] > H)

{ H = yüksek[kaydırma]; }

Uyarı (H);

}

}

Ancak sorun, değişkenin değerinin üzerine yazmasıdır.

Amacım, örneğin belirli bir dönemde aynı Yüksek fiyat değerine sahip iki veya daha fazla mum bulmak. Onlar. teorik olarak, her yinelemeden sonra, değeri depolayacak bir değişken, ardından bir başkası vb. oluşturulmalıdır. tüm aralık test edilene kadar. Ve daha da fazla karşılaştırılabilirler.

Ama nasıl yapacağımı bilmiyorum :(

 
Andrey Koldorkin :

Meslektaşlarım, belirli bir aralıktaki mumların parametrelerini nasıl karşılaştıracağımı söyleyin?

Maksimum veya minimum değerin nasıl hesaplanacağını anlıyorum.

İşte kod:

..................


Ancak sorun, değişkenin değerinin üzerine yazmasıdır.

Amacım, örneğin belirli bir dönemde aynı Yüksek fiyat değerine sahip iki veya daha fazla mum bulmak. Onlar. teorik olarak, her yinelemeden sonra, değeri depolayacak bir değişken, ardından bir başkası vb. oluşturulmalıdır. tüm aralık test edilene kadar. Ve daha da fazla karşılaştırılabilirler.

Ama nasıl yapacağımı bilmiyorum :(

Aşağı yukarı şöyle:

 //+------------------------------------------------------------------+
//|                                                     TestCopy.mq4 |
//|              Copyright 2016, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link        "https://login.mql5.com/ru/users/artmedia70"
#property version    "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Search_Period= 100 ;   // Количество копируемых High
int searchPeriod=(Search_Period< 1 )? 1 :Search_Period;
double mass_high[][ 2 ];         // массив значений High и их времени
MqlRates array[];             // Массив для копирования Open, High, Low, Close, Time
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   int copy_bars=( int ) fmin (Search_Period, Bars ( Symbol (), Period ()));
   if ( CopyRates ( Symbol (), PERIOD_CURRENT , 1 ,copy_bars,array)> 0 ) {
       double H= 0 ;
       int size_h= 0 ;
       for ( int i= 0 ; i<copy_bars; i++) {
         if (array[i].high>H) {
            H=array[i].high;
            size_h++;
             ArrayResize (mass_high,size_h);
            mass_high[size_h- 1 ][ 0 ]=H;
            mass_high[size_h- 1 ][ 1 ]=( int )array[i].time;
            }
         }
      }
   for ( int i= 0 ; i< ArrayRange (mass_high, 0 ); i++) {
       printf ( "Время: %s, High: %.5f" , TimeToString (( int )mass_high[i][ 1 ], TIME_DATE | TIME_MINUTES ),mass_high[i][ 0 ]);
      }
  }
//+------------------------------------------------------------------+
 
iki farklı Uzman Danışmanı bir araya nasıl yazarız?
 
Сергей Зырянов :
iki farklı Uzman Danışmanı bir araya nasıl yazarız?
ne amaçla ilgileniyorsunuz Ve böylece kodu bir danışmandan diğerine kopyalarsınız, sadece doğru şekilde kopyalamanız gerekir, nasıl yapılacağını anlamıyorsanız, serbest sipariş verin.
 
Artyom Trishkin :

Aşağı yukarı şöyle:

Bunu çözmeye çalışacağım. Teşekkür ederim.