uzman danışman - çeşitli sorular - sayfa 20

 
#Zararı Durdur, Kâr Al - Sürükle - Aç

En son yorumumdan bu yana, Zarar Durdur ve Kâr Al - Nesne Sürüklemeleri için araştırma forumu ve makalesine başladım.
Ama MT5 için.

Bu yüzden okumaya veya o makaleyi denemeye başlamadan önce, lütfen bu makalenin MT4 için yararlı olup olmayacağını bana bildirin.
Ayrıca eğer mümkünse lütfen benimle Objects Drags için iyi bir makale paylaşın.

Şimdiden teşekkürler.
 
Evet, OnChartEvent() her iki dil için de aynıdır.
 
Marco vd Heijden :
Evet, OnChartEvent() her iki dil için de aynıdır.
Ey! Bunu bilmek güzel, okumaya başlayabilirim.
Çok teşekkürler.
 

Ayrıca MT5 için yazılan kodların birçoğunun artık MT4'te de çalıştığını gördüm.

Biliyorum çünkü geçmişte birçok şeyi denedim ve bir yıl önce işe yaramayan şeyler şimdi işe yarıyor, bu da onların hala her iki dili de aktif olarak geliştirdiklerini gösteriyor.

 
Marco vd Heijden :

Ayrıca MT5 için yazılan kodların birçoğunun artık MT4'te de çalıştığını gördüm.
Biliyorum çünkü geçmişte birçok şeyi denedim ve bir yıl önce işe yaramayan şeyler şimdi işe yarıyor, bu da onların hala her iki dili de aktif olarak geliştirdiklerini gösteriyor.

Bunu bilmek güzel. Her zaman MT4 dilinin yakında kullanılmayacağını düşünürüm (/endişe ederim). Teşekkürler dostum.
 
// I say Once ' Do not turn... ' for ' if ' operator - this is good.
if   ( Morning || Midnight )
{
     // Do not turn on light just for today...
}

// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '?
switch ( Today )
{
     case     Morning  :     // Do not turn on light just for today...
     break ;
     case     Midnight :     // Do not turn on light just for today...
     break ;
}   //---switch Close
Şimdiden teşekkürler.
 

Zaten makaleyi okudum ve ondan nasıl kullanılacağına dair ' CHARTEVENT_OBJECT_DRAG ' için diğer bazı kişilerin kodlarını kontrol ettim.
Ama ne yazık ki bu bana mantıklı gelmiyor. Şu an sadece gereksiz şeyler için zamanımı boşa harcadığımı düşünüyorum. Çünkü onların kod stili benimkinden gerçekten farklı.
(kod stilim sadece basit - mql4 dokümantasyon kod stili gibi - biraz daha fazla anlıyorum)

Sadece amacım nesneyi sürüklediğimde 'Zararı Durdur, Kar Al, Bekleyen Emirler' o nesne ile hareket edebilen. (tabii ki hepsi ayrı ayrı olabilir)

Ayrıca siparişleri değiştirmek için (sl, tp vb.) bir EA betiği gördüm - ve 'CHARTEVENT_OBJECT_DRAG' olmadan çalışıyor... Umarım ne demek istediğimi anlamışsınızdır.

Şimdi, HLine veya Trendline Object ile 'CHARTEVENT_OBJECT_DRAG' için basit bir örnekle gerçekten yardıma ihtiyacım var. Veya net bir açıklama veya sadece iyi bir şey (/ daha açık bir şekilde ) yorum yapın.
Zaten çok zaman harcadım ve hala bunun hakkında araştırma yapıyorum. Umarım yakında cevap alırım.

Senin için her şeyin en iyisini dilerim.
Şimdiden teşekkürler.

 
// I say Once ' Do not turn... ' for ' if ' operator - this is good.
if   ( Morning || Midnight )
{
     // Do not turn on light just for today...
}

Bu Sabah VEYA Gece Yarısı gerçek olacak

// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '?
switch ( Today )
{
     case     Morning  :     // Do not turn on light just for today...
     break ;
     case     Midnight :     // Do not turn on light just for today...
     break ;
}   //---switch Close

Bunun Sabah için ayrı bir vakası ve Gece Yarısı için ayrı bir vakası var.

Yani bunlar iki farklı şeydir.

Max Enrik :

Zaten makaleyi okudum ve ondan nasıl kullanılacağına dair ' CHARTEVENT_OBJECT_DRAG ' için diğer bazı kişilerin kodlarını kontrol ettim.
Ama ne yazık ki bu bana mantıklı gelmiyor. Şu an sadece gereksiz şeyler için zamanımı boşa harcadığımı düşünüyorum. Çünkü onların kod stili benimkinden gerçekten farklı.
(kod stilim sadece basit - mql4 dokümantasyon kod stili gibi - biraz daha fazla anlıyorum)

Sadece amacım nesneyi sürüklediğimde 'Zararı Durdur, Kar Al, Bekleyen Emirler' o nesne ile hareket edebilen. (tabii ki hepsi ayrı ayrı olabilir)

Ayrıca siparişleri değiştirmek için (sl, tp vb.) bir EA betiği gördüm - ve 'CHARTEVENT_OBJECT_DRAG' olmadan çalışıyor... Umarım ne demek istediğimi anlamışsınızdır.

Şimdi, HLine veya Trendline Object ile 'CHARTEVENT_OBJECT_DRAG' için basit bir örnekle gerçekten yardıma ihtiyacım var. Veya net bir açıklama veya sadece iyi bir şey (/ daha açık bir şekilde) yorum yapın.
Zaten çok zaman harcadım ve hala bunun hakkında araştırma yapıyorum. Umarım yakında cevap alırım.

Senin için her şeyin en iyisini dilerim.
Şimdiden teşekkürler.


bir çizgiyi sürükleyebilirsiniz:

OBJPROP_SELECTABLE == 1
OBJPROP_SELECTED == 1

Her ikisi de doğrudur ve içindeki değerleri \ kullanarak kolayca okuyabilirsiniz.

Object Get Double (....

Yerine

ObjectSetDouble (....
O kadar zor değil ve çok faydalı olabilir.
 
Marco vd Heijden :

Bunu yapmaya başladığımda Zarar Durdur ve Kâr Al Drags için nasıl kod yazabilirim neredeyse hiçbir fikrim yoktu, çok teşekkürler dostum.
Şimdi harika yorumunuzdan sonra istediğimi yapabileceğimi hissediyorum.

Piyasa Kapalı

Yani, zaten denedim ve şimdi hangisini istersem ' OBJPROP_PRICE ' alabilirim.
' HLine ' nesnesini sürüklediğimde ve ardından Print() saniyede bir güncelleniyor. Çünkü EventSetTimer( 1 ) kullanıyorum.

Ama Print()'e ihtiyacım var, saniyede bir güncellenmeyecek. Sürüklemeyi durdurduktan sonra Print() güncellemesini istiyorum.
Beni anlıyorsan, lütfen bana yardım et ya da bana tavsiye ver.

Senin için her şeyin en iyisini dilerim.

 

Böylece OBJPROP_PRICE değerini bir çiftte saklayabilir ve ardından karşılaştırabilirsiniz.

Farklılarsa, sürüklemenin başladığını bilirsiniz ve sonra tekrar eşitlerse, sürüklemenin durdurulduğunu bilirsiniz.

//+------------------------------------------------------------------+
//|                                                   Drag Hline.mq4 |
//|      Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

double price; // price variable;
bool drag;     // drag flag
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   EventSetTimer ( 1 );
//--- create Hline
   ObjectCreate ( 0 , "line" , OBJ_HLINE , 0 , 0 , Ask );
//--- store value
   price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
//--- compare values
   if (price!= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
     {
      drag= 1 ;                                          // set drag flag
      price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ); //store new value
     }
   if (drag== 1 )
     {
       if (price== ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
        {
         drag= 0 ; //reset drag flag
         Alert ( " New value set: " , DoubleToString (price));
        }
     }
  }
//+------------------------------------------------------------------+

Veya sürükleme algılandığında bir sayaç başlatabilirsiniz, bunu yapmanın birçok yolu vardır.,

Neden: