int File()
{
int P= 0 ;
int filehandle= FileOpen ( "qqq.csv" , FILE_READ | FILE_CSV , "," );
if (filehandle!= INVALID_HANDLE )
{
datetime d = FileReadDatetime (filehandle);
int I= FileReadNumber (filehandle);
FileClose (filehandle);
Comment (d+ " " +I);
}
else { Comment ( "qqq.csv" );}
return P;
}
dosyanın test cihazı tarafından silinmeyeceği klasörün yolunu belirtebilir mi? Test sırasında tüm dosyaların bu klasörden silindiğini anlıyorum ancak programlı bir dosya oluştururken bu klasöre yerleştiriliyor
dosyanın test cihazı tarafından silinmeyeceği klasörün yolunu belirtebilir mi? Test sırasında tüm dosyaların bu klasörden silindiğini anlıyorum ancak programlı bir dosya oluştururken bu klasöre yerleştiriliyor
Belki de FileCopy'yiFILE_COMMON bayrağıyla kullanmalısınız. Yeni testler sıfırdan çalışır, bu bir aksaklık olabilir.
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.
Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur. https://www.mql5.com/ru/code/19220
Пример создания простого и быстрого меню с поддержкой нескольких языков. В примере выводится информация о цене, времени до следующего бара, балансе счета, количестве ордеров. Данный пример можно использовать в качестве шаблона для создания своих разработок. Минус данного метода при добавлении, удалении или редактировании объектов необходимо...
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.
Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur. https://www.mql5.com/ru/code/19220
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.
Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur. https://www.mql5.com/ru/code/19220
Vitaly Muzichenko :
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
Etkinlikler'de yeni bir nesnenin oluşturulmasını yakalamak ve paneli yeniden çizmek daha iyidir
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
Düşünceler için teşekkürler. DeInit()'te elbette kaldırılırlar. TF'yi değiştirirken Init() prosedürü geçiyor, ancak bir şey bana panelin yeniden çizilmediğini söylüyor. Yani: Coğrafi olarak benimkinin olduğu yerde bulunan başka bir paneli denedim ve kurdum ve sonra kaldırdım. Benimki de kayboldu (TF değişikliğinden önce) - bu, yeniden çizilmediği anlamına gelir. ((( Bana nasıl yeniden çizileceğinden biraz daha bahseder misin?
Taras Slobodyanik :
Etkinlikler'de yeni bir nesnenin oluşturulmasını yakalamak ve paneli yeniden çizmek daha iyidir
Bana nasıl yapacağımı söyle, programcı olarak sadece yarım saatim var. :)
intOnInit ()
{
ChartSetInteger ( 0 , CHART_EVENT_OBJECT_CREATE , true );
}
voidOnChartEvent ( constint id,
constlong &lparam,
constdouble &dparam,
conststring &sparam)
{
//событие создания нового объекта на чартеif (id== CHARTEVENT_OBJECT_CREATE && StringFind (sparam, prefix, 0 )< 0 )
{
//удаляем панель и рисуем зановоChartRedraw ();
}
}
not. Hatırladım - yine de oluşturulan nesnenin adını kendi nesneniz olmaması için kontrol etmeniz gerekiyor (önek - nesnelerinizin adlarının öneki). veya bir ad yerine nesnelerin türünü karşılaştırın.
Vatandaşlar bana doğru yapıp yapmadığımı söylüyor !!! Danışmanın 30 veya 70 bölgesine girmediğinde işlem yapması ve girdiğinde işlem yapmaması gerekir!!! Yani doğru mu?
ponochka : Vatandaşlar bana doğru yapıp yapmadığımı söylüyor !!! Danışmanın 30 veya 70 bölgesine girmediğinde işlem yapması ve girdiğinde işlem yapmaması gerekir!!! Yani doğru mu?
EA, bir dosyadan veri dizisini şu şekilde okumalıdır: tarih tamsayı1 tamsayı2 tamsayı3 tamsayı4, bin dışında herhangi bir dosya türünden mümkündür.
dosyayı C:\Users\Mikhail\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv klasörüne kopyalayın
bu klasörden kaldırıldı
işte kod
dosyanın test cihazı tarafından silinmeyeceği klasörün yolunu belirtebilir mi? Test sırasında tüm dosyaların bu klasörden silindiğini anlıyorum ancak programlı bir dosya oluştururken bu klasöre yerleştiriliyor
EA, bir dosyadan veri dizisini şu şekilde okumalıdır: tarih tamsayı1 tamsayı2 tamsayı3 tamsayı4, bin dışında herhangi bir dosya türünden mümkündür.
dosyayı C:\Users\Mikhail\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv klasörüne kopyalayın
bu klasörden kaldırıldı
işte kod
dosyanın test cihazı tarafından silinmeyeceği klasörün yolunu belirtebilir mi? Test sırasında tüm dosyaların bu klasörden silindiğini anlıyorum ancak programlı bir dosya oluştururken bu klasöre yerleştiriliyor
Belki de FileCopy'yi FILE_COMMON bayrağıyla kullanmalısınız. Yeni testler sıfırdan çalışır, bu bir aksaklık olabilir.
Belki de FileCopy'yi FILE_COMMON bayrağıyla kullanmalısınız. Yeni testler sıfırdan çalışır, bu bir aksaklık olabilir.
test sırasında bir klasöre kopyalanırsa dosyayı okuduğu ortaya çıkıyor)) şimdi ayırıcı ile ilgilenin
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur.
https://www.mql5.com/ru/code/19220
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur.
https://www.mql5.com/ru/code/19220
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
MQL4'te bir ticaret paneli yazmaya başladım ve işte paradoks. Her şey yolunda görünüyor, ancak TF'yi her değiştirdikten sonra, diğer göstergelerden gelen çizgiler ve metinler zaten panelimin üstüne çiziliyor.
Kontrol ettiğim şey şu: TF'yi değiştirirken OBJPROP_BACK parametresi = false. Yani, bu taraftan her şey yolunda.Bu konuda herhangi bir fikriniz var mı?
not Nitekim, şimdi kontrol ettim, kaynak kodu (prototip olarak aldığım) aynı şekilde davranıyor. TF'yi değiştirdikten sonra, panelin üstüne sıradan çizgiler çizilir ve OOP kullanmayan göstergeler tarafından oluşturulur.
https://www.mql5.com/ru/code/19220
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
Etkinlikler'de yeni bir nesnenin oluşturulmasını yakalamak ve paneli yeniden çizmek daha iyidir
Zamanları değiştirirken, diğer programlar tarafından oluşturulan nesneler silinir ve hemen yenileri oluşturulur. Paneldeki nesneler silinmez, bu nedenle "eski" olurlar. Grafikte, ilke geçerlidir: "En son kim - o zirvede"
DeInit() içindeki paneldeki nesneleri silmek ve yeniden yenilerini oluşturmak da gereklidir.
Bana nasıl yeniden çizileceğinden biraz daha bahseder misin?
Etkinlikler'de yeni bir nesnenin oluşturulmasını yakalamak ve paneli yeniden çizmek daha iyidir
not. Hatırladım - yine de oluşturulan nesnenin adını kendi nesneniz olmaması için kontrol etmeniz gerekiyor (önek - nesnelerinizin adlarının öneki).
veya bir ad yerine nesnelerin türünü karşılaştırın.
RSI3 = iRSI(_Symbol, _Period, RSIPPeriod, PRICE_CLOSE, 1);
RSI4 = iRSI(_Symbol, _Period, RSIPPeriod, PRICE_CLOSE, 2);
bool RSItf = RSI3 > 30 && 30 > RSI4;
if(RSItf == doğru)
{
}
başka
{
orderend (_Symbol, OP_SELL, lot, Bid, Slippage, 0, 0, NULL, Magic, 0, clrRed);
}
bool RSItf = RSI3 > 70 && 70> RSI4;
if(RSItf == doğru)
{
}
başka
{
orderend(_Symbol, OP_BUY, lot, Sor, Slippage, 0, 0, NULL, Magic, 0, clrBlue);
}
Vatandaşlar bana doğru yapıp yapmadığımı söylüyor !!! Danışmanın 30 veya 70 bölgesine girmediğinde işlem yapması ve girdiğinde işlem yapmaması gerekir!!! Yani doğru mu?
Bir şekilde, anladığım kadarıyla, ihtiyacın var