"CopyTicks"in Test Edilmesi - sayfa 3

 

Test etmiyorum, geliştiricilere hatırlatırım. Uygulama bunun gereksiz olmadığını gösteriyor))

İşlemin yönüne gelince - Forts için her zaman borsa tarafından verilir.

Şu anda terminalde kullanılan algoritma bunun için uygun değil - borsadan bilgi almak gerekiyor.

 
Dmitriy Skub :

Test etmiyorum, geliştiricilere hatırlatırım. Uygulama bunun gereksiz olmadığını gösteriyor))

İşlemin yönüne gelince - Forts için her zaman borsa tarafından verilir.

Şu anda terminalde kullanılan algoritma bunun için uygun değil - borsadan bilgi almak gerekiyor.

Kopyalama (ve mqltickinfo) hakkında "bekle" ile biten sadece birkaç konu var.

İşte bir tane daha, örneğin:

https://www.mql5.com/ru/forum/61607


Yani gerçekten, "bekle" :-)

CopyTicks на медленном рынке
CopyTicks на медленном рынке
  • www.mql5.com
На нём видно, что после получения первых 10 тиков после запуска терминала, CopyTicks перестаёт работать:. - - Категория: автоматические торговые системы
 
Ve şimdi yapı 1210'da CopyTicks() ile işler nasıl?
 
Михаил :
Ve şimdi yapı 1210'da CopyTicks() ile işler nasıl?
Her Şey Güzel: Bir Teak Hikayesi
 
Михаил :
Ve şimdi, yapı 1210'da CopyTicks() ile işler nasıl?

Neredeyse çalışıyor. İkizler yok. Hacimler kaybolmaz.

Ancak bayraklardaki işlemlerin yönü eksik. Teklif/soruşturma ile hesaplama, aslına uygunluk sağlamaz.

Yapı gerçek - eski ve yardımda açıklanandan farklı. Bu yüzden bunun bir ara yapı olduğunu anlıyorum. Bu nedenle, her zaman olduğu gibi, bir sonrakini bekliyoruz))

 
Dmitriy Skub :

Neredeyse çalışıyor. İkizler yok. Hacimler kaybolmaz.

Ancak bayraklardaki işlemlerin yönü eksik. Teklif/soruşturma ile hesaplama, aslına uygunluk sağlamaz.

Yapı gerçek - eski ve yardımda açıklanandan farklı. Bu yüzden bunun bir ara yapı olduğunu anlıyorum. Bu nedenle, her zaman olduğu gibi, bir sonrakini bekliyoruz))

teşekkürler
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MqlTick

zimbabve15 , 2016.02.03 06:15

Broker "Açma" aracı ED-3.16 sol tablo - kene verileri OnCalculate prosedüründeki gösterge tarafından SymbolInfoTick talebi aracılığıyla, sağ tablo - CopyTicks aracılığıyla yazılır. Yapı hem orada hem de orada: zaman, teklif, sor, son, hacim, time_msec, flag.

Neden aynı keneler farklı hacim ve bayrak değerlerine sahip?

Sıfır bayraklı bir komisyoncudan SymbolInfoTick aracılığıyla piyasadan ham veri alırsak, terminalin gelen onay işaretini zaten işlediği ve bir öncekiyle karşılaştırmanın sonuçlarına dayanarak ona bir bayrak atadığı ortaya çıkıyor mu? O zaman hacimlerle nasıl olunur? Fark önemlidir.


Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MqlTick

zimbabve15 , 2016.02.03 06:39

Broker FiboFroup, SymbolInfoTick aracılığıyla sol tik tablosu , CopyTicks aracılığıyla sağ tablo. Yapı hem orada hem de orada: zaman, teklif, sor, son, hacim, time_msec, flag.

Bayraklar farklı çünkü alış/satış değerleri farklı şekillerde kaydedilen aynı tiklerde dans etmektedir.


 
zimbabve15 :


Herhangi bir kod olmadan "sayfa" göndermek bir salgın mı?
 

Kopya İşaretleri

///////////////////////////////////////////// //////////////////////////////////////////// // //////

MqlTick tick_array[];

int OnInit()
{
int kopyalanmış=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,countHistoryTicks);
if(Save_File!=NOT_SAVE)
{
SaveTicksToFile(tick_array);
}
dönüş(INIT_SUCCESSED);

}


void SaveTicksToFile(MqlTick &massiveTicks[])

{

string dosyaadı,file_buffer;

StringConcatenate(dosyaadı,Symbol(),".txt");

int file_handle=FileOpen(dosyaadı,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ);

FileSeek(file_handle,0,SEEK_END);

int sizeMassiveTicks=ArraySize(massiveTicks);

int i=0;

while(i<sizeMassiveTicks)

{

StringConcatenate(file_buffer,TimeToString(massiveTicks[i].time,TIME_DATE|TIME_SECONDS)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].ask,_Digits)," " ,DoubleToString(massiveTicks[i].last,_Digits)," ",IntegerToString(massiveTicks[i].volume,_Digits)," ",IntegerToString(massiveTicks[i].time_msc)," ",IntegerToString(massiveTicks[i] .flags,_Rakamlar));

FileWrite(file_handle,file_buffer);

ben++;

}

FileClose(file_handle);

}

SembolBilgiTick

///////////////////////////////////////////// /////////////////////

int OnCalculate(const int oranları_toplam,

const int önceki_hesaplanmış,

const tarihsaat &saat[],

const double &aç[],

const çift &yüksek[],

const çift &düşük[],

const double &kapat[],

const uzun &tick_volume[],

const uzun &hacim[],

const int &spread[])

{

MqlTick last_tick;

SymbolInfoTick(Symbol(),last_tick);


TickStruct tick={0,0,0,0,0,0,0};

tick.time=TimeCurrent();

tick.bid=last_tick.bid;

tick.ask=last_tick.ask;

tick.flag=last_tick.flags;

tick.last=last_tick.last;

tick.time_msc=last_tick.time_msc;

tick.volume=last_tick.volume;

int toplam=ArraySize(g_ticks);

if(ArrayResize(g_ticks,toplam+1,1000)<0)

{

Alert(": göstergenin bir sonraki tik ile ilgili verileri kaydetmek için yeterli hafızası yok.");

}

başka

{

g_ticks[toplam]=kene;

UpTick[rates_total-1]=toplam;

}

eğer(toplam>999)

{

SaveTempTicks();

ArrayFree(g_ticks);

}

dönüş(oranlar_toplam);

}

geçersiz SaveTempTicks()

{

// Bir onay geçmişi dosyası oluşturun

int hTicksFile=FileOpen(Symbol()+"fullTicks.tks",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE);

if(hTicksFile<1)

dönüş;

FileSeek(hTicksFile,0,SEEK_END);

// Dosya yaz

int toplam=ArraySize(g_ticks),i=0;

while(i<toplam)

{

if(FileWriteStruct(hTicksFile,g_ticks[i])==0)

{

Print("Veriler geçici dosyaya kaydedilirken hata oluştu...");

dönüş;

}

ben++;

}

FileClose(hTicksFile);

}

 
Lütfen mesajınızı düzeltin ( Kodu foruma doğru bir şekilde girin). Mesajdaki koda ek olarak dosyanın kendisini (*.mq5) eklerseniz iyi olur.
Neden: