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 !!!!!!
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.
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 parametersinputint Search_Period= 100 ; // Количество копируемых Highint searchPeriod=(Search_Period< 1 )? 1 :Search_Period;
double mass_high[][ 2 ]; // массив значений High и их времениMqlRates array[]; // Массив для копирования Open, High, Low, Close, Time//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
//---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?
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.
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:
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.
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
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...
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 :(
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:
iki farklı Uzman Danışmanı bir araya nasıl yazarız?
Aşağı yukarı şöyle:
Bunu çözmeye çalışacağım. Teşekkür ederim.