Vasiliy Pushkaryov : Verileri nasıl kopyalayabilirsiniz? Peki, eleman eleman dışında?
Bunun ne kadar doğru olduğunu bilmiyorum ama görev ek bir kurucu aracılığıyla çözüldü. Belki birileri işine yarar.
#include <Arrays\ArrayObj.mqh>
CArrayObj ArrCur; // массив с объектами, каждый объект содержит структуру с полями ордеров и его id
CArrayObj ArrPrev; // массив с объектами, каждый объект содержит структуру с полями ордеров и его idclass CID : public CObject
{
public : int id;
CID() {}
CID(CID* pt) { this = pt;}
};
voidOnStart ()
{
// -----------------------------------------------------------------
CID* pCur = new CID; // создаем объект для текущих параметров
pCur.id = 25 ; // вносим текущие данные
ArrCur.Add(pCur); // помещаем в массив объектов CID* pTemp = ArrCur.At( 0 ); // вытягиваем объект по указателю
CID* pPrev = new CID(pTemp); // в дин.объект копируем в конструкторе данные с предыд.указателя
ArrPrev.Add(pPrev); // помещаем в массив объектов
ArrCur.Clear(); // чистим текущий массив// -----------------------------------------------------------------// --- для вывода в журналint sizeCur = ArrCur.Total(); // размер = 0int sizePrev = ArrPrev.Total(); // размер = 1ENUM_POINTER_TYPE pTypeCur = CheckPointer (ArrCur.At( 0 )); // POINTER_INVALIDENUM_POINTER_TYPE pTypePrev = CheckPointer (ArrPrev.At( 0 )); // POINTER_DINAMYCPrint ( __FUNCTION__ , " sizeCur=" , sizeCur, " pTypeCur=" , EnumToString (pTypeCur));
Print ( __FUNCTION__ , " sizePrev=" , sizePrev, " pTypePrev=" , EnumToString (pTypePrev));
ArrPrev.Clear(); // чистим массив
}
İyi akşamlar, bir sorum var? Temsilci yöneticisi onu satılık olarak kurdu, ancak bulut sütununda devre dışı bırakıldı yazıyor ve tüm gün boyunca altı işlemcide tek bir hareket yoktu. İşlemciler hesapta görüntülenir. Bu iyi?
Önceden, Hata Ayıklama tam olarak kullanılamıyordu , ancak bazen komut dosyalarını F5 üzerinden çalıştırmak uygundur (ancak lansmanın neden mevcut grafikte değil deyeni bir grafikte olduğu açık değildir).
Ve yanlışlıkla günlükte aşağıdaki girişleri buldum:
Bu durumda, betiğin kendisi yürütülür. Aşağıdaki satırı koda eklemeye çalıştım:
{ DebugBreak (); Print ( " DebugBreak " ); }
"DebugBreak" satırı yazdırılıyor, ancak kesinti oluşmuyor
(ancak lansmanın neden mevcut grafikte değil deyeni bir grafikte olduğu açık değil).
Araçlar->Ayarlar->Hata Ayıklama/Profil Oluşturma düzenleyicisinde orada, hangi sembol hata ayıklamasının başlatılacağı belirlenir , ancak yine de, başlatma ayrı bir grafikte olacaktır. Sembol burada belirtilmemişse, Market Watch'taki ilk (üst) sembolde başlatılacaktır.
Bana genel olarak zaman iş üzerinden kırılma noktaları . 2875 inşa Noktaları belirledim, gerçek verilerde hata ayıklamanın başlangıcına bastım ve uçtu ve hata ayıklamayı bitirdikten sonra durmadan uçtu. Terminali editörle yeniden başlatıyorum ve sonra bir sonraki hata ayıklama başlangıcına/durdurmasına kadar kesme noktalarını görmeye başlıyor, sonra tekrar atlamaya başlıyor. Genel olarak geçmiş verilerde hata ayıklamaya başlamak, test kullanıcısı penceresini çağırır ve ayrıca kesme noktalarını atlayarak hata ayıklamayı tamamlar. Tarihsel verilerde, bir noktada hiç durmadım, her zaman atlıyor, hata ayıklamayı tamamlıyor. Ancak, test cihazı için tarihsel verilere ne denir ve kaydedilen parametreler ondan alınır, h.z. bu nedir, çok tasarlanmış veya eğrilik.
Araçlar->Ayarlar->Hata Ayıklama/Profil Oluşturma düzenleyicisinde orada, hangi sembol hata ayıklamasının başlatılacağı belirlenir, ancak yine de, başlatma ayrı bir grafikte olacaktır . Sembol burada belirtilmemişse, Piyasa İzleme'deki ilk (üst) sembolde başlatılacaktır.
Bana göre bu son derece sakıncalı. Geçerli çizelge, programın etkileşimde bulunması gereken göstergeler, grafik nesneler, ayarlar vb. içerir. Yeni bir "boş" grafik başlatıldı. Ek olarak, program normal modda (hata ayıklama değil) Navigator'dan yeni grafikte değil, mevcutta başlatılır - bariz bir tutarsızlık var
Orada işaretçi kopyaları
Verileri nasıl kopyalayabilirsiniz? Peki, eleman eleman dışında?
Bunun ne kadar doğru olduğunu bilmiyorum ama görev ek bir kurucu aracılığıyla çözüldü. Belki birileri işine yarar.
Test cihazının görsel modunda ChartScreenShot düzgün çalışmıyor.
merhaba uv. geliştiriciler ChartScreenShot()'ın test cihazında ne zaman çalışacağını öğrenebilir miyim?
Böyle bir Uzman Danışmanda giriş parametrelerini (F7) nasıl değiştireceğimi veya global bir değişkenin (F3) değerini nasıl değiştireceğimi söyleyin?
Grafikten çıkarmak bile sorunlu.
Önceden, Hata Ayıklama tam olarak kullanılamıyordu , ancak bazen komut dosyalarını F5 üzerinden çalıştırmak uygundur (ancak lansmanın neden mevcut grafikte değil de yeni bir grafikte olduğu açık değildir).
Ve yanlışlıkla günlükte aşağıdaki girişleri buldum:
Bu durumda, betiğin kendisi yürütülür. Aşağıdaki satırı koda eklemeye çalıştım:
{ DebugBreak (); Print ( " DebugBreak " ); }"DebugBreak" satırı yazdırılıyor, ancak kesinti oluşmuyor
(ancak lansmanın neden mevcut grafikte değil de yeni bir grafikte olduğu açık değil).
Araçlar->Ayarlar->Hata Ayıklama/Profil Oluşturma düzenleyicisinde
orada, hangi sembol hata ayıklamasının başlatılacağı belirlenir , ancak yine de, başlatma ayrı bir grafikte olacaktır.
Sembol burada belirtilmemişse, Market Watch'taki ilk (üst) sembolde başlatılacaktır.
Bana genel olarak zaman iş üzerinden kırılma noktaları . 2875 inşa
Noktaları belirledim, gerçek verilerde hata ayıklamanın başlangıcına bastım ve uçtu ve hata ayıklamayı bitirdikten sonra durmadan uçtu.
Terminali editörle yeniden başlatıyorum ve sonra bir sonraki hata ayıklama başlangıcına/durdurmasına kadar kesme noktalarını görmeye başlıyor, sonra tekrar atlamaya başlıyor.
Genel olarak geçmiş verilerde hata ayıklamaya başlamak, test kullanıcısı penceresini çağırır ve ayrıca kesme noktalarını atlayarak hata ayıklamayı tamamlar.
Tarihsel verilerde, bir noktada hiç durmadım, her zaman atlıyor, hata ayıklamayı tamamlıyor.
Ancak, test cihazı için tarihsel verilere ne denir ve kaydedilen parametreler ondan alınır, h.z. bu nedir, çok tasarlanmış veya eğrilik.
Araçlar->Ayarlar->Hata Ayıklama/Profil Oluşturma düzenleyicisinde
orada, hangi sembol hata ayıklamasının başlatılacağı belirlenir, ancak yine de, başlatma ayrı bir grafikte olacaktır .
Sembol burada belirtilmemişse, Piyasa İzleme'deki ilk (üst) sembolde başlatılacaktır.
Bana göre bu son derece sakıncalı. Geçerli çizelge, programın etkileşimde bulunması gereken göstergeler, grafik nesneler, ayarlar vb. içerir. Yeni bir "boş" grafik başlatıldı. Ek olarak, program normal modda (hata ayıklama değil) Navigator'dan yeni grafikte değil, mevcutta başlatılır - bariz bir tutarsızlık var
https://www.mql5.com/ru/forum/368597
Sonuç: 2
Beklenen: 0