Hatalar, hatalar, sorular - sayfa 611

 
x100intraday :

Hayal etmekten bile korkuyorum. Aslında esnek bir seçeneğe ihtiyacım var, ancak değişmeyen formda bir satıra değil, bir döngü içinde birkaç farklı satıra ihtiyacım var ... Bu mümkünse, daha spesifik bir örnek görmek isterim .. .

...

#define'de tek satırda daha karmaşık koşullar oluşturmak mümkündür:

 #define LOG(text,logs,html,type,spc,style)   if (type){ if (logs){okLOG(text,spc);} if (html){okHTML(text,spc,style);}}   if (!type){ if (logs){erLOG(text,spc);} if (html){erHTML(text,spc,style);}}

Sorununuzu nasıl çözeceğimi gerçekten bilmiyorum, denemedim. denemem lazım...)

Belki, birkaç benzer #defines oluşturursanız, duruma göre döngüde ihtiyacınız olanı seçin.

enum içindeki bir dizgeden, önceden switch ile bir fonksiyon hazırlayabilirsiniz. Ama görünüşe göre çok sayıda seçeneğiniz olabilir ve bu yöntem işe yaramaz ...

Ah, işte başka bir seçenek! Daha önce ana dosyaya bağlı olan bir mqh dosyası oluşturmak mümkündür. Yani, bir dize alan ve ardından bir mqh dosyası oluşturan bir işlev olmalıdır. Dosyanın her zaman üzerine yazılacaktır. Bu tam olarak böyle çalışacak.)))

 

tol64 , #define değişkeninden soğuk bir ter akıyor... Gerektiğinde bu şekilde yönlendirmenin muhtemelen mümkün olduğunu iddia etmiyorum, ancak bu Programlama Olimpiyatında standart olmayan şekillerde bir yerde - eğer sadece ne pahasına olursa olsun bir sonuç elde etmek için. Yukarıda yazdığım nedenden dolayı geçiş seçeneğini hemen reddettim: İdeolojik olarak temel bir görev nedeniyle ek büyük kod blokları başlatmak istemiyorum. Bana öyle geliyor ki, çok basit ve düzenli bir yol olmalı ... aksi takdirde sistemi hacklemeye ve istenen sonucu sofistike bir şekilde almaya çalışan bir bilgisayar korsanı gibi hissetmeye başladım ...

Havada önemli bir soru var: aynı zaman dilimlerinin düzenli listesine, zaman dilimlerindeki nesnelerin görünürlüğü listesine, vb. Şimdilik, diziyi manuel olarak doldurmak için kaba fiziksel güç kullanıyorum ve oradan dizine göre dizine, ihtiyacım olanı alıyorum:

 ENUM_TIMEFRAMES TFsArr[ 3 ]={ PERIOD_M15 , PERIOD_M20 , PERIOD_M30 );
Ne kadardır?! Belki bu öğeleri önceden tanımlanmış bir diziden/listeden hemen çıkarabilirsiniz? Yeterli bilgiye sahip değilsem bir şey var... ama başka birinin kodunda, birinin önce yastığı tüy kopyalarıyla doldurmadan önceden tanımlanmış kaynaklara eriştiğini hiç görmedim ...
 
x100intraday :
Önceden OBJ_PERIOD_M10|OBJ_PERIOD_H4 gibi bir mantıksal(?) numaralandırmaya sahip bir dizeyi nasıl hazırlayabilirim, böylece daha sonra bitmiş değişkeni yapıştırılmış bir dize biçiminde ObjectSetInteger () ile değiştirebilir miyim? Önce sembolik olarak yapıştırmaya çalıştım ve sonra onu StringToInteger() içine sarmaya çalıştım, ama işe yaramadı... Sonuçta , OBJ_PERIOD_ ... enum tipinin bir elemanı, ama int tipinin onaltılık bayrağına sahip mi? O zaman böyle bir numaralandırma daha çok bitsel bir "VEYA" işlemine benziyor ...
Basitçe şöyle bir şey ekleyebilirsiniz:
 ObjectSetInteger ( 0 ,highlevel, OBJPROP_TIMEFRAMES ,( int ) OBJ_PERIOD_M10 +( int ) OBJ_PERIOD_H4 );

onlar. bir int değişkenine gerekli numaralandırmaları ekleme.

 

Gerçekçi olmayan büyük spreadler:

AlpariFS sunucusunda, GBPUSD 648, USDCHF 110 çiftleri

MQ-Demo sunucusunda GBPUSD 168, USDCHF 185

normal aralıktaki diğer cihazlarda.

Bu , zayıf pazarın bir özelliği mi yoksa MetaTrader 5 hatası mı ???

Tehdit şu anda pound sakinleşmiş gibi görünüyor, ancak Kanada ve Avustralya spreadleri sırasıyla 88 ve 61. İsviçre, 185 puanlık farkla sıkışmış durumda.

 void OnStart ()
  {
   while (! IsStopped ()){ Comment ( SymbolInfoInteger ( _Symbol , SYMBOL_SPREAD )); Sleep ( 100 );}
   Comment ( "" );
  }
 
Swan :
Basitçe şöyle bir şey ekleyebilirsiniz:

onlar. bir int değişkenine gerekli numaralandırmaları ekleme.

Enums nereden alınır? Sanki önceden tanımlanmış (ayrılmış) sözcükler/değerler biçiminde dile dikilmiş gibidirler. Kendi yinelenen numaralandırma dizimi oluşturmak istemiyorum.
 
x100intraday :

Boolean(?) enum gibi bir dizeyi nasıl önceden hazırlayabilirim: OBJ_PERIOD_M10|OBJ_PERIOD_H4

O zaman böyle bir numaralandırma daha çok bitsel bir "VEYA" işlemine benziyor ...

titremiyor. neyse ne.

Enums nereden alınır? Sanki önceden tanımlanmış (ayrılmış) sözcükler/değerler biçiminde dile dikilmiş gibidirler.

tabii ki numaralardan. yardıma bak

Kendi yinelenen numaralandırma dizimi oluşturmak istemiyorum.

En azından bir şey yapmak zorunda kalacak, ama başlayacak. numaralandırmalar, diziler, tanımlar.

aksi takdirde rant etmekten daha fazlasını elde edemezsiniz

 
sergeev :

titremiyor. neyse ne.

tabii ki numaralardan. yardıma bak

En azından bir şey yapmak zorunda kalacak, ama başlayacak. numaralandırmalar, diziler, tanımlar.

aksi takdirde ranttan öteye geçemezsiniz

Yani başlarsanız - o zaman her şey yolunda, zaten yapıldı. Ancak, önceden tanımlanmış adlar ve sabitler biçiminde dile bağlı liste öğelerinin depolanmasına erişmek neden imkansız? Bir yerde, geliştiriciler tüm bu numaralandırmaları sakladı ...
 
x100intraday :
Enums nereden alınır? Sanki önceden tanımlanmış (ayrılmış) sözcükler/değerler biçiminde dile dikilmiş gibidirler. Kendi yinelenen numaralandırma dizimi oluşturmak istemiyorum.

Soruyu anlamadım)

ENUM_s = tamsayı, önceden tanımlanmış dizi/liste yok.

 
Swan :

Soruyu anlamadım)

ENUM_s = tamsayı, önceden tanımlanmış dizi/liste yok.

ENUM_s = bu bir numaralandırmadır. önceden tanımlanmış liste
 
x100intraday :
Ancak, önceden tanımlanmış adlar ve sabitler biçiminde dile bağlı liste öğelerinin depolanmasına erişmek neden imkansız? Geliştiriciler bir yerde tüm bu numaralandırmaları sakladı ...

ne??? aynı ENUM_TIMEFRAMES'i kendiniz kullanıyorsunuz. bu senin için ne