MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 644

 
Artyom Trishkin :

tarih saat uzun

Çok teşekkürler!
 
Vitaly Gorbunov :

Boşuna, onun için kodu hemen düzelttiniz, bir kişi derleyicinin temel anahtarlarını anlamıyor ve normal kod yazmak için bu inceliklerin belgelerin kullanımının yanı sıra bilinmesi gerekiyor!

Ona videonun eskiliğini işaret ettim ve tam olarak videodaki gibi kopyalasa bile başarılı olurdu. Ancak rahatsız oldu ve görünüşe göre bu gönderi hakkında şikayette bulundu ve bunun sonucunda silindi ve kendisi bile çözmeyecek!

Tamamen boşuna olmadığı ortaya çıktı. Sunulan kodlardaki farkı anlamaya bile çalışmadı ve bu onun için bile çalışmıyor.

Genel olarak, kodu düzelterek soru sormaktan da hoşlanmam. Ama burada "olmadığı" ortaya çıktı. Çok uzun zamandır kütüphanelerle ilgileniyorum, hatta kendime ait bir kütüphanem bile vardı. Ancak tüm kütüphaneyi bir danışman veya gösterge koduyla birlikte aktarmanız ve hatta neyi nereye koyacağınızı açıklamanız gerektiğinin farkına vararak… herkes bunu tam olarak anlamadı ve reddetmeye karar verdi. Bu bir kopyaya cevaptır

Ve burada, her şeyi düzeltmek için kendim çözmem ve unutulmuş olanı hatırlamam gerekiyordu. İşte bitmiş kod.
 
Sergey Maksiutenko :

zahmet etme.

Bana yardım edemeyeceğini anladım.

#property strict Kaldırdım, #property kitaplığı dışındaki tüm özellikleri kaldırdım

hiç bir şey yardımcı olmaz.

Tasarımımı evde bağlamayı dene, bir hata bul,

ve sorun buysa doğru kodu gönderin.

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

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

Alexey Viktorov , 2018.10.03 11:56


Ve burada, her şeyi düzeltmek için kendim çözmem ve kesinlikle unutulmuş olanı hatırlamam gerekiyordu . İşte bitmiş kod.
Çalışan bir kod kaldı.
 
Ha, sorunu anladım! Merak ediyorum, neden her şey benim için çalışıyor ve o çalışmıyor! \Include\Libraries\Experts\Scripts içinde hangi dosyalara sahip olduğunu gösterirse, belki bunu hizmet masasında bir hata olarak dosyalamak bile mümkün olabilir!
 
Sergey Maksiutenko peki, gerekli klasörlerin içeriğini göndermeye hazırım, yoksa seni bir trol olarak göreceğim! Bu sorunu yeniden oluşturmayı başardığımdan ve sana ne olduğunu bildiğimden beri!
 

XP, MT4 1090 kullanıyorum ve bu yüzden herhangi bir güncellemem olmayacak.

MT4'te zaman ölçeğini değiştirdiğinizde, grafik sürekli olarak sola veya sağa hareket eder - daha büyük bir ölçekten daha küçük olana (örneğin, günlükten saatlik olarak) geçerseniz, ekranda yarım yıllık veriler görünür . Küçükten büyüğe geçerseniz, yalnızca son 10 mumu çeker. Programı kabul edilebilir bir forma getirmek için sürekli vücut hareketleri yapmak zorundasınız, bu da can sıkıcı.

Kolaylık sağlamak için, ölçeği klavyeden değiştiren ve grafiği sona kaydıran bir kod yazdım:


geçersiz OnChartEvent(const int kimliği,

const uzun &lparam,

const double &dparam,

const string &sparam)

{

string Key1_Value="1";

string Key2_Value="2";

string Key3_Value="3";


if(StringGetChar(Key1_Value,0)==lparam)

ChartSetSymbolPeriod(0, NULL, 5);

if(StringGetChar(Key2_Value,0)==lparam)

ChartSetSymbolPeriod(0, NULL, 60);

if(StringGetChar(Key3_Value,0)==lparam)

ChartSetSymbolPeriod(0,NULL,1440);

ChartNavigate(0,CHART_END,0);

}


Her şey çalışıyor, ancak ChartNavigate grafiği yerinde "donduruyor" ve sola kaymasını engelliyor. Nasıl kazanılır?

 
psyman :

XP, MT4 1090 kullanıyorum ve bu yüzden herhangi bir güncellemem olmayacak.

MT4'te zaman ölçeğini değiştirdiğinizde, grafik sürekli olarak sola veya sağa hareket eder - daha büyük bir ölçekten daha küçük olana (örneğin, günlükten saatlik olarak) geçerseniz, ekranda yarım yıllık veriler görünür . Küçükten büyüğe geçerseniz, yalnızca son 10 mumu çeker. Programı kabul edilebilir bir forma getirmek için sürekli vücut hareketleri yapmak zorundasınız, bu da can sıkıcı.

Kolaylık sağlamak için, ölçeği klavyeden değiştiren ve grafiği sona kaydıran bir kod yazdım:

grafiğin kendisini hareket ettirmek için bir düğme var

1

 


Otomatik kaydırma, örneğin bir trend çizgisi oluşturmanız gerekiyorsa, grafiği sola kaydırmaya izin vermez.

Ayrıca, yalnızca yeni keneler geldiğinde çalışır.

 
psyman :


Otomatik kaydırma, örneğin bir trend çizgisi oluşturmanız gerekiyorsa, grafiği sola kaydırmaya izin vermez.

Ayrıca, yalnızca yeni keneler geldiğinde çalışır.

sonra bu yüzden

 void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
{
if (id== CHARTEVENT_KEYDOWN )
   {
   if (lparam== '1' )
       ChartSetSymbolPeriod ( 0 , _Symbol , PERIOD_M5 );

   if (lparam== '2' )
       ChartSetSymbolPeriod ( 0 , _Symbol , PERIOD_H1 );

   if (lparam== '3' )
       ChartSetSymbolPeriod ( 0 , _Symbol , PERIOD_D1 );

     ChartNavigate ( 0 , CHART_END , 0 );
   }
}
 
Çok teşekkürler.