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

 
okvseok :


örneğin, fare tekerleğini (tuşları) 3 dakika sola veya sağa çevirmeyin))), ancak çubuğun belirli bir tarihini veya başka bir şeyi girin.

Cevap için teşekkürler!


Boşluk çubuğuna basın ve istediğiniz tarihi girin.

Cevap işe yaramaz olduğu kadar doğrudur. Soruyla tamamen eşleşiyor.

 
TarasBY :
Grafiğin sol alt köşesinde (tarihin olduğu yerde) çift tıklayın ve açılan pencerede istediğiniz tarihi GG.AA.YYYY biçiminde girin - böyle bir "manuel olmayan" seçenek uygun olur mu?
Evet çok teşekkür ederim. her şey yolunda.
 
Run :

veya başka bir deyişle söyleyebilirsiniz
senaryo, planlandığı gibi, kabaca n'inci satır sayısını yazmalı ve sadece bir tane yazıyor

Başlangıç olarak, döngü dışında bir dosyayı açma ve kapatma prosedürünü taşıyın.
 

teşekkürler herşey işe yaradı

  handle= FileOpen ( "AUDJPY.csv" , FILE_READ | FILE_WRITE , '\t' );
   for ( int i=NumberOfCandels; i> 0 ; i--) {
    arrowbuy = iCustom ( NULL , 0 , "xxx" , 0 , i);
    arrowsell = iCustom ( NULL , 0 , "xxx" , 1 , i);
     if (arrowbuy != EMPTY_VALUE && arrowsell == EMPTY_VALUE ) {
       if (handle> 0 ) {
         FileWrite (handle, TimeToStr(Time[i], TIME_DATE|TIME_MINUTES), " Buy" );
        }
      }
     if (arrowsell != EMPTY_VALUE && arrowbuy == EMPTY_VALUE ) {
       if (handle> 0 ) {
         FileWrite (handle, TimeToStr(Time[i], TIME_DATE|TIME_MINUTES), " Sell" );
        }
      }
  }
   FileClose (handle);
 
okvseok :


örneğin, fare tekerleğini (tuşları) 3 dakika sola veya sağa çevirmeyin))), ancak çubuğun belirli bir tarihini veya başka bir şeyi girin.

Cevap için teşekkürler!

böyle bir fonksiyon var

int iBarShift ( dize sembolü, int zaman çerçevesi, tarih saat saat, bool tam=yanlış)
Zamana göre bir bar arayın. İşlev, belirtilen zamanın ait olduğu çubuğun ofsetini döndürür. Belirtilen süre için çubuk yoksa (geçmişte "delik"), tam parametreye, -1'e veya en yakın çubuğun ofsetine bağlı olarak işlev döner.
Seçenekler:
semboller - Aracın sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman aralığı - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
zaman - Aranacak zaman değeri.
bire bir aynı - Çubuk bulunamazsa değeri döndürür. YANLIŞ - iBarShift en yakın olanı döndürür. DOĞRU - iBarShift -1 değerini döndürür.
Misal:
 datetime some_time=D'2004.03.21 12:00';
  int shift=iBarShift("EUROUSD",PERIOD_M1,bir_zaman);
  Print("açık zamanlı çubuğun kayması",TimeToStr(bazı_zaman),", ", shift);

 
Chiripaha :

:))))))))) (gösterimsiz... ve yorumsuz)

İkisinden: soru soran ve yanıtlayan, daha ziyade siz, soru soran, çalıştıklarında gecikmelere ne olduğunu tam olarak anlamıyorsunuz. Bekleyen bir emir, HERHANGİ bir en yakın fiyattan yürütülür. Erteleme kuralı - eğer fiyat ona ulaşırsa, anlaşma piyasaya gidecektir. Ve fiyat önemli olmayacak. Bu aynı zamanda Zarar Durdurma için de geçerlidir, çünkü onlar da bekleyen emirlerdir, sadece anlaşmanın kendisinin zıt pozisyonlarıdır. Bu, borsadaki işlemlerden biraz farklıdır. Belki de bu yüzden kafanız karıştı.

Bu anlamda, çok şey komisyoncunun kalitesine bağlıdır. Bu, işlemlerin yürütülmesine ilişkin kuralları ve bu komisyoncudan likiditenin mevcudiyetini ve muhtemelen bir dizi başka özelliği ifade eder: varsayalım dürüstlük, vb. Neredeyse herhangi bir forex komisyoncusu (DC) ile sözleşmeyi okursanız, döner sizin bir anlaşmanızın (diğer herhangi bir tüccar gibi) bu "komisyoncu"nun herhangi bir uygun fiyatından kapatılabileceğini ve bu, yasa ve yönetmelikler çerçevesinde olacaktır, çünkü. İmzaladın. - Ama bunlar başka konular. Programlama ile alakası yok.


bu anlaşılabilir, ancak robotu demoya dahil ettim! orada, genellikle insanları cezbetmek için tüm normlar açılır. Aynı zamanda, tekrar tekrar ediyorum, el ile açılan mevduatlar, teşhir edildikleri yerde açıldı!
 
Ekburg :

bu anlaşılabilir, ancak robotu demoya dahil ettim! orada, genellikle insanları cezbetmek için tüm normlar açılır. Aynı zamanda, tekrar tekrar ediyorum, el ile açılan mevduatlar, teşhir edildikleri yerde açıldı!

Sonuç olarak: Tabii ki, ilgi uğruna, yalnızca genel bir tanım verdiğiniz için koşulları daha ayrıntılı olarak açıklamanızı isteyebilirim: gecikmeler robot tarafından ne zaman kuruldu (önceden veya değil; manuel olanlar) zaman olarak robotla yaklaşık olarak aynıdır veya değildir, vb.). Ama yine de, bu durumda, sadece komisyoncu ile uğraşmak zorunda kalacaksınız, çünkü. muhtemelen işlemlerin yürütülmesini sıraya koyan kendi iş parçacığına sahiptir. Diyelim ki, sıranızın önce manuel bir ertelemesi varsa, o zaman ertelemelerin yürütme süresi farklı olacaktır (diğer müşterilerin kuyruğu dahil), bu nedenle fiyat da farklı olabilir. Ve eğer robot sinyal oluşturma periyodu sırasında gecikmeler yaparsa, o zaman kuyruğa girmek tekrar belirgin değildir - bu nedenle uygulama fiyatında kaymalar mümkündür. Hakkında hiçbir şey yazmadığınız pozisyonların boyutu da etkileyebilir... vb...

Ama ... hepsi aynı, sadece bir komisyoncu (DC) ile öğrenebilirsiniz. Ve sanırım bahsetmediğim bir sürü sebep bulacaktır. - Ve tavsiye doğruydu: elbette, bekleyen siparişler için taleplerinizin taşındığını düşünüyorsanız, ellerinize ve komisyoncuya giriş yapın. Ancak sadece 2 farklı kavramı karıştırmayın: Bekleyen Emir ve bu Bekleyen Emir için bir Anlaşma. Bekleyen Emir, beyan edilen hacimle herhangi bir en yakın fiyattan piyasaya girmek için verilen bir emirdir. Anlaşma, beyan edilen para miktarı (lot) için emrinizi gerçekleştirmeyi başardığınız fiyattır. - Ve bu emirlerin fiyatları büyük olasılıkla (özellikle size link verilen hızlı piyasada) farklılık gösterecektir. Limit emirler için emir fiyatı ve işlem fiyatı (tanım gereği) eşittir.

Ve komisyoncu ve demo ile gerçeğin farklı olmaması gerçeği - bu iyi! - Bu, komisyoncunun müşterileri çekmek için (sizin sözlerinizden) hile işlemleri yapmadığını gösterir. - Bu durumda anlaşmazlık görülmez.

 
Zhunko :

1. Nasıl başlattınız? İlk önce güncelleme yapmadan başlamanız gerekir. Onlar. IsRefreshRate = yanlış. Veriler güncellenmeyecektir.

2. Ardından IsRefreshRates = true ile çalıştırın. Veriler güncellenecektir.

İşte ekran görüntüsü 1: ekran görüntüsü 2:

Bar saatlerine dikkat edin. MarketInfo()'nun piyasaya genel bakıştan veri aldığını da görebilirsiniz.

İşte bir uzman. Biraz kurcaladı. Enstrümanın adını görüntüler.


1. Bir terminalde, nasıl, güncellemeli veya güncellemesiz olursa olsun, ekran zaten aynı! Terminal, Duki'den %99 alıntı için baykuşları test etmek için komut dosyalarıyla birlikte indirildi. doldurdum çünkü büyük olduğu için takılmamıştır. İşte bağlantı: http://www.load.to/PqWVW2JQ75/Tick_quotes_for_MT4_tester_by_DukasCopy.zip

2. Başka herhangi bir terminalde durum zaten farklıdır. Burada, örneğin Oanda'da:

2.1 Başlangıçta aşağıdaki durumlarda:

IsRefreshRates = false

Böyle:

2.2 Ayrıca aşağıdaki durumlarda:

IsRefreshRates = true

bunun gibi..

İlk modda görebileceğiniz gibi, fiyatlar AUDNZD'den çok uzak... çiftler, ancak euro boyunca ve ikinci modda fiyatlar tam olarak görmek istediğimiz şey...

Görünüşe göre RefreshRates() hala sunucudan alıntılar "çekiyor". Destek uykuda, bu nedenle bu seçenek orijinalinden daha yakın.

 
Zhunko :
RefreshRates() yalnızca Expert Advisor'ın birlikte çalıştığı şeyi günceller. Böylece öğrenir. Bir uzmandan. Uzun zaman önce, Metaquotes'tan biri bunun hakkında yazdı.


Vadim, RefreshRates() öğesinin bir uzmanın ihtiyaç duyduğu araçlardan haberdar olduğundan şüpheliyim. Sonuçta, tüm Expert Advisor'ların global parametrelerde ayarlanmış sembol adı yoktur. Böyle? Öyleyse... Eğer öyleyse, o zaman soru ortaya çıkıyor, RefreshRates() hangi enstrümanın güncellenip hangilerinin güncellenmeyeceğine dair piyasa verilerini hangi işaretle buluyor?
 
Integer :

Junko, sayfa 409, en alttaki mesaj - verilerin neden güncellendiğini söylüyor. Çünkü iOpen(), iClose() işlevleri çağrılır ve bunu RefreshRates() işlevinden ispatlarsınız. Komut dosyası RefreshRates() olmadan ilk kez başlatıldığında, ancak terminalin verileri yüklediği iOpen(), iClose() işlevleri çağrıldı. İkinci çalıştırmada, veriler zaten oradaydı ve önce sıfır çubuğunun yüklendiğini biliyoruz, bu nedenle izlenim, verilerin tümünün yüklendiği, ancak tümü yüklenmemiş olabilir, ancak devam ediyor olabilir.

...ve ayrıca verilerin nasıl yükleneceğini bulduğunuzu da kanıtlıyorsunuz... burada ne tür akışlardan ve senkronizasyonlardan bahsedebiliriz...


Ve neden iOpen () aniden sunucudan veri pompalasın? Belgeler bir değer döndürdüğünü söylüyor .. Yani yine de dönüyor, ancak dışarı pompalanmıyor.