Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 872

 
rapid_minus :

Pekala, kafam tamamen karıştı: OrdBuy_1( ), bu fonksiyonun üzerinde belirtilen 1 No'lu koşullar altında bir SATIN ALMA açan bir fonksiyondur. Yalnızca double türü, sipariş açılış fiyatını döndürdüğü için muhtemelen int'den daha doğrudur. Ve anladığım kadarıyla herhangi bir fonksiyona eklemedim, int start() dan sonra ayrı duruyor, gerekli tüm göstergelerin değerlerini çıkartıyor ve piyasadaki mevcut durumu analiz ediyor.(Yanılıyor muyum?) .

Ve dur ve al nasıl normalleştirilir veya daha iyisi - onları nasıl ayarlamazsınız?

Ve çek hakkında anlamadım. Sanırım öğreticiyi yanlış anladım - " bool SiparişKapat ( int bilet , çift çok , çift fiyat , int kayma , renk Renk = CLR_NONE ) Piyasa emri kapatma fonksiyonu." Çek nedir?

Genel olarak, daha fazla, daha aptal :(.

Neden bunun doğru olduğuna karar verdin?

//Локальная переменная, открывающая ордер БАЙ
   int OrdBuy_1() = (OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-1500*Point,Bid+1500*Point));

Yazdınız - bir değişken. Ancak iki parantez, işlevi bildirdiğiniz anlamına gelir. Başka bir işlevin içinde. Ve sonra açıklaması değil, görevi var.

Ve eğer açılış fiyatını geri vermesi gerektiğini söylüyorsanız, neden değeri gerçekle karşılaştırıyorsunuz?

if (OrdBuy_1()==true)                              //Если был открыт ордер №1, то...

Aslında, OrderSend() başarı durumunda açık pozisyonun bilet numarasını döndürür. Aksi takdirde -1 hatada. Hatanın ne olduğunu bulmak için son GetLastError() hatasının içeriğini görüntülemeniz ve mümkünse ticaret sunucusu tarafından döndürülen hata kodunu işlemeniz gerekir (bundan bahsetmiştim).

Bilet numarasını "true" (true) olarak kontrol edin. Ve bu ya 0 (yanlış) ya da sıfır olmayan herhangi bir değerdir (doğru). Hata durumunda, OrderSend() -1 değerini döndürür, bu doğrudur, ne olmuş yani?

 
artmedia70 :
Gerçek bir çizgi yerine sanal bir çizgi hesaplayın.

Ben çoktan başladım. Sorun, en büyük indeks sağda olacak şekilde çubukların indekslenmesinin nasıl tersine çevrileceğidir (eğilim çizgisinin geometrisini hesaplamak için)

Bu şekilde çevirdim, ancak gösterge hesaplama döngüsü ile nasıl karşılaştırabilirim. Belki indekslemeyi tersine çevirmenin daha teknik bir yolu vardır?

 for (i=limit;i>= 0 ;i--)
   {
   Bar[i]=Bar[i+ 1 ]+ 1 ;
   }
 
Forexman77 :

Ben çoktan başladım. Sorun, en büyük indeks sağda olacak şekilde çubukların indekslenmesinin nasıl tersine çevrileceğidir (eğilim çizgisinin geometrisini hesaplamak için)

Bu şekilde çevirdim, ancak gösterge hesaplama döngüsü ile nasıl karşılaştırabilirim. Belki indekslemeyi tersine çevirmenin daha teknik bir yolu vardır?

Ne için? Hesaplanan çubuğun fiyatını almak için çubuğu ve çizginin iki noktasının fiyatını kullanın:

 double EquationDirect( double x1, double y1, double x2, double y2, double x) { return ((x2==x1)?y1:(y2-y1)/(x2-x1)*(x-x1)+y1);}

x1 - satırın ilk noktasının çubuğu, y1 - ilk noktasının fiyatı, x2 ve y2 - satırın ikinci noktasının çubuğu/fiyatı, x - fiyatı bilmek istediğiniz çubuğun numarası.

 
artmedia70 :

Ne için? Hesaplanan çubuğun fiyatını almak için çubuğu ve çizginin iki noktasının fiyatını kullanın:

x1 - satırın ilk noktasının çubuğu, y1 - ilk noktasının fiyatı, x2 ve y2 - satırın ikinci noktasının çubuğu/fiyatı, x - fiyatı bilmek istediğiniz çubuğun numarası.

TAMAM. Teşekkür ederim.
 
Herkese iyi günler Lütfen ertesi gün 23.00'te danışmandaki tüm pozisyonları nasıl kapatacağımı söyleyin, gün içinde herhangi bir sorun yok (eğer (Hour_curr>=doğru zaman), ancak 00.00 saat sonra transfer ile bir şekilde sıkışık. . Şimdiden teşekkür ederim.
 
aleks_pavlenko :
Herkese iyi günler Lütfen ertesi gün 23.00'te danışmandaki tüm pozisyonları nasıl kapatacağımı söyleyin, gün içinde herhangi bir sorun yok (eğer (Hour_curr>=doğru zaman), ancak 00.00 saat sonra transfer ile bir şekilde sıkışık. . Şimdiden teşekkür ederim.
Pozisyonun açılış günü, kapatmanız gereken güne eşit değilse.
 
artmedia70 :
Pozisyonun açılış günü, kapatmanız gereken güne eşit değilse.
Doğru, açılış günü kapanış gününe eşit değil, mq4'te nasıl uygulanır.
 

Tünaydın! Kodun herhangi bir bölümünü (örneğin, genel değişkenlerin tanımı ve hesaplanması) dahil edilen bir dosya olarak nasıl düzenleyeceğimi anlamadım?

Bir dosyaya mgh uzantısı nasıl atanır?

Dahil edilen dosya, Expert Advisor'ın boyutunu küçültür mü?

Teşekkür ederim.

 
rapid_minus :

Tünaydın! Kodun herhangi bir bölümünü (örneğin, genel değişkenlerin tanımı ve hesaplanması) dahil edilen bir dosya olarak nasıl düzenleyeceğimi anlamadım?

Bir dosyaya mgh uzantısı nasıl atanır?

Dahil edilen dosya, Expert Advisor'ın boyutunu küçültür mü?

Teşekkür ederim.

Dahil edilen bir .mq4 de dahil edilebilir, mutlaka .mqh olması gerekmez, onu derlemeniz bile gerekmez. Dahil edilen dosya, OnInit(), OnDeinit(), OnTick, vb. özel fonksiyonların olmaması ile ayırt edilir.

Yürütülebilir dosyanın hacmi, tüm kodun tek parça halinde olması, içerme kodunun son yürütülebilir koda dahil edilmesinden hiçbir şekilde etkilenmez.

 
evillive :

Dahil edilen bir .mq4 de dahil edilebilir, mutlaka .mqh olması gerekmez, onu derlemeniz bile gerekmez. Dahil edilen dosya, OnInit(), OnDeinit(), OnTick, vb. özel fonksiyonların olmaması ile ayırt edilir.

Yürütülebilir dosyanın hacmi, tüm kodun tek parça halinde olması, içerme kodunun son yürütülebilir koda dahil edilmesinden hiçbir şekilde etkilenmez.

Doğru mu anladım - init(), start() ve diğer fonksiyonlar olmadan bir kod parçası yazıyoruz, onu bir .mqh dosyası olarak kaydediyoruz, o kadar mı? Terminal_Directory\experts\include içine yerleştirebiliriz ve sorunsuz çağrılacak ve yürütülecek?

Teşekkür ederim.