Sergey, tam olarak neyi değiştirdiğini anlayamadım çünkü CCİ kaynak kodunu görebilmek için verdiğin adrese kayıt olman gerekiyor.Filtre . Yalnızca bir hata buldum, iWPRapplication_price parametresine sahip değil, bu yüzden şu şekilde doğru:
Evet, prensipte hiçbir fark yoktur. Fonksiyonumu dene, oldukça basit, parametre olarak geç, büyü ve istenen trol. İşlev çağrısını, her tikte oradan "geçtiği" sürece, herhangi bir yerde başlangıçta atın.
Emirlerin sihirlerinin farklı olması gerektiği açıktır.
Anlaşıldı : Po değişkenini işlevin başında tanımladığınızı anlıyorum, ancak onu herhangi bir yere atamamışsınız, yani. 0'a eşittir.
ToLik_SRGV,Teşekkürler, hala çalışmıyor. Yani köpek orada gömülü değil. Yine de teşekkürler, daha fazla inceleyeceğim.anlaşıldı
string Global= "Global" ;
int param;
int start()
{
int i= GlobalVariableSet (Global,param);
Print (i); // Здесь он мне и выводит всякую лабуду вида : 1279217736return ( 0 );
}
Soru şu ki, neyi yanlış yapıyorum? Parametre değerlerini 1 veya 2 olarak almam gerekiyordu, ama anladım.... saçmalık Ve neden yine EA kodunun başında adı ve değişkeni yazmanız gerekiyor? Küresel olanlar gibi görünüyorlar, ancak derleme onlarsız başarısız oluyor.
ToLik_SRGV : Global değişkenlerin değerini okumak için başka bir fonksiyona ihtiyaç vardır :)))
Çok açık, kitaba bakıyorum ve göremiyorum, işe yarıyor, teşekkürler! Sorulara devam ediyorum. Hepsi aynı global değişkenler hakkında. Bu yüzden göstergeye aşağıdaki koşulu ekledim:
string EUR= "EURUSD" ; //имя глобальной переменнойstring GBP= "GBPUSD" ; //имя глобальной переменнойstring valuta= "" ;
int param; // параметр глобальной переменнойint init()
{
GlobalVariablesDeleteAll ( NULL );
return ( 0 );
}
int deinit()
{
return ( 0 );
}
//+------------------------------------------------------------------+int start()
{ string symb = Symbol (); //Здесь узнаю на какой валюте стоит индикатор
if (symb==EUR) {valuta=EUR;} // здесь сравнивая ,в переменную занощу имя глобальной переменной
if (symb==GBP) {valuta=GBP;} // которую следует использовать
//привожу простой примерdouble bar1= iMA ( Symbol (), PERIOD_M5 , 13 , 0 , MODE_SMMA , PRICE_TYPICAL , 0 );
double bar2= iOpen( Symbol (), PERIOD_M5 , 0 );
if (bar1>bar2){ param = 1 ; GlobalVariableSet (valuta,param); } // а здесь присваиваю параметр глобальной переменной
if (bar1<bar2){ param = 2 ; GlobalVariableSet (valuta,param); }
return ( 0 );
}
Göstergenin hangi para biriminde olduğuna bağlı olarak, hangi global değişkene değer atanacağını belirlemek istiyorum.
Anladığım kadarıyla GlobalVariableSet (valuta, param) global değişkeninde (valuta) adı kendisine yukarıda atanan değeri içermelidir
EA kodunda global değişkeni tekrar çağırırım
stringvaluta="değer";
int i=GlobalVariableGet(valuta); // ama değeri alamadım,.... yani 0 alıyorum. Belki global değişkenin adını bu şekilde değiştirmek mümkün değildir?
Bu isimle global bir değişken çağırmanın imkansız olduğu ortaya çıktı (hike), ancak GlobalVariableGet("EURUSD") dize adını yazarsanız, her şey çalışmaya başlar))
Varolan bir global değişkenin değerini veya hata durumunda 0 değerini döndürür. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.
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.
Ve Odysseus, önceki örnekte şuna sahiptiniz:
Ve şimdi şöyle:
Bir şey sildin mi yoksa bana öyle mi geldi?işte orijinal kod
Sergey, tam olarak neyi değiştirdiğini anlayamadım çünkü CCİ kaynak kodunu görebilmek için verdiğin adrese kayıt olman gerekiyor. Filtre .
Yalnızca bir hata buldum, iWPR application_price parametresine sahip değil, bu yüzden şu şekilde doğru:
Hepinize teşekkürler, şimdi çalışıyor!
Evet, prensipte hiçbir fark yoktur.
Fonksiyonumu dene, oldukça basit, parametre olarak geç, büyü ve istenen trol.
İşlev çağrısını, her tikte oradan "geçtiği" sürece, herhangi bir yerde başlangıçta atın.
Emirlerin sihirlerinin farklı olması gerektiği açıktır.
Anlaşıldı :
Po değişkenini işlevin başında tanımladığınızı anlıyorum, ancak onu herhangi bir yere atamamışsınız, yani. 0'a eşittir.
Burada her zamanki gibi)) İnsanlara karşı her zamanki gibi))
Ne saçmalık, anlayamıyorum. Genel değişkenlerle ilgili sorunlar. Gösterge kodunda şunu yazıyorum:
Ardından, aşağıdaki kodla uzmandan global değişkenin değerini almaya çalışıyorum
Soru şu ki, neyi yanlış yapıyorum? Parametre değerlerini 1 veya 2 olarak almam gerekiyordu, ama anladım.... saçmalık Ve neden yine EA kodunun başında adı ve değişkeni yazmanız gerekiyor? Küresel olanlar gibi görünüyorlar, ancak derleme onlarsız başarısız oluyor.Lütfen söyleyin, aynı anda iki AL/SAT pozisyonu açmak mümkün mü???
Denedim - Gerçek zamanlı olarak EUR / USD'ye bağlı bir AL ve SATIŞ pozisyonunu aynı anda açan basit bir kod yazdım, açılıyor gibi görünüyor.
Ama bu bir demo hesabı ve bir strateji test cihazı , ama gerçek hayatta nasıl olacak, DC itiraz edecek mi?
Teşekkür ederim!
int i= GlobalVariableGet (Global);Lütfen söyleyin, aynı anda iki AL/SAT pozisyonu açmak mümkün mü???
Denedim - Gerçek zamanlı olarak EUR / USD'ye bağlı bir AL ve SATIŞ pozisyonunu aynı anda açan basit bir kod yazdım, açılıyor gibi görünüyor.
Ancak bu demo hesap ve strateji test cihazı, ancak gerçek hayatta nasıl olacak, DC itiraz edecek mi?
Teşekkür ederim!
Genel olarak - bu soruyu DC'nizi desteklemek için sorun
Global değişkenlerin değerini okumak için başka bir fonksiyona ihtiyaç vardır :)))
Çok açık, kitaba bakıyorum ve göremiyorum, işe yarıyor, teşekkürler! Sorulara devam ediyorum. Hepsi aynı global değişkenler hakkında. Bu yüzden göstergeye aşağıdaki koşulu ekledim:
Göstergenin hangi para biriminde olduğuna bağlı olarak, hangi global değişkene değer atanacağını belirlemek istiyorum.
Anladığım kadarıyla GlobalVariableSet (valuta, param) global değişkeninde (valuta) adı kendisine yukarıda atanan değeri içermelidir
EA kodunda global değişkeni tekrar çağırırım
stringvaluta="değer";
int i=GlobalVariableGet(valuta); // ama değeri alamadım,.... yani 0 alıyorum. Belki global değişkenin adını bu şekilde değiştirmek mümkün değildir?
Bu isimle global bir değişken çağırmanın imkansız olduğu ortaya çıktı (hike), ancak GlobalVariableGet("EURUSD") dize adını yazarsanız, her şey çalışmaya başlar))
Yardımdan başlamak için
Varolan bir global değişkenin değerini veya hata durumunda 0 değerini döndürür. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.
GV içeriğini görüyor ancak alamıyor musunuz?