[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 80

 
drknn :
Belki orada değer sıfırla biter ve normalleştirme sürecinde bu son sıfır basitçe atılır? 0,1 0,10'a eşit olduğu ve sıfırın atılması gerektiği için mi atılıyor?

zar zor, son çubuğun noktasındaki çizginin değerlerine elimle baktım sıfır yoktu.. ve bazı durumlarda değer 4. haneye, hatta bazen 3. haneye çevriliyordu. çünkü sonraki rakam >5 idi
 
drknn :


çalışmıyor ((dizeye doğru değer döndürülür ve değişken cürufla doludur, ardından 3 basamak, ardından 4 .

bu değeri dizeden doğru bir şekilde almak mümkün mü?

 
NameLess :


çalışmıyor ((dizeye doğru değer döndürülür ve tam cüruf değişkene döndürülür, ardından 3 basamak, ardından 4 .

bu değeri dizeden doğru bir şekilde almak mümkün mü?


Bir dll-ku yapabilir ve içinde yuvarlayabilirsiniz. Bunu, sayının kesirli kısmını atmak için yapmak zorunda kaldım. Açık olmayan bir şey daha var - gösterge kodu beş basamaklı bir işaret için mi hapsedilmiş? Bu soruyu yalnızca geliştirici yanıtlayabilir. Ya da sadece kendi hindini yap.
 
drknn :

dll-ku yapmak ve içinde yuvarlamak mümkündür. Bunu, sayının kesirli kısmını atmak için yapmak zorunda kaldım. Açık olmayan başka bir şey daha var - gösterge kodu beş basamaklı olarak keskinleştirilmiş mi? Bu soruyu yalnızca geliştirici yanıtlayabilir. Ya da sadece kendi hindini yap.

danışmanım içte ve dışta. Prensip olarak, en az 4 basamak kararlı bir şekilde döndürülürse, bu sorunu bir kenara atabilirsiniz, ancak bazen 3'ü de döndürür, nedeni tam olarak açık değildir. Orada iMA'ya baktım, oyuncularla ilgili her şey normal görünüyor. Dürüst olmak gerekirse, bunun neden olduğunu anlamıyorum. ama bir aksama var. dll-ku hakkında hiç fikrim yok, en azından bir link bırakın ne nedir, nerede okumalı?
 
NameLess :

danışmanım içte ve dışta. Prensip olarak, en az 4 basamak kararlı bir şekilde döndürülürse, bu sorunu bir kenara atabilirsiniz, ancak bazen 3'ü de döndürür, nedeni tam olarak açık değildir. Orada iMA'ya baktım, oyuncularla ilgili her şey normal görünüyor. Dürüst olmak gerekirse, bunun neden olduğunu anlamıyorum. ama bir aksama var. dll-ku hakkında hiç fikrim yok, en azından bir link bırakın ne nedir, nerede okumalı?


Vay be, bu zaten bir problem - en azından dll yapmanıza izin veren başka bir programlama dili hakkında en azından yüzeysel bir bilgiye ihtiyacınız var. Ya da MQL4'te bir dizgeye bir değer girmeye çalışın ve dizgeden sadece x karakter çıkaracak bir işlev yapın. Örneğin fiyat = 1.25254130 - bu değer satıra girilmiştir. İşlev, ilk 7 karakterden geçmeli ve tam olarak onları döndürmelidir - yani, 1.25254. Boncukları bir iplik üzerine dizerken, bu değeri sayısal bir döngüde yeni bir satıra yazıyoruz. Sonra bir double'a dönüştürüyoruz ve alt programdan dönüyoruz.

Dll ile ilgili olarak - bu forumda buna benzer bir şeye bakın https://www.mql5.com/en/forum/124088

 
drknn :


Vay, bu zaten bir problem - en azından bazı programlama dilleri hakkında en azından yüzeysel bir bilgiye sahip olmanız gerekiyor. Ya da bir dizgeye bir değer girmeye çalışın ve dizgeden sadece x karakter çıkaracak bir işlev yapın. Örneğin fiyat = 1.25254130 - bu değer satıra girilmiştir. İşlev, ilk 7 karakterden geçmeli ve tam olarak onları döndürmelidir - yani, 1.25254. Boncukları bir iplik üzerine dizerken, bu değeri sayısal bir döngüde yeni bir satıra yazıyoruz. Sonra bir double'a dönüştürüyoruz ve alt programdan dönüyoruz.

Dll ile ilgili olarak - bu forumda buna benzer bir şeye bakın https://www.mql5.com/en/forum/124088


Biliyorum, derinlemesine değil, ama en azından bir dilde değil)))) evet, yöntem tanıdık. tavsiye için teşekkürler. dll'lerle hiç karşılaşmadım, çünkü profesyonel olarak programlama ile uğraşmaktadır.

dürüstçe çamur karıştı, tk. sorun hiç mantıklı değil, göstergeden değer almak imkansız. daha gerçek çıkıyor, ama sadece bir satırda.

 

Lütfen bana EA'da bir koşulun yalnızca tek bir uygulamasına (örneğin, bir sipariş açma) nasıl izin vereceğimi ve bunu her onay işaretiyle tekrar etmemeye nasıl izin vereceğimi söyleyin. Aynı zamanda bir pozisyonu kapatırken danışman yeni bir pozisyon açmamalıdır. Canlandırmaya çalıştım ama amaçlanan çıkmadı.

 extern bool    BUY         = true;
extern int     Magic       = 0;
extern double  Lot         = 0.1;
extern int     takeprofit  = 0;
extern int     stoploss    = 0;
extern int     slippage    = 3; 
double SL,TP;
int init(){
    return(0);
  }
int start()
{
   if (BUY)
   {
      if (takeprofit!=0) TP  = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0)   SL  = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;     
      OPENORDER ("Buy");
   }

return(0);
}
void OPENORDER(string ord)
{
int error;
 while (true)
 { error=true;
 if (ord=="Buy") error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0){BUY = false;}
}
return;
}
Şimdiden teşekkür ederim.
 
