Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Eh, zaman dilimlerini değiştirmekle ilgiliyse, zamanlayıcı iyi bir seçenek değildir çünkü zamanlayıcı , kare değiştirildiğinde yok olur.
OnInit() işlevinde satırlarınızı oluşturabilir ve bunları OnTick() veya OnTimer() işlevlerinde güncelleyebilirsiniz.
Ayrıca OnDeint() işlevindeki ObjectsDeleteAll() işlevine dikkat edin; bu, yeni karenizde yeniden oluşturulmadan önce her şeyin kaldırılmasını sağlayacaktır.
---
Ek olarak, yeni bir mum ortaya çıktığında satırları güncellemek istiyorsanız , size şunu vermek için önceki sayfadaki örneği sonuncusu ile birleştirebilirsiniz:
...
Daha fazla sorun varsa, lütfen biraz kod gösterin .
Son yorumlarınızı araştırdım.
2 güzel yorum daha. Bu koda benziyor (#18 yorumunuz) ama bu benim için çok farklı.
Yani, evet, çerçeveyi değiştirdiğimde 'Zamanlayıcı'nın yok olduğunu hissediyordum. Ancak bu benim için çok faydalı çünkü göstergem PERIOD_**'larda bir kez güncelleniyor.
Evet! init() özel işlevinde zaten ana satırlar oluşturuyorum ve bunlar OnTimer() işlevinde güncelleniyor.
(aşağıdaki koddan beni daha net anlayabilirsiniz)
...birleştirebileceğiniz yeni mum doğar ...
Daha fazla sorun varsa...
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------
Dediğim gibi bir sorun var, daha fazla zaman alıyor . Şu anda size gösterge kodumdan bazılarını göstermem gerekiyor. Ve göstergemde 'operatörü değiştir ve ObjectMove()' kullanmıyorum .
@Marco
Lütfen aşağıdaki kodun iyi olduğunu veya ne olduğunu bana bildirin.
Tavsiyeniz nedir, son iki yorumunuzu kapsamlı bir şekilde araştırmaya başlayabilir miyim ve göstergeme 'switch() ve ObjectMove()' ekleyebilir miyim? (Neden daha önce soruyorum? - çünkü uzun sürüyor.)
(gördüğünüz gibi #18 yorumunuzdan daha fazla faydalandım - ve şimdi aşağıdaki kodum ile son iki harika yorumunuz arasında ikilemle karşı karşıyayım)
int init()
{
EventSetMillisecondTimer ( 1250 );
_CreateLines_M5();
return ( INIT_SUCCEEDED );
}
//|+--------------------------------------------------------------------------------+
int start()
{
return ( 0 );
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll ( 0 , _prefix );
return ( 0 );
}
//|+--------------------------------------------------------------------------------+
void OnTimer ()
{
//---
if ( _dt_Prd_M5 != iTime ( Symbol (), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime ( Symbol (), _prd_M5, 0 );
_CreateLines_M5();
}
return ;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0 ;
int _cnt_M5 = iBarShift ( Symbol (), 0 , iTime ( Symbol (), PERIOD_W1 , _dayCnt_M5 ) );
for ( i = 0 ; i < _cnt_M5; i++ )
{
_time_M5 = Time [i];
_prdCvrt_M5 = PeriodSeconds ( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr ( _timeCvrt_M5, TIME_DATE | TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour ( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE , 0 , _timeCvrt_M5, 0 );
}
}
}
return ;
}
Senin için en iyisi adamım.
Başka kimse hakkında bilgim yok ama yazı tipi, renkler, kalın ve italik vb. karışımınızı dikkat dağıtıcı ve sinir bozucu buluyorum. Aslında bu yazıyı okumaya cesaret edemedim.
Son yorumlarınızı araştırdım.
2 güzel yorum daha. Bu kod benzer görünüyor (#18 yorumunuz) ama bu benim için çok farklı.
Yani, evet, çerçeveyi değiştirdiğimde 'Zamanlayıcı'nın yok olduğunu hissediyordum. Ancak bu benim için çok faydalı çünkü göstergem PERIOD_**'larda bir kez güncelleniyor.
Evet! init() özel işlevinde zaten ana satırlar oluşturuyorum ve bunlar OnTimer() işlevinde güncelleniyor.
(aşağıdaki koddan beni daha net anlayabilirsiniz)
...birleştirebileceğiniz yeni mum doğar ...
Daha fazla sorun varsa...
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------
Dediğim gibi bir sorun var, daha fazla zaman alıyor . Şu anda size gösterge kodumdan bazılarını göstermem gerekiyor. Ve göstergemde 'operatörü değiştir ve ObjectMove()' kullanmıyorum .
@Marco
Lütfen aşağıdaki kodun iyi olduğunu veya ne olduğunu bana bildirin.
Tavsiyeniz nedir, son iki yorumunuzu kapsamlı bir şekilde araştırmaya başlayabilir miyim ve göstergeme 'switch() ve ObjectMove()' ekleyebilir miyim? (Neden daha önce soruyorum? - çünkü uzun sürüyor.)
(gördüğünüz gibi #18 yorumunuzdan daha fazla faydalandım - ve şimdi aşağıdaki kodum ile son iki harika yorumunuz arasında ikilemle karşı karşıyayım)
int init()
{
EventSetMillisecondTimer ( 1250 );
_CreateLines_M5();
return ( INIT_SUCCEEDED );
}
//|+--------------------------------------------------------------------------------+
int start()
{
return ( 0 );
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll ( 0 , _prefix );
return ( 0 );
}
//|+--------------------------------------------------------------------------------+
void OnTimer ()
{
//---
if ( _dt_Prd_M5 != iTime ( Symbol (), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime ( Symbol (), _prd_M5, 0 );
_CreateLines_M5();
}
return ;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0 ;
int _cnt_M5 = iBarShift ( Symbol (), 0 , iTime ( Symbol (), PERIOD_W1 , _dayCnt_M5 ) );
for ( i = 0 ; i < _cnt_M5; i++ )
{
_time_M5 = Time [i];
_prdCvrt_M5 = PeriodSeconds ( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr ( _timeCvrt_M5, TIME_DATE | TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour ( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE , 0 , _timeCvrt_M5, 0 );
}
}
}
return ;
}
Senin için en iyisi adamım.
Peki işe yararsa ve denemeye devam etmezse.
Peki işe yararsa ve denemeye devam etmezse.
#Broker Time - Yeniden Aç
Burada ve orada birkaç forum okudum. Belki benim çözümüm ikisinden biri. Ama anlayamadım.
Bu yorumdan önce - Bir kez daha denedim. Ama çözüm bulamıyorum.
Yani, 2 brokerim var, A ve B.
- C: Vline nesneleri doğru zamanı yerleştirir. Hangisini istiyorum. örneğin: Zaman 2017.02.18 0 :00 ayrıca aynı zamanda yerleştirilen vline nesnesi.
- B: Vline nesnesi yanlış zaman yerleştirdi (belki yanılıyorum). örneğin: Zaman 2017.02.18 1 :00 ancak vline nesne yeri 0 :00.
Yani biri endişemi anlarsa, herhangi bir yorum benim için daha iyi olur.İyi haftasonları.
#Broker Time - Yeniden Aç
Burada ve orada birkaç forum okudum. Belki benim çözümüm ikisinden biri. Ama anlayamadım.
Bu yorumdan önce - Bir kez daha denedim. Ama çözüm bulamıyorum.
Yani, 2 brokerim var, A ve B.
- C: Vline nesneleri doğru zamanı yerleştirir. Hangisini istiyorum. örneğin: Zaman 2017.02.18 0 :00 ayrıca aynı zamanda yerleştirilen vline nesnesi.
- B: Vline nesnesi yanlış zaman yerleştirdi (belki yanılıyorum). örneğin: Zaman 2017.02.18 1 :00 ancak vline nesne yeri 0 :00.
Yani biri endişemi anlarsa, herhangi bir yorum benim için daha iyi olur.İyi haftasonları.
Aşağıdaki kod bana iki farklı Broker'da farklı sonuçlar veriyor.
(Bir önceki yorumum beni anlamanıza yardımcı olabilir)
Şimdiden teşekkürler.
{
// High
ObjectSet ( "PeriodHigh" , OBJPROP_PRICE1 , iHigh ( Symbol (), PERIOD_D1 , 0 ));
ObjectSet ( "PeriodHigh" , OBJPROP_PRICE2 , iHigh ( Symbol (), PERIOD_D1 , 0 ));
ObjectSet ( "PeriodHigh" , OBJPROP_TIME1 , TimeCurrent ());
ObjectSet ( "PeriodHigh" , OBJPROP_TIME2 , TimeCurrent () -( TimeCurrent ()- iTime ( Symbol (), PERIOD_D1 , 0 )));
// Low
ObjectSet ( "PeriodLow" , OBJPROP_PRICE1 , iLow ( Symbol (), PERIOD_D1 , 0 ));
ObjectSet ( "PeriodLow" , OBJPROP_PRICE2 , iLow ( Symbol (), PERIOD_D1 , 0 ));
ObjectSet ( "PeriodLow" , OBJPROP_TIME1 , TimeCurrent ());
ObjectSet ( "PeriodLow" , OBJPROP_TIME2 , TimeCurrent () -( TimeCurrent ()- iTime ( Symbol (), PERIOD_D1 , 0 )));
}
iHigh ve iLow değerlerinin brokerlar arasında farklılık gösterdiğini kastediyorsanız, bu oldukça yaygındır.
2 neden:
1. Fiyatlar komisyoncular arasında biraz farklılık gösterir ve
2. Aracıların sunucularının farklı GMT ofsetleri varsa, çubuklar farklı zamanlarda başlar.
iHigh ve iLow değerlerinin brokerlar arasında farklılık gösterdiğini kastediyorsanız, bu oldukça yaygındır.
2 neden:
1. Fiyatlar komisyoncular arasında biraz farklılık gösterir ve
2. Aracıların sunucularının farklı GMT ofsetleri varsa, çubuklar farklı zamanlarda başlar.
Sadece farklı Zaman demek istiyorum.
Yani, bu sorunu çözme şansı yok, lütfen?
Çok teşekkürler.