[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 260

 
ikatsko : Ve programın verilen parçasında, aşağıdakileri anlamadım: iTime, bar açılış zamanının değerini, mevcut olana göre number_of_bars_to_pass ile kaydırarak verecektir. Bu, bu şekilde elde edilen zamanın her zaman mevcut olandan daha az olacağı anlamına gelir. Her yeni çubukla birlikte yukarı doğru hareket edecektir. Ve tüm bunlar ??? Ne olmuş? Bu bir bar geçişi için nasıl çalışacak?

OrderOpenTime'ı komutunuzun verildiği zamanla değiştirin

f(iTime( Symbol() ,bar_period, number_of_bars_to_skip)<time_of_your_command) dönüş

 
paukas :

OrderOpenTime'ı komutunuzun verildiği zamanla değiştirin

f(iTime(Symbol(),bar_period,number_of_bars_to_pass)<time_of_your_command) dönüş

Anlıyor gibi görünüyor. time_of_your_command Bir sonraki çubuğun başlangıcını ayarladım ve number_of_bars_to_pass'tan sonra dönüş duracak! nazikçe. Teşekkür ederim !
 
Bicus :

Ve burada ne zor olabilir?

Dizinin 0. elemanı son tik fiyatına sahip olacak, 1. eleman 1 tik önceki fiyatına sahip olacak, 2. eleman 2 tik önceki fiyatına sahip olacak ve bu böyle devam edecektir.

Yoksa bir şeyi yanlış mı anladım ve tamamen farklı bir şey mi kastettim?

Bu işte yeniyim, ders kitabından kendi başıma öğreniyorum - heceleri çiğneyin plz.
 #property copyright "Bicus"
#property link       "Bicus"


double aPrices [ 5 ]; //мы объявили массив с пятью значениями внутри

void PutStack ( double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
   int nCounter; //создали переменную целого числа
  
   for (nCounter = 4 ; nCounter > 0 ; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
    aPrices [nCounter] = aPrices [nCounter - 1 ]; //присваиваем массиву (например) с номером 3 значиние массива с номером  2 (а разве надо не наоборот?). 
    
  aPrices [ 0 ] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}

int start()
{
   int nCounter; //опять создали переменную целого числа
  
  PutStack (Bid); //тут не понятно... Putstack=Bid?
  
   for (nCounter = 0 ; nCounter < 5 ; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?
     Print (nCounter, "-й тик: " , DoubleToStr (aPrices [nCounter], Digits )); //тут выводим значение
}
 

İyi günler sevgili uzmanlar.

Tüm forumları aradım ve henüz bir cevap bulamadım. Ve soru basit - MQL4'te bekleyen bir emrin uygulanma zamanını söyleyen basit bir işlevsellik var mı?

Mevcut bilgilere bakılırsa, böyle bir işlevsellik yoktur. OrderOpenTime() işlevi, bekleyen emrin uygulanmak üzere verildiği zamanı döndürür, ancak bir piyasa emri haline geldiği zamanı, hesaptaki emirlerin durumunu izleyen bir Uzman Danışman kullanmadan öğrenmek bana imkansız görünüyor.

Herhangi biri basit bir çözüm biliyorsa lütfen bana bildirin. Bir uzman şeklinde karmaşık bir şey yapmak verimsizdir, hizmetlerine günde bir veya iki kez ihtiyaç duyulursa, bir uzmanı sürekli olarak sürmek mantıklıdır. Daha basit bir şey gerekli, burada yerleşik bir işlev, bir kedi olacaktır. bekleyen emir için, tetiklenme zamanını bildirdi... Bu, emirlerin açılış saatine göre doğru bir şekilde muhasebeleştirilmesi için gereklidir, böylece, örneğin, her zaman mevcut açık veya zaten kapalı emirlerden hangi emrin, en son açılış saati. Ertelenmiş durumda ise bu yapılamaz. Bekleyen emir 2 saat önce verilmiş olabilir, bir saat önce çalışılmış olabilir, bu saat aralığında başka emirler açılıp kapatılabilir ve terminalde, piyasa haline gelen bekleyen emrin açılış saati iki saat öncedir. ve çalışmasının gerçek zamanını tam olarak öğrenmeniz gerekir.

Yorumlarınız için mutlu olacağım.

 
Starting :

İyi günler sevgili uzmanlar.

Tüm forumları aradım ve henüz bir cevap bulamadım. Ve soru basit - MQL4'te bekleyen bir emrin uygulanma zamanını söyleyen basit bir işlevsellik var mı?

Mevcut bilgilere bakılırsa, böyle bir işlevsellik yoktur. OrderOpenTime() işlevi, bekleyen emrin uygulanmak üzere verildiği zamanı döndürür, ancak bir piyasa emri haline geldiği zamanı, hesaptaki emirlerin durumunu izleyen bir Uzman Danışman kullanmadan öğrenmek bana imkansız görünüyor.

Herhangi biri basit bir çözüm biliyorsa lütfen bana bildirin. Bir uzman şeklinde karmaşık bir şey yapmak verimsizdir, hizmetlerine günde bir veya iki kez ihtiyaç duyulursa, bir uzmanı sürekli olarak sürmek mantıklıdır. Daha basit bir şey gerekli, burada yerleşik bir işlev, bir kedi olacaktır. bekleyen emir için, tetiklenme zamanını bildirdi... Bu, emirlerin açılış saatine göre doğru bir şekilde muhasebeleştirilmesi için gereklidir, böylece, örneğin, her zaman mevcut açık veya zaten kapalı emirlerden hangi emrin, en son açılış saati. Ertelenmiş bir durumda, bu yapılamaz. Bekleyen emir 2 saat önce verilmiş olabilir, bir saat önce çalışılmış olabilir, bu saat aralığında başka emirler açılıp kapatılabilir ve terminalde, piyasa haline gelen bekleyen emrin açılış saati iki saat öncedir. ve çalışmasının gerçek zamanını tam olarak öğrenmeniz gerekir.

Yorumlarınız için mutlu olacağım.

Danışmandan neden memnun olmadığınızı biraz anlamıyorum, çünkü kendi kendini optimize eden sinir ağlarında karmaşık bir ticaret sistemi yapmayacaksınız, sadece bekleyen her onayın varlığını ve ne zaman olduğunu kontrol etmeniz gerekiyor. ekran veya ses veya her ikisi birden bir metin mesajı alırsınız çalışır, hesap makinesi bu görevle başa çıkacak, bilgisayar için endişelenecek bir şey yok mu yoksa yazma ile ilgili sorunlarınız mı var?
 
CLAIN :
Bu işte yeniyim, ders kitabından kendi başıma öğreniyorum - heceleri çiğneyin plz.

Ders kitabı sorularınıza cevap vermiyor mu?
 

Etkilenmiş:

Pyxlik2009 14.10.2011 03:52

Beyler, hatanın ne anlama geldiğini (Sipariş Gönder işlevi için parametre 10 olarak geçersiz tam sayı) ve nasıl düzeltileceğini söyleyin?

 

Herkese iyi günler, program kodu uzmanları!

Bu durumu bana açıklayabilir misiniz, danışmanımda sipariş vermenin tüm amacı, bu kodu kullandığım belirli bir zamanda ve günde bir sipariştir:

 int H=Hour(),
    M=Minute();
if (H>= 21 && M>= 40 )
{
   {
     Alert ( "Ордер открыт-" ,Ticket);
     return ( 0 );
    }
   else 
   {
   Alert ( "Ошибка№=" , GetLastError ());
   return ( 0 );
   }
}

ancak if (H>=09 && M>= 40 ) ve if (H>=21 && M>= 40 ) aynı koşullar olduğunu fark etti ve siparişin günde en az iki kez verileceği ortaya çıktı.

Bu sorunu aşmak için burada başka ne uygulamalıyım?

Tüm desteğiniz için şimdiden teşekkür ederiz!!!

 

Starting :

.... Bir uzman şeklinde karmaşık bir şey yapmak verimsizdir, hizmetlerine günde bir veya iki kez ihtiyaç duyulursa, bir uzmanı sürekli olarak sürmek mantıklıdır.


Böyle bir şey var - bir senaryo. İhtiyacınız olduğunda, onu başlatırsınız.
 
Valdemar :

... if (H>=09 && M>= 40 ) ve if (H>=21 && M>= 40 ) aynı koşullar olduğunu fark ettim ve siparişin günde en az iki kez verileceği ortaya çıktı. .
Bu sorunu aşmak için burada başka ne uygulamalıyım?

Sık sık SSS'yi kontrol edin, faydalı olabilecek çok sayıda örnek vardır. Ve bunların temelinde kendi işlevlerinizi oluşturabilirsiniz.
isTradeTimeString - Zaman ticareti etkinleştirme bayrağını döndürür.
isTradeTimeInt - Zaman ticaret izni bayrağını döndürür.