Tamsayı türü int, 4 bayt (32 bit) bir boyuta sahiptir. Minimum değer -2 147 483 648, maksimum değer 2 147 483 647'dir.
iBarShift'im 99999'dan büyük bir değer vermek istemiyor
Grafiğe bir trend çizgisi çiziyorum, aşağıdaki komut satırın başlangıç saatini alıyor ve bu zamanın çubuğunun seri numarasını gösteriyor.
Çizgi bir noktada geçmişe gittiğinde, çıkış değeri 99999'da durur ve eğer
boolkesin=yanlış// mod
true olarak değiştirin, GetLastError = 0 olmasına rağmen -1 çıktısını verir
voidOnStart ()
{
int total = ObjectsTotal ( 0 , 0 , - 1 ); // Общее кол-во объектов на: /текущий график/главное окно/все типы объектовdatetime time0 = 0 ; // Время соответствующее началу трендовой линииstring objname = "" ; // Имя объекта (трендовой линии)int shift = 0 ; // Номер бара, соответствующего времени начала трендовой линии time0for ( int i = total - 1 ; i >= 0 ; i--)
{
objname = ( string ) ObjectName ( 0 , i, 0 , OBJ_TREND );
time0 = ObjectGetInteger ( 0 , objname, OBJPROP_TIME , 0 );
shift = iBarShift ( NULL , PERIOD_M1 , time0, false );
Comment ( "shift: " , shift, " Error: " , GetLastError ());
Sleep ( 2000 );
}
}
Sorun nedir?
Farklı brokerlerin farklı çizelgelerini denedim, zaman hattan doğru bir şekilde kaldırıldı, örneğin PERIOD_M1'i M5 olarak değiştirirseniz, 99999'a ulaşmak için geçmişte daha da ileri gitmeniz gerekir.
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
Tamsayı türü int, 4 bayt (32 bit) bir boyuta sahiptir. Minimum değer -2 147 483 648, maksimum değer 2 147 483 647'dir.
iBarShift'im 99999'dan büyük bir değer vermek istemiyor
Grafiğe bir trend çizgisi çiziyorum, aşağıdaki komut satırın başlangıcının zamanını alıyor ve bu zamanın çubuğunun numarasını gösteriyor.
Çizgi bir noktada geçmişe gittiğinde, çıkış değeri 99999'da durur ve eğer
boolkesin=yanlış// mod
true olarak değiştirin, GetLastError = 0 olmasına rağmen -1 çıktısını verir
Sorun nedir?
Farklı brokerlerin farklı çizelgelerini denedim, zaman hattan doğru bir şekilde kaldırıldı, örneğin PERIOD_M1'i M5 olarak değiştirirseniz, 99999'a ulaşmak için geçmişte daha da ileri gitmeniz gerekir.
Her şeyden önce, terminal ayarlarında maksimum çubuk sayısını kontrol edin.
intOnInit ()
{
//-создадим хэндл индикатораhandle = iAO (name,period);
//-если не удалось создать хэндлif ( handle == INVALID_HANDLE )
{
...
return ( INIT_FAILED );
}
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır? Terminali yeniden başlattıktan sonra farklı olabilir mi? Grafik yeniden başlatıldıktan sonra farklı olabilir mi? Hangi durumlarda değişebilir?
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır? Terminali yeniden başlattıktan sonra farklı olabilir mi? Grafik yeniden başlatıldıktan sonra farklı olabilir mi? Hangi durumlarda değişebilir?
Yalnızca bir gösterge varsa, her zaman 10'luk bir tutamacı vardır. Sonraki her biri bir öncekine+1'e eşittir ve her şey tutamaçların oluşturulduğu sıraya bağlıdır. Yalnızca öncekilerden birinin hata alması durumunda değişebilir.
Yalnızca bir gösterge varsa, her zaman 10 tutamacı vardır. Sonraki her biri bir öncekine+1'e eşittir ve her şey tutamaçların oluşturulduğu sıraya bağlıdır. Yalnızca öncekilerden birinin hata alması durumunda değişebilir.
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır? Terminali yeniden başlattıktan sonra farklı olabilir mi? Grafik yeniden başlatıldıktan sonra farklı olabilir mi? Hangi durumlarda değişebilir?
Предположим, что нам вдруг наскучил классический MQL5-доступ к индикаторам и захотелось сравнить скорость доступа в сравнении с альтернативными вариантами. Например, сравним его с доступом к индикаторам в стиле MQL4 без кэширования и с кэшированием. Идеи с доступом в MQL4-стиле были взяты из статьи LifeHack для трейдера: готовим фастфуд из...
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
Lütfen bana çok boyutlu bir diziyi bir fonksiyona nasıl doğru bir şekilde geçireceğimi söyleyin.
Başlıkta sadece MyFun( &Mas[][] ) öğesini belirtirseniz, derleyici işlev gövdesindeki Mas[j][k] dizi öğesine erişirken bir hata oluşturur.Fakat nasıl?
Tek boyutlu olanlarda sorun yok gibi görünüyor.
Bir dizinin ikinci ve sonraki boyutları dinamik olamaz. Bu nedenle bir dizi nasıl bildirilir, örneğin int Mas[][7]; bu yüzden kabul etmelisin MyFun(int &Mas[][7])
MQL5 iBarShift
mql5 belgelerine göre, iBarShift işlevi bir int değeri döndürür.
int #
Tamsayı türü int, 4 bayt (32 bit) bir boyuta sahiptir. Minimum değer -2 147 483 648, maksimum değer 2 147 483 647'dir.
iBarShift'im 99999'dan büyük bir değer vermek istemiyor
Grafiğe bir trend çizgisi çiziyorum, aşağıdaki komut satırın başlangıç saatini alıyor ve bu zamanın çubuğunun seri numarasını gösteriyor.
Çizgi bir noktada geçmişe gittiğinde, çıkış değeri 99999'da durur ve eğer
bool kesin=yanlış // mod
true olarak değiştirin, GetLastError = 0 olmasına rağmen -1 çıktısını verir
Sorun nedir?
Farklı brokerlerin farklı çizelgelerini denedim, zaman hattan doğru bir şekilde kaldırıldı, örneğin PERIOD_M1'i M5 olarak değiştirirseniz, 99999'a ulaşmak için geçmişte daha da ileri gitmeniz gerekir.
MQL5 iBarShift
mql5 belgelerine göre, iBarShift işlevi bir int değeri döndürür.
int #
Tamsayı türü int, 4 bayt (32 bit) bir boyuta sahiptir. Minimum değer -2 147 483 648, maksimum değer 2 147 483 647'dir.
iBarShift'im 99999'dan büyük bir değer vermek istemiyor
Grafiğe bir trend çizgisi çiziyorum, aşağıdaki komut satırın başlangıcının zamanını alıyor ve bu zamanın çubuğunun numarasını gösteriyor.
Çizgi bir noktada geçmişe gittiğinde, çıkış değeri 99999'da durur ve eğer
bool kesin=yanlış // mod
true olarak değiştirin, GetLastError = 0 olmasına rağmen -1 çıktısını verir
Sorun nedir?
Farklı brokerlerin farklı çizelgelerini denedim, zaman hattan doğru bir şekilde kaldırıldı, örneğin PERIOD_M1'i M5 olarak değiştirirseniz, 99999'a ulaşmak için geçmişte daha da ileri gitmeniz gerekir.
Her şeyden önce, terminal ayarlarında maksimum çubuk sayısını kontrol edin.
Her şeyden önce, terminal ayarlarında maksimum çubuk sayısını kontrol edin.
Teşekkür ederim!
10.000'di, sınırsız olarak değiştirildi - işe yaradı.
Ancak belli olmuyor..
Bana tutamaçlar oluşturma hakkında bilgi ver
böyle bir şey var
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır?
Terminali yeniden başlattıktan sonra farklı olabilir mi?
Grafik yeniden başlatıldıktan sonra farklı olabilir mi?
Hangi durumlarda değişebilir?
Bana tutamaç oluşturma hakkında bilgi ver
böyle bir şey var
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır?
Terminali yeniden başlattıktan sonra farklı olabilir mi?
Grafik yeniden başlatıldıktan sonra farklı olabilir mi?
Hangi durumlarda değişebilir?
Yalnızca bir gösterge varsa, her zaman 10'luk bir tutamacı vardır. Sonraki her biri bir öncekine+1'e eşittir ve her şey tutamaçların oluşturulduğu sıraya bağlıdır. Yalnızca öncekilerden birinin hata alması durumunda değişebilir.
Yalnızca bir gösterge varsa, her zaman 10 tutamacı vardır. Sonraki her biri bir öncekine+1'e eşittir ve her şey tutamaçların oluşturulduğu sıraya bağlıdır. Yalnızca öncekilerden birinin hata alması durumunda değişebilir.
Tamam, oldukça açık. Teşekkür ederim!
Bana tutamaç oluşturma hakkında bilgi ver
böyle bir şey var
Soru: Sapın numarası (sayıları) hangi parametrelerden atanır?
Terminali yeniden başlattıktan sonra farklı olabilir mi?
Grafik yeniden başlatıldıktan sonra farklı olabilir mi?
Hangi durumlarda değişebilir?
cevapları buldum
Lütfen bana çok boyutlu bir diziyi bir fonksiyona nasıl doğru bir şekilde geçireceğimi söyler misiniz?
Başlıkta sadece MyFun( &Mas[][] ) öğesini belirtirseniz, derleyici işlev gövdesindeki Mas[j][k] dizi öğesine erişirken bir hata oluşturur.Fakat nasıl?
Tek boyutlu olanlarda sorun yok gibi görünüyor.
Lütfen bana çok boyutlu bir diziyi bir fonksiyona nasıl doğru bir şekilde geçireceğimi söyleyin.
Başlıkta sadece MyFun( &Mas[][] ) öğesini belirtirseniz, derleyici işlev gövdesindeki Mas[j][k] dizi öğesine erişirken bir hata oluşturur.Fakat nasıl?
Tek boyutlu olanlarda sorun yok gibi görünüyor.
Bir dizinin ikinci ve sonraki boyutları dinamik olamaz. Bu nedenle bir dizi nasıl bildirilir, örneğin int Mas[][7]; bu yüzden kabul etmelisin MyFun(int &Mas[][7])