nemo811 :

Lütfen bana EA'da bir koşulun yalnızca tek bir uygulamasına (örneğin, bir sipariş açma) nasıl izin vereceğimi ve bunu her onay işaretiyle tekrar etmemeye nasıl izin vereceğimi söyleyin. Aynı zamanda, bir pozisyonu kapatırken danışman yeni bir pozisyon açmamalıdır. Canlandırmaya çalıştım ama amaçlanan çıkmadı.

Şimdiden teşekkür ederim.



Bu sorunu, herhangi bir işlemden önceki koşula (bu durumda, açılış), siparişi açtıktan sonra koşulun içine bir bayrak koyarak çözdüm, bayrak değerini değiştiriyor ve buna bağlı olarak, program siparişi açtıktan sonra bu koşula girmeyecek. . süreç otomatik ise, o zaman açık pozisyon olmadığı anda tüm bayrakları temizleyen bir işlev takabilirsiniz, aksi takdirde mevcut danışman 1 kez sipariş açabilir ve ölür, çünkü bayrak değeri değiştirmez
 
NameLess :

Bu sorunu, herhangi bir işlemden önceki koşula (bu durumda, açılış), siparişi açtıktan sonra koşulun içine bir bayrak koyarak çözdüm, bayrak değerini değiştiriyor ve buna bağlı olarak, program siparişi açtıktan sonra bu koşula girmeyecek. . süreç otomatik ise, o zaman açık pozisyon olmadığı anda tüm bayrakları temizleyecek bir fonksiyon takabilirsiniz, aksi takdirde mevcut danışman 1 kez sipariş açabilir ve ölür, çünkü bayrak değeri değiştirmez

Lütfen bir örnek verin. Daha yeni öğreniyorum ve henüz bayrağı koyma göreviyle karşılaşmadım. )
 
nemo811 :

Lütfen bir örnek verin. Daha yeni öğreniyorum ve henüz bayrağı koyma göreviyle karşılaşmadım. )

bayrak, boole türünde bir değişken anlamına gelir) Ben profesyonel değilim, sadece sorunu nasıl çözdüğümü söylüyorum ve kodumu yaymak anlamsız, küçük değil ve çözmesi daha uzun sürecek fikirle dolu sıfırdan)))
Neden: