MQL5'in Geleceği - MQL5+ ve hatta MQL6 - sayfa 10

 
Goto'yu görmek istiyorum, okunabilirlikten bahsetmeden, kodu önemli ölçüde basitleştirebilirsiniz. sonuçta, aslında, koşullu bir döngü aynı zamanda döngüden erken bir çıkıştır.
 
dimka8 :
Goto'yu görmek istiyorum, okunabilirlikten bahsetmeden, kodu önemli ölçüde basitleştirebilirsiniz. sonuçta, aslında, koşullu bir döngü aynı zamanda döngüden erken bir çıkıştır.
Hayır istemiyorum :)
 
dimka8 :
Goto'yu görmek istiyorum, okunabilirlikten bahsetmeden, kodu önemli ölçüde basitleştirebilirsiniz. sonuçta, aslında, koşullu bir döngü aynı zamanda döngüden erken bir çıkıştır.

Bunları nereden alıyorsunuz...

 

Birkaç kelime:

Zorunlu çapraz platform ....

 
Vasiliy Sokolov :

Bunları nereden alıyorsunuz...

BASIC'ten
 
Alexander Bereznyak :
BASIC'ten

daha da kolay Hiazm.

klasiklere ne dersin

 for (...) {
for (...) {
while (...) {
if (...) goto stop;
...
}
}
}
printf( "error in program\n" );
 

Bir proje kavramını tanıtmak harika olurdu. OOP'nin gelişmesiyle birlikte tüm programlar birkaç dosyadan oluşmaya başladı. Dahil edileni düzenlerseniz, derlemeden önce ana dosya ile sürekli sekmeye geçmek sakıncalıdır. Pekala, ya da bir koltuk değneği: birlikte çalıştığınız projenin başlık dosyasını bağlayabileceğiniz programlanabilir bir Derleme düğmesi girin.

EMPTY_VALUE , buna izin veren tüm türlere uzanır (int, double, string, vb.). Bir önemsememek - ama onu kullanabileceğiniz ve kendinizinkini icat edemeyeceğiniz birçok yer var.

Test cihazında, MT'deki gibi bir artı işareti aracı yapın.

Elbette, fiyat tablosunun altındaki bir gösterge penceresinde birkaç göstergenin yerleştirilmesiyle bir varyant bulabilirsiniz.


Konfor küçük şeylerden oluşur. Geliştiriciler bu fikri gerçekten kabul etmek istemiyorlar ve sürekli olarak bir şeyleri küreselleştiriyorlar. Belki bazen durmaya ve küçük iyileştirmelere zaman ayırmaya değer - kullanıcı konforu?))))))

Örnekler: Grafikteki bir şeyi üç kez ölçmek için, artı işaretini düğmeye üç kez sokmanız (veya bir tuş kombinasyonuna basmanız) gerekir. ME'de grafiğin altındaki gösterge pencereleri değiştirilemez: tüm göstergeleri silin, ardından doğru sıraya koyun. Yine, birkaç gösterge ayarlamak için, menü-alt menü-bir göstergeyi birkaç kez seçmeniz gerekir. Nedense bu konuda hiçbir şeyi basitleştirmeyen ve yeni bir şey vermeyen bir Gösterge Listesi aracı olmasına rağmen... MQL'de, ME'de, içinde herkesin düşünmeden bu tür örnekleri vereceğini düşünüyorum. MT, test cihazında... .Cehennem! Küçük yaygara yığınları! Paketin tüm netliği ve genişliği ile çok rahatsız edici, bitmemiş.

https://www.mql5.com/ru/docs/basis/types/integer/enumeration - Numaralandırmalar hakkında yardım makalesi. Öyle oldukları ve nasıl göründükleri belli... Ama nasıl kullanılır ve avantajı nedir? Kelimelerle yazamayacak kadar tembelseniz basit bir örnek verin.

Bir şeyi gerçekten geliştirmek istiyorsanız, paketi çeşitli yönlerde (programlama, manuel ticaret, test vb.) aktif olarak kullanan düzenli kullanıcı gruplarıyla iletişim kurmalı ve geliştirmek için onlardan makul öneriler almalısınız. ne yemeli, herkesin her şeyi isteyeceği kalabalığı sorgulamamalı. Aksi takdirde, her şey harflerde kalacaktır.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Перечисления - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Hata ayıklayıcı tarafından:

Örneğin şöyle bir ifade var.

(int)(MathFloor((ticks_stored-1)/ticks_in_candle)-MathFloor(i/ticks_in_candle));

Şu andaki hata ayıklama uygulamasında, bunu yaparsanız hata ayıklayıcıdaki ifadenin değerlendirilmesinin sonucu mevcut olacaktır:

CandleNumber=(int)(MathFloor((ticks_stored-1)/ticks_in_candle)-MathFloor(i/ticks_in_candle));

ve CandleNumber değişkenini Shift+F9 aracılığıyla izleme listesine ekleyin

Bir ifadenin bir bölümünü değerlendirmenin sonucunu almak istersem, örneğin MathFloor(i/ticks_in_candle), o zaman bu ifadeyi gözleme ekleyerek

İfade değerlendirilemedi alıyorum.

Belki yanlış bir şey yapıyorum, deneyiminizi paylaşın, ancak sonuçta, yalnızca bildirilen değişkenlerin değerlerini değil, aynı zamanda keyfi ifadeleri değerlendirmenin sonuçlarını da hata ayıklamaya bakmanın bir yolu yoktur (elbette, biz mevcut gözlem anında tüm değişkenlerin zaten başlatıldığı ifadeler hakkında konuşmak).

Ayrıca, hata ayıklamada diziler hakkında bilgi görmek istiyorum, örneğin bir UpTick[] dizisi var ve şu anda dizinin yalnızca bir öğesi izlenebiliyor.

Neden bir gözleme dizi ekleme yeteneğini, bir seçenek olarak, tüm öğelerin indeksleriyle birlikte mevcut olduğu ayrı bir modal pencerenin açılmasıyla uygulamıyorsunuz:

dizin türü değeri

0 int 1

1 int2 vb.

Dizi büyükse ve çok fazla bellek gerektiriyorsa - seçimi sınırlayın.

Ve genel olarak, sonuç olarak - keyfi ifadeleri, değişkenleri, dizileri izleme olasılığı açısından hata ayıklayıcının daha geniş bir işlevselliğini uygulamak.

 
agvozdezkiy :
EMPTY_VALUE , buna izin veren tüm türlere uzanır (int, double, string, vb.). Bir önemsememek - ama onu kullanabileceğiniz ve kendinizinkini icat edemeyeceğiniz birçok yer var.

Her şey çoktan anlaşıldı. NULL sabitini kullanın.

Test cihazında, MT'deki gibi bir artı işareti aracı yapın.

Örnekler: Grafikteki bir şeyi üç kez ölçmek için, artı işaretini düğmeye üç kez sokmanız (veya bir tuş kombinasyonuna basmanız) gerekir.

Size bir sır vereyim, zaten uygulandı. Fare tekerleğine tıklamanız gerekiyor ve bir artı işareti olacak.

Elbette, fiyat tablosunun altındaki bir gösterge penceresinde birkaç göstergenin yerleştirilmesiyle bir varyant bulabilirsiniz.

Ve bu uzun zamandır mümkün. Gezginden, göstergeyi, göstergenin takılı olduğu pencereye sürükleyin.

ME'de grafiğin altındaki gösterge pencereleri değiştirilemez: tüm göstergeleri silin, ardından doğru sıraya koyun.

IMHO, en gerekli şey değil.

Yine, birkaç gösterge ayarlamak için, menü-alt menü-bir göstergeyi birkaç kez seçmeniz gerekir. Bazı nedenlerden dolayı, bu durumda hiçbir şeyi basitleştirmeyen ve yeni bir şey vermeyen bir gösterge listesi aracı olmasına rağmen....

Bir gezgin var, favoriler var, şablonlar var, profiller var. Her şey özelleştirilebilir. Terminaldeki yardımı okuyun, birçok yeni şey keşfedin!

https://www.mql5.com/ru/docs/basis/types/integer/enumeration - Numaralandırmalar hakkında yardım makalesi. Öyle oldukları ve nasıl göründükleri belli... Ama nasıl kullanılır ve avantajı nedir? Kelimelerle yazamayacak kadar tembelseniz basit bir örnek verin.

Numaralandırmalar, kodu daha okunabilir hale getirmek, sabitleri çıkarmak ve bunların yerine bir kişinin aşina olduğu varlıkları koymak için kullanılır.

Örneğin, MqlDateTime yapısının day_of_week değeriyle karşılaştırmak için ENUM_DAY_OF_WEEK numaralandırma değerleri kullanılabilir. Onlar. şöyle yazılabilir:

         MqlDateTime dt;
         TimeCurrent ( dt );
         if ( dt.day_of_week == 0 )
           {
             // Что-то делаем в воскресенье
           }

Ve farklı yazabilirsiniz:

         MqlDateTime dt;
         TimeCurrent ( dt );
         if ( dt.day_of_week == SUNDAY )
           {
             // Что-то делаем в воскресенье
           }

SUNDAY, 0 değerine sahip int türünde adlandırılmış bir sabittir.

Kodu okuyan bir kişi için nasıl daha net olacağını düşünüyorsunuz?
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Перечисления - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kozitsyn :

Numaralandırmalar, kodu daha okunabilir hale getirmek için kullanılır.

Son derece kullanışlı bir uygulama daha var. Örneğin:

 enum ENUM_OPEN_DIRECTION {
     OPEN_BUY,       // только Buy
     OPEN_SELL,       // только Sell
     OPEN_BOTH,       // Buy + Sell
     OPEN_NONE       // не торговать
};
input ENUM_OPEN_DIRECTION  Trade_Direction = OPEN_BOTH;     // Направление торговли:

Ve kullanıcı, yorumlarda orada yazdıklarınızdan oluşan 4 öğeden oluşan bir açılır liste alır - "yalnızca Satın Al", "Yalnızca Sat", vb. Puanlar, kullanıcı ayarları penceresinde bir dizi gösterge, zaman çerçevesi, bir dizi koşul vb. listelemek için uygundur.