Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 317

 
artmedia70 :
 //+------------------------------------------------------------------+
//|                                                    trendyxV1.mq5 |
//+------------------------------------------------------------------+
#include <Canvas\Canvas.mqh>
CCanvas LomLine;
int KoorX[ 4 ]={ 100 , 200 , 350 , 480 };
int KoorY[ 4 ]={ 100 , 150 , 380 , 150 };
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   LomLine.Destroy();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   LomLine.CreateBitmapLabel( "trendyx" , 0 , 0 , 800 , 800 , COLOR_FORMAT_ARGB_RAW );
   LomLine.PolylineAA(KoorX,KoorY, ColorToARGB ( clrRed , 155 ), STYLE_SOLID );
   LomLine.Update();

  }
//+------------------------------------------------------------------+

,.

 
pako :

,.

 
EA, "'OrderSend' işlevi için parametre 9 olarak geçersiz tam sayı" nedeniyle pozisyon açmayı durdurdu. Bunun ne olduğunu biri açıklayabilir mi? Muhtemelen bu , MT4 terminalinin güncellenmesi nedeniyle oldu.
 
Katerina :
EA, "'OrderSend' işlevi için parametre 9 olarak geçersiz tam sayı" nedeniyle pozisyon açmayı durdurdu. Bunun ne olduğunu biri açıklayabilir mi? Muhtemelen bu , MT4 terminalinin güncellenmesi nedeniyle oldu.
Lütfen " OrderSend " işlevini çağıran kodu ekleyin. Muhtemelen sihirli sayı yanlış ayarlanmış.
 
Eh, zaten düzelttim. Cevabınız için teşekkürler.
 
Ancak ilginç bir şekilde, MQl5'te bir grafiğe animasyon ekleyebilir misiniz? bazı adamlar yüksekte mumları dövüyor, peki, orada, göstergenin sinyalinde ya da bunun gibi
 
aleks557 :
Ancak ilginç bir şekilde, MQl5'te bir grafiğe animasyon ekleyebilir misiniz? bazı adamlar yüksekte mumları dövüyor, peki, orada, göstergenin sinyalinde ya da aynen öyle
Animasyonun birçok ardışık .bmp resminden manuel olarak oluşturulması gerekecektir. Veya tuval üzerindeki bir dizi noktadan çizim yapın.
 
barabashkakvn :
Animasyonun birçok ardışık .bmp resminden manuel olarak oluşturulması gerekecektir. Veya tuval üzerindeki bir dizi noktadan çizim yapın.

Selamlar kekim, "tuval üzerinde" nerede? Photoshop'ta animasyon yapıldığını biliyorum ama “ tuval üzerinde” değildi, oradan nasıl bilet alabilirim?

ve sonra Google bir tür mandıraya getirdi

 
aleks557 :

Selamlar kekim, "tuval üzerinde" nerede? Photoshop'ta animasyon yaptıklarını biliyorum ama ben tuvale gitmedim, oradan nasıl bilet alabilirim?

ve sonra Google bir tür mandıraya getirdi

CCanvas - Özel grafikler oluşturmak için sınıf .  

Uygulama örnekleri, MetaEditor yolu: ...\MQL5\Scripts\Examples\Canvas\

 
aleks557 :
Ancak ilginç bir şekilde, MQl5'te bir grafiğe animasyon ekleyebilir misiniz? bazı adamlar yüksekte mumları dövüyor, peki, orada, göstergenin sinyalinde ya da aynen öyle

Ben de burada buldum:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yeni Başlayanlardan Sorular

Renat , 2012.10.20 14:30

Tuvallerimizdeki mükemmel geri arabelleğe alma ipucunu ve ekrandaki bir nesneye yapışmayı biliyor musunuz?

Çerçeveleri kusursuz, hızlı ve artefakt olmadan çizebiliriz. OpenCL Testinde çerçeve dizisi oluşturmaya dayalı video örneğine bakın.

Güzel taktikler kullanın:

  1. Grafikte bir Bitmap Etiketi Grafik Nesnesi Oluşturun

       string objname = "OpenCL_" + IntegerToString ( ChartID ());
       string resname = "::Mandelbrot_" + IntegerToString ( ChartID ());
    //--- creating the object for graphics display
       ObjectCreate ( 0 ,objname, OBJ_BITMAP_LABEL , 0 , 0 , 0 );
       ObjectSetInteger ( 0 ,objname, OBJPROP_XDISTANCE , 4 );
       ObjectSetInteger ( 0 ,objname, OBJPROP_YDISTANCE , 26 );
    

  2. Boş bir bellek içi grafik kaynağı oluşturun ve onu önceden oluşturulmuş nesneye bağlayın:

     //--- create initial empty picture
       uint buf[];
    
       ArrayResize (buf,SIZE_X*SIZE_Y);
       ResourceCreate(resname,buf,SIZE_X,SIZE_Y, 0 , 0 ,SIZE_X,COLOR_FORMAT_XRGB_NOALPHA);
       ObjectSetString ( 0 ,objname, OBJPROP_BMPFILE ,resname);
    
    Sihir yapılan yer burasıdır. Grafik nesnesi, grafik kaynağına doğrudan bir bağlantı alır. Ayrıca bu bağlama, hızlı sayfalama ve geri arabelleklerle çalışmak için özel olarak oluşturulduğundan, önbelleğe alma ile akıllıdır.

  3. Artık ekrandaki bir nesneyle ilgili olma konusunda endişelenmenize gerek kalmadan arabelleğinizde kolayca çizim yapabilirsiniz.

     //--- рисуем что хотим в buf
    ....
    
  4. Ve şimdi bu güncellenmiş bitmap'i ekranda gösterme zamanı

           //--- saving the frame in memory and drawing it
          ResourceCreate(resname,buf,SIZE_X,SIZE_Y, 0 , 0 ,SIZE_X,COLOR_FORMAT_XRGB_NOALPHA);
           ChartRedraw ();
    
    Bunu yapmak için, kaynağı yeniden "yeniden oluştururuz" (aslında, tüm boyutlar aynı olduğundan yeniden oluşturma gerçekleşmez), içine yeni bir bitmap kopyalarız ve bu kaynağın değişiklik sayaçları artar.

    Lütfen burada objname grafik nesnesinin kendisine hiçbir şekilde dokunulmadığını unutmayın, çünkü zaten kaynakla ilişkilendirilmiştir.

    Daha sonra, grafiksel bir nesne çizme ihtiyacına yol açan ChartRedraw aracılığıyla ekranı yeniden çizme diyoruz. Ve bunun, bitmap değişiklik sayacı tarafından kontrol ettiği, kaynağımıza bir bağlantısı var. Grafik nesnesi için kaydedilen değişiklik sayacı, kaynağın sayacıyla eşleşmiyorsa, bitmap otomatik ve güvenli bir şekilde grafik nesnesine kopyalanır ve oluşturulur. Sayaçlar eşleşirse, resim değişmeden görüntülenir.

İşte bu kadar basit bir güvenli yöntem (MQL5'ten ve terminal işleme sisteminin kendisinden eşzamanlı erişimden) ve çerçeveleri görüntüleme ile hızlı çalışma.

Denemek gerek.