Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
//+------------------------------------------------------------------+ //| TickSaver.mq4 | //| Copyright © 2006, Cherednikov K.M. | //| mailto:chkm76@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Cherednikov K.M." #property link "mailto:chkm76@mail.ru" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Black #include <WinUser32.mqh> //---- input parameters extern int NumTicksPerBar=3; extern int Minutes_for_HSTfilename=3; //---- buffers double ExtMapBuffer1[]; //---- глобальные переменные int hFile=-1; int iFilePos; int CurrTickNumber=0; datetime i_time, i_time_bar0; double d_open, d_low, d_high, d_close, d_volume; double d_low_bar0, d_high_bar0, d_volume_bar0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { int nVersion=400; string szCopyright; string szSymbol=Symbol(); int iDigits=Digits; int iUnused[13]; //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); hFile=FileOpenHistory(szSymbol + Minutes_for_HSTfilename + ".hst", FILE_READ); if(FileSize(hFile)<0){ // Дабы не затереть реальные файлы историй, в имя файла добавлен "0" перед периодом hFile=FileOpenHistory(szSymbol + Minutes_for_HSTfilename + ".hst", FILE_BIN|FILE_WRITE); if(hFile < 0) return(-1); //---- Записать заголовок hst-файла szCopyright="(C)opyright 2003, MetaQuotes Software Corp."; FileWriteInteger(hFile, nVersion, LONG_VALUE); FileWriteString(hFile, szCopyright, 64); FileWriteString(hFile, szSymbol, 12); FileWriteInteger(hFile, Minutes_for_HSTfilename, LONG_VALUE); // файл - М2 FileWriteInteger(hFile, iDigits, LONG_VALUE); FileWriteInteger(hFile, 0, LONG_VALUE); FileWriteInteger(hFile, 0, LONG_VALUE); FileWriteArray(hFile, iUnused, 0, 13); FileFlush(hFile); iFilePos=FileTell(hFile); } else{ iFilePos=FileTell(hFile); } i_time = CurTime(); i_time_bar0 = Time[0]; d_open = Close[0]; d_low = d_open; d_high = d_open; d_close = d_open; d_volume = 1; d_volume_bar0 = Volume[0]; /*d_low_bar0 = Low[0]; d_high_bar0 = High[0];*/ //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { if(hFile>=0) { FileClose(hFile); hFile=-1; } return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { CurrTickNumber++; //********* Обновление данных в переменных текущего бара ************** d_close = Close[0]; if (d_low > d_close) d_low = d_close; if (d_high < d_close) d_high = d_close; // Объем if (i_time_bar0!=Time[0]) // если на реальном графике появился новый бар, а для // нас еще не набралось тиков закончить тиковый бар... { //расчитать изменение объема с учетом пополнения предыдущего реального бара d_volume += Volume[1] + Volume[0] - d_volume_bar0; i_time_bar0 = Time[0]; } else { //расчитать изменение объема только с учетом текущего реального бара d_volume += Volume[0] - d_volume_bar0; } d_volume_bar0 = Volume[0]; // Обновление данных последнего бара FileSeek(hFile, iFilePos, SEEK_SET); FileWriteInteger(hFile, i_time, LONG_VALUE); FileWriteDouble(hFile, d_open, DOUBLE_VALUE); FileWriteDouble(hFile, d_low, DOUBLE_VALUE); FileWriteDouble(hFile, d_high, DOUBLE_VALUE); FileWriteDouble(hFile, d_close, DOUBLE_VALUE); FileWriteDouble(hFile, d_volume, DOUBLE_VALUE); if (CurrTickNumber==NumTicksPerBar) { iFilePos=FileTell(hFile); CurrTickNumber=0; i_time = CurTime();// / 60 / Minutes_for_HSTfilename; //i_time *= 60 * Minutes_for_HSTfilename; d_open = Close[0]; d_low = d_open; d_high = d_open; d_close = d_open; d_volume = 1; FileWriteInteger(hFile, i_time, LONG_VALUE); FileWriteDouble(hFile, d_open, DOUBLE_VALUE); FileWriteDouble(hFile, d_low, DOUBLE_VALUE); FileWriteDouble(hFile, d_high, DOUBLE_VALUE); FileWriteDouble(hFile, d_close, DOUBLE_VALUE); FileWriteDouble(hFile, d_volume, DOUBLE_VALUE); } FileFlush(hFile); // Обновление окна автономно открытого файла int hwnd=WindowHandle(Symbol(), Minutes_for_HSTfilename); if (hwnd!=0) PostMessageA(hwnd, WM_COMMAND, 33324, 0); Comment("Отладочная Инфа: \n"+ "Тиков в баре: " + CurrTickNumber + "\nOpen=" + d_open + " Close=" + d_close + "\nHigh=" + d_high + " Low=" + d_low + "\nVol=" + d_volume + "\nПозиция файла: " + iFilePos ); return(0); } //+------------------------------------------------------------------+Alıntılar, sırasıyla 10000 ve 100 (Japonca için) ile çarpılarak tamsayılar olarak saklanabilir.
Ek olarak, son teklife göre önemli noktaları ve bir ofseti kaydedebilirsiniz.
Bunların hepsi teknik konular.
Temel sorun stratejiktir.
Kvoto'lar İSTEMİYOR ve yapacaklarını sanmıyorum. Yalnızca terminal rakipler tarafından zorlanırsa, bir onay terminali oluşturmak için ön koşullar olacaktır.
Bir sorun daha var. Müşteriler terminal için ödeme yapmazlar.
Sunucu satın alan DC'ler tarafından ödenir ve DC'ler tick terminaliyle İLGİLENMEZ, çünkü DC alıntılarının özellikleri üzerinde çalışan zanaatkarlar görünecek.
DC'lerin terminalin nasıl olması gerektiği (zaman veya kene) hakkında düşünmesi pek olası değildir. Tamamen farklı çıkarları var. DC'nin ihtiyacı olan tek şey muhtemelen geliştiriciler, bence zaten her şeyi sağladılar (otomatik ticaretin izni / yasaklanması, piyasa dışı fiyatlarla işlemlerin iptali vb.). Şampiyona istatistikleri, herhangi bir DC'nin iyi bir "mutfak" düzenleyebileceğini ve bazı özel kene terminallerinin ortaya çıkmasının temel hiçbir şeyi değiştirmeyeceğini, en azından DC'lerin, geliştirilirse devreye alınmasına direnmesinin olası olmadığını gösteriyor. Peki, hala kene serisini tanıtma ihtiyacına dair ayrıntılı bir kanıt bulunmadığından, soru şimdikiyle aynı olacaktır.
"Herhangi bir tik ve zaman çerçevesi - her şeyi yapan" Omega platformundan kene kanıtlarının sonuçlarına bakmak ilginç olurdu.
Komisyoncuların tartışması zaten forumun kapsamı dışında olsa da. Şimdi her şeyi temizleyecekler mi? :o)
"MQL4: Kene Toplayıcı"
EA, belirtilen semboller için kene geçmişini kaydeder
Sevgili solandr !
Bu tartışmadan neden bu kadar rahatsızsınız? Neden inatla gelecek hakkında her şeyi bildiğinize inanıyorsunuz - ne yapılmalı ve ne yapılmamalı?
Sizin tarafınızdan sunulan "ispatın inşası" programı prensipte yanlıştır. Kene ticaretinin başarısının tek güvenilir argüman olmasını istiyorsunuz. Böyle düşünürseniz, mevcut t/f'lerin hiçbirine ihtiyaç yoktur - sonuçta, henüz kimse belirli bir t/f sayesinde radikal bir başarı elde ettiğini bildirmedi.
Seni bilgilendirmek. period_converter'ı temel alarak, uzun zaman önce sadece tick geçmişini yazmakla kalmayıp aynı zamanda grafik üzerinde gerçek zamanlı olarak gösteren bir Expert Advisor yazmıştım . Böylece, diğer TF'lerde yapılabilecek her şey, bir tik grafiğinde de yapılabilir. Bu, MT4 + MKL4 aracının ne kadar güçlü olduğunu bir kez daha gösteriyor. Ve ayrıca bu hizmeti yerleşik hale getirmenin o kadar zor olmadığı hakkında.
Ayrıca, kene verilerini araştırmak için çok zaman harcadım. Bu nedenle piyasada başarılı olup olmamamın hiç önemi yok. İnsanlar yetenekleri ve çalışmaları sayesinde bir şeyi başarır veya başaramazlar. Ama sonucun alınabilmesi için ÖNCE bunu yapabilmeleri gerekir. Bu şart yeterli değil, gerekli! :-)
Neden zaman çerçeveleriyle çalışma fırsatı var da onay çerçeveleriyle değil? Bu durum, geliştiricilerin sınırlı yetenekleri (geçici, insan veya benzeri) ile oldukça açıklanabilir. Ancak hizmetin bütünlüğü ve stratejisi açısından tamamen kabul edilemez. Bu nedenle, bugün az ya da çok piyasayı tatmin ederse, yarın durum böyle olmayacak.
Aynen öyle !. Demek istediğim tam olarak bu.
Bu arada, bu şeyin bir uzman olarak uygulanması gerekiyor. Gösterge keneleri atlıyor!
Dosyanın üzerine yazılmasını önlemek için şu şekilde açılmalıdır: FILE_BIN|FILE_READ|FILE_WRITE
Ve ona yazmadan önce, kayıt işaretçisini dosyanın sonuna ayarlamanız gerekir.
İnsanlar geliştiricilerden bir kene geçmişi yapmalarını istedi, geliştiriciler kategorik bir ret ile cevap verdi. Sırada ne var? Geliştiricilerin "işçilerin isteklerini" dinlemediğine dair dağlarca şikayeti buraya yazar mısınız? Kendi adıma, geliştiriciler üzerinde rasyonel bir baskı sürümü önerdim - sadece hiçbir şey! Herkes konuyla ilgili gerçek bir ilerleme olmadan sadece sonsuz sözlü şikayetler istiyorsa, lütfen, kişisel olarak buna karşı değilim.
EA, belirtilen semboller için kene geçmişini kaydeder
Ustaya teşekkür ederim tabiki ama aceleyle baktım csv'de kaydetmiş gibi ama benimki tarihe karışmış zannedildi bu grafiği hemen açıp offline olarak inceleyebilirsiniz.
Basit bir csv'den fxt'ye dönüştürücü.
Uzman Danışmanım ile bu betiği birleştirmek ve biraz yama yapmak gerekiyor - ihtiyacınız olan şey bu olacak ;)
Kene verileri, aşağıdaki nedenlerle hayatlarını zorlaştıracaktır:
1. Tire verilerinin mevcudiyeti ile, tik zaman dilimlerinde işlem yapan uzmanlar kaçınılmaz olarak ortaya çıkacak ve buna bağlı olarak, bu tür uzmanların çakışmasıyla BÜYÜK zorluklar ortaya çıkacaktır.
2. Ayrıca, güvenilir kene verileri varsa, kene uzmanlarını test cihazında test etmek mümkün olacaktır (bu da sayılarını artıracaktır)
3. Kene verilerine erişimden sonra, halk GERÇEK ciltlere erişim talep edecektir :))))))
4. Ve zaten 4. sırada, geliştiricilerin isteksizliği veya istihdamı (DC'den bir talep olsaydı, iki hafta içinde yaparlardı :))
5. Ve son olarak, çılgın trafik ve disk alanı hakkındaki "koz" argümanı...