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

 
psyman :


Çok teşekkür ederim yarın iTime ve iClose'u nasıl değiştireceğimi düşüneceğim, belki XP'de oturuyorum.

 //+------------------------------------------------------------------+ 
//| Get Time for specified bar index                                 | 
//+------------------------------------------------------------------+ 
datetime iTime ( const int index, string symbol= NULL , ENUM_TIMEFRAMES timeframe= PERIOD_CURRENT )
  {
   if (symbol== NULL )
      symbol=m_symbol.Name();
   if (timeframe== 0 )
      timeframe= Period ();
   datetime Time [ 1 ];
   datetime time= 0 ;
   int copied= CopyTime (symbol,timeframe,index, 1 , Time );
   if (copied> 0 ) time= Time [ 0 ];
   return (time);
  }
//+------------------------------------------------------------------+
 

Çağrılabilmesi ve Uzman Danışmanlardan içe aktarılabilmesi için ayrı bir işlev, örneğin bir trol nasıl derlenir?

.mqh veya dll gibi

 
demonRDV :

Herkese merhaba!

Lütfen bana, Expert Advisor çalışırken özelliklerine giremediğimi söyler misiniz? Eskiden giderdim, şimdi özellikler açılmıyor. Terminali yeniden başlatmak bir kez yardımcı oldu, ancak sorun bir dakika sonra yeniden ortaya çıktı. Danışman taze, terminal de son zamanlarda çalışıyor. Danışmanın özellikleriyle ilgili sorun nedir?

Teşekkür ederim!

büyük olasılıkla kesinti kontrol edilmeden döngüye alınmıştır.
kaynaklar var mı? Daha önce bu EA ile ilgili bir sorun var mıydı?

 
Ghabo :

Çağrılabilmesi ve Uzman Danışmanlardan içe aktarılabilmesi için ayrı bir işlev, örneğin bir trol nasıl derlenir?

.mqh'nin nasıl çağrıldığı gibi

bunun gibi bir şey.

danışmanda
#include <trall.mqh>

ve örneğin doğrudan kodda trall işlevini çağırın

int iz_boyutu = 20;
int iz_başlangıç = 30;
int iz_adım = 5;


trall("",0,-1, trall_size, trall_start, trall_step); // hesaptaki tüm siparişleri belirtilen parametrelerle takip et

int büyü = 345;
trall(_Symbol, büyü, OP_BUY, trall_size, trall_start, trall_step); // verilen sihir ve verilen parametrelerle sadece mevcut enstrüman için SATIN AL emirlerini takip et

Dosyalar:
trall.mqh  27 kb
 
Maxim Kuznetsov :

F7 kısayol tuşuna basın :-)

danışman simgesine tıklamak her zaman çalışmaz - ve simge diğer nesneler tarafından engellenebilir ve danışman mesaj kuyruğunu ve diğer 100500 nedeni yükler

evet, anladım. yardımcı olmuyor)
 
Nikolay Khrushchev :

bunun gibi bir şey.

danışmanda
#include <trall.mqh>

Duc, trol dosyasının ayrı olarak derlenmesi gerektiği anlamına geliyordu, ex4 uzantısına sahip.

 #include <trall.ex4>

veya

 #import "trall.ex4"
    ...
    ...
    ...
#import
Trol fonksiyonunun içine ne eklenmelidir?
 
Ghabo :

Duc, trol dosyasının derlenmesi gerektiği anlamına geliyordu.

veya

Trol fonksiyonunun içine ne eklenmelidir?

Neden böyle sapkınlıklar? İşlevi EA'ya veya .mqh dosyasıyla önerildiği gibi yazmak daha kolay değil mi?

Veya izleyen, ancak kaynak kodu olmayan bir EA var mı? Ancak fonksiyon adından sonra dışa aktarma değiştiricisi yoksa, onu başka bir Expert Advisor'a aktarmak imkansız olacaktır.

Bu tür kitaplıkların bir başka dezavantajı, danışmanla birlikte danışmanla birlikte yeni terminale sürüklenmesi gerektiğidir. Dahil edilen .mqh dosyasını kullanırsanız, yalnızca derlenmiş Expert Advisor başka bir terminale kopyalanabilir.

Экспортирование функций - Функции - Основы языка - Справочник MQL4
Экспортирование функций - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Экспортирование функций - Функции - Основы языка - Справочник MQL4
 
Alexey Viktorov :

Neden böyle sapkınlıklar?

böyle bir fetiş)

Bu nasıl çalışması gerekir

 #property strict
void trall( string tr_symbol, int tr_magic, int tr_type, double tr_trall_size, double tr_trall_start, double tr_trall_step= 1 ) export {
   if (tr_type> 1 ) return ;
   int ti;
   for (ti= OrdersTotal ()- 1 ;ti>= 0 ;ti--) if ( OrderSelect (ti, SELECT_BY_POS , MODE_TRADES )) {
       if ( OrderSymbol ()!=tr_symbol && tr_symbol!= "" ) continue ;
       if ( OrderMagicNumber ()!=tr_magic && tr_magic> 0 ) continue ;
       if (tr_type>= 0 && OrderType ()!=tr_type) continue ;
       double work_price;
       double work_pp = SymbolInfoDouble ( _Symbol , SYMBOL_POINT );
       int     work_dig = SymbolInfoInteger ( _Symbol , SYMBOL_DIGITS );
       if (tr_trall_size> 0 ) {
         if ( OrderType ()== 0 ) {
            work_price = SymbolInfoDouble ( _Symbol , SYMBOL_BID );
             if ( NormalizeDouble (work_price-(tr_trall_size+tr_trall_step)*work_pp, work_dig)> NormalizeDouble ( OrderStopLoss (), work_dig) && 
               NormalizeDouble (work_price-tr_trall_start*work_pp, work_dig)>= NormalizeDouble ( OrderOpenPrice (), work_dig)) 
                   OrderModify ( OrderTicket (),- 1 , 0 , NormalizeDouble ( work_price-tr_trall_size*work_pp, work_dig),- 1 ,- 1 );
            }
         if ( OrderType ()== 1 ) {
            work_price = SymbolInfoDouble ( _Symbol , SYMBOL_BID );
             if (( NormalizeDouble (work_price+(tr_trall_size+tr_trall_step)*work_pp,work_dig)< NormalizeDouble ( OrderStopLoss (),work_dig) || OrderStopLoss ()== 0 ) && 
               NormalizeDouble (work_price+tr_trall_start*work_pp,work_dig)<= NormalizeDouble ( OrderOpenPrice (),work_dig)) 
                   OrderModify ( OrderTicket (),- 1 , 0 , NormalizeDouble (work_price+tr_trall_size*work_pp, work_dig),- 1 ,- 1 );
         }
      }
   }
}

Yoksa ihracat değil mi oraya koydum ?

 
Ghabo :

böyle bir fetiş)

Bu nasıl çalışması gerekir

Yoksa ihracat değil mi oraya koydum ?

Orada gibi görünüyor. Hala içe aktarmaları tırnak işaretleri veya açılı ayraçlar içinde nasıl kaydedeceğimizi bulmamız gerekiyor. Bu dosyanın Kitaplıklar klasörüne yerleştirilmesine veya bu kitaplığın işlevlerini içe aktaran uzmanın bulunduğu yere bağlıdır. Bunu çok uzun süre denedim ve hatırlamıyorum ama şimdi nasıl yapacağımı araştırdığım için üzgünüm, tembelim.
 
psyman :


Çok teşekkür ederim yarın iTime ve iClose'u nasıl değiştireceğimi düşüneceğim, belki XP'de oturuyorum.

İşte etiket için saf kod. Grafiği kaydırırken, grafikler arasında geçiş yaptıktan sonra bile Teklif fiyatından sonra çalışır. Artı işaretinin ardından koşar ve bu şekilde belirtilen ofseti hatırlar, ardından Teklife odaklanmaya devam eder.

PS hp bile yakın zamanda değiştim. her şey zaten başarısız olmaya başlıyor, bazı siteler bir tarayıcı güncellemesi gerektiriyor ve artık xp'de güncellenemiyor,

3.7 gb RAM sınırı ben de dayanmaktan yoruldum

xp için tüm işlemci çekirdeklerinde baykuşları test etme desteği yoktur

Dosyalar: