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

 
Merhaba. Yardım tavsiyesi. Gerçek bir pro-ecn alpari hesabında alıntılara duyarlı bir danışmanı test ediyorum. Sonuç olarak, teklifler ve iki ardışık test indirildikten sonra bile grafik aynı aralıkta önemli ölçüde farklılık gösterir. Gerçek hayatta ne bekleyeceğimi bilmiyorum.
 

test cihazında sabit bir yayılma ayarlayın. Genel olarak, bu tür şeylere duyarlı danışmanlar - tuvalette)

 
Evet, doğru, çok teşekkür ederim. Danışmana gelince, bilmiyorum. Yazar, sadece danışmanın hassasiyetini ana avantajı olarak sağlar. Danışmanın bir gösterge olmadığını, fiyat hareketine dayandığını açıkladığı için. Bu nedenle ecn hesapları ve dukascopy fiyatları üzerinde çalışılması tavsiye edilir. Bunun hakkında ne düşünüyorsun?
 
Lians :
Merhaba sevgili profesyoneller.

Alıntıları son 100 çubuk için veya geçmişte belirli bir zamana kadar ihtiyacım olan biçimde dışa aktarmak için böyle bir komut dosyası var. Olması gerektiği gibi çalışır. Ancak, onu test cihazının görselleştirme tablosuna atarsanız, o zaman teklifleri, test cihazının tarih ve saatine göre değil, geçmişte bir teklifin bulunduğu son zamana göre kaydeder.

Test cihazının görselleştirme tablosunun zamanına göre ona son 100 çubuğu kaydetmesini öğretmek mümkün mü?

Cevabınız evet ise, o zaman nasıl yapılacağına dair bir ipucu verin? Bir şey düşünmüyorum.
Not: Kim'in işlevini StringReplace yerine değiştirmek için kullanması tasarım gereğidir, kusura bakmayın.


kendime cevap veriyorum. Bu komut dosyasından bir gösterge yaparsanız, nedense olması gerektiği gibi çalışır.
Yani bir çözüm bulundu. Birkaç tıklama daha az kullanışlı olsa da, yine de hiç yoktan iyidir.
 

gösterge - ATS (Alpha Trend Spotter Price Action ücretsiz)

CandleHigh=High[Highest( NULL , 0 , 2 , 3 ,i)];
CandleLowS=Low[Lowest( NULL , 0 , 1 , 3 ,i)];
CandleOpenS=Open[i];
CandleHighF=High[Highest( NULL , 0 , 2 , 3 , (i+ 3 ))];
CandleHighL=Low[Lowest( NULL , 0 , 1 , 3 ,(i+ 3 ))];
CandleOpenL=Open[i+ 3 ];
//---
if ((CandleHigh>CandleHighF) && (CandleOpenS<CandleHighL))
{
BufferMap1[i]=High[i+ 3 ]+ 0.0010 ;
}
//---
if ((CandleLowS<CandleHighL) && (CandleOpenS>CandleHighF))
{
BufferMap2[i]=Low[i+ 3 ]- 0.0010 ;

Sorular:

1. Kaç mum analiz edilir?
2. Ok hangi mumun üzerine yerleştirilmiştir?
3. Kombinasyonun şartlarını anlatmak zor değilse
O1>C2 yazın

bu aynı göstergenin mq5 kodudur

{
CandleHigh=high[ ArrayMaximum (high,bar,iPeriod)];
CandleLow=low[ ArrayMinimum (low,bar,iPeriod)];
CandleOpen=open[bar];
CandleHigh1=high[ ArrayMaximum (high,bar+iPeriod,iPeriod)];
CandleLow1=low[ ArrayMinimum (low,bar+iPeriod,iPeriod)];
CandleOpen1=open[bar+iPeriod];
//---
BuyBuffer[bar]= 0.0 ;
SellBuffer[bar]= 0.0 ;
//---
if (CandleLow<CandleLow1 && CandleOpen>CandleHigh1) BuyBuffer[bar]=low[bar]-ATR[bar]* 3 / 8 ;
if (CandleHigh>CandleHigh1 && CandleOpen<CandleLow1) SellBuffer[bar]=high[bar]+ATR[bar]* 3 / 8 ; }

mq5'i şöyle anlıyorum:

 bool UP = Low[i+ 2 ] < Low[i+ 1 ] && Open[i+ 2 ] > High[i+ 1 ] ;

bool DOWN = High[i+ 2 ] > High[i+ 1 ] && Open[i+ 2 ] < Low[i+ 1 ] ;

doğru mu anladım

==

ATS mq4 https://www.mql5.com/en/code/12941

 
Merhaba forum kullanıcıları.
Dosya sanal alanı dışındaki dosyalarla çalışmak için kitaplığı entegre etmeye çalışıyorum https://www.mql5.com/ru/code/11140 .
İlk aşamada, dosyanın temel açılmasıyla ilgili sorunlar vardı. Belki birisi bu kütüphaneye dayanarak bir şeyler yaptı, lütfen yardım edin. Çok teşekkürler!
 #include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   string name= StringConcatenate (Year(),TransformToFileName(Month()),TransformToFileName(Day()), ".log" );
//---
   string path=TerminalPath()+ "\\MQL4\\Logs\\" +name;
//---
   if (FileCheckW(path))
     {
       //---
       int handle=- 1 ;
      handle=FileOpenExistingW(path,GENERIC_READ,SHARE_READ);
       if (handle!= NULL )
        {
         Alert (handle);
         FileCloseHandle(handle);

        }
     }
//
  }
//+------------------------------------------------------------------+
string TransformToFileName( int val)
  {
   string res;
//---
   if (val< 10 )
     {
      res= StringConcatenate ( 0 ,val);
     }
   else
     {
      res= StringConcatenate (val);
     }
//---
   return (res);
  }
//+------------------------------------------------------------------+
Hata
 
bistreevseh :
Merhaba forum kullanıcıları.
Dosya sanal alanı dışındaki dosyalarla çalışmak için kitaplığı entegre etmeye çalışıyorum https://www.mql5.com/ru/code/11140 .
İlk aşamada, dosyanın temel açılmasıyla ilgili sorunlar vardı. Belki birisi bu kütüphaneye dayanarak bir şeyler yaptı, lütfen yardım edin. Çok teşekkürler!

Belki de sorun budur

 StringConcatenate()

"Not

Parametreler herhangi bir tipte olabilir. Parametre sayısı 2'den az ve 64'ü geçemez."

 
bistreevseh :
Merhaba forum kullanıcıları.
Dosya sanal alanı dışındaki dosyalarla çalışmak için kitaplığı entegre etmeye çalışıyorum https://www.mql5.com/ru/code/11140 .
İlk aşamada, dosyanın temel açılmasıyla ilgili sorunlar vardı. Belki birisi bu kütüphaneye dayanarak bir şeyler yaptı, lütfen yardım edin. Çok teşekkürler!

Test komut dosyası düzgün çalışıyor mu?

Sistem diskindeki haklar ve sahip?

Bu komut dosyasına sahibim:

 #include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
 {
   string sName = TimeToString ( TimeLocal (), TIME_DATE ) + ".log" ;
  sName = StringSubstr (sName, 0 , 4 ) + StringSubstr (sName, 5 , 2 ) + StringSubstr (sName, 8 );
   string sPath = TerminalPath() + "\\MQL4\\Logs\\" + sName;
   Print (sPath);
   if (FileCheckW(sPath))
   {
     int hFile = FileOpenExistingW(sPath, GENERIC_READ,SHARE_READ);
     if (hFile != NULL )
     {
       Print ( "hFile = " , hFile);
      FileCloseHandle(hFile);
     }
     else Print ( "Файл не открыт!" );
   }
   else Print ( "Файл отсутствует!" );
 }

İşler:

0 07:46:55.195 Check_FileLib EURUSD,Günlük: başlatıldı
0 07:46:55.196 Check_FileLib EURUSD,Günlük: E:\Market\Forex\Brokers\Alpari\MetaTrader 4.00\MQL4\Logs\20160305.log
0 07:46:55.239 Check_FileLib EURUSD,Günlük: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Günlük: uninit sebep 0
0 07:46:55.241 Script Check_FileLib EURUSD,Günlük: kaldırıldı

 
Zhunko :

Test komut dosyası düzgün çalışıyor mu?

Sistem sürücüsündeki haklar ve sahip?

Bu komut dosyasına sahibim:

İşler:

0 07:46:55.195 Check_FileLib EURUSD,Günlük: başlatıldı
0 07:46:55.196 Check_FileLib EURUSD,Günlük: E:\Market\Forex\Brokers\Alpari\MetaTrader 4.00\MQL4\Logs\20160305.log
0 07:46:55.239 Check_FileLib EURUSD,Günlük: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Günlük: uninit sebep 0
0 07:46:55.241 Script Check_FileLib EURUSD,Günlük: kaldırıldı


Çok teşekkürler! Garip bir şekilde çalışıyor, yönetici haklarım var, özellikle sahibine tüm yıkımı verdiğim terminal klasörü için, yardımcı oldu, ancak daha sonra çalışmayı durdurdu. Sonra günlük dosyasını FileReadStrArrayW işleviyle okumaya çalıştım (adıyla yanılmıyorsam), boş satırlar okunuyor, ansi modunda komut dosyası donuyor. Yalnızca FileReadCharArr ansi kodlarını okumak için çıktı. Belki kitaplığınızı kullanarak günlük dosyasını nasıl ayrıştıracağınıza dair bir örneğiniz vardır? Çok minnettar olacağım!
 
lütfen bana göstergede bir kene gelişine olan bağımlılıktan nasıl kurtulacağımı söyleyin, zamanlayıcı durumu kaydetmez. Göstergenin bir döngü kullanarak karşılaştırmalı bir hesaplama yapması gerekiyor, piyasa günlerinde gerçek zamanlı olarak gösterge çalışıyor (yavaş da olsa), ancak bugün hesaplamanın yapılmadığını fark ettim.