[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 72

 

http://www.soft-sib.ru/articles/programs/10/

Dosya-sunucu yaklaşımına kıyasla bir DBMS ve bir istemci-sunucu mimarisi kullanmanın bir başka avantajı, verileri işlemek için bir işlem mekanizması kullanma yeteneğiydi. Veri sunucusu tarafından sağlanan bu hizmet, verileri tek bir bölünmez işleme (işlem) dönüştürmek için birkaç eylemi birleştirmenize olanak tanır . İşlemlerin kullanılması, IS'nin hem istemci hem de sunucu bölümlerindeki donanım ve yazılım arızalarına karşı bilgilerin güvenilir bir şekilde korunmasını sağlar.

 
Hmm, ya görünmezim ya da kimse yardım etmek istemiyor ya da edemiyor ((
 
PerlOF :


Kılavuz ve öğretici, sunucuya zorunlu bir bağlantı ihtiyacını belirtir (Uzman Danışmanın çalışması için, komut dosyaları, göstergeler).

Sunucuya bağlanmadan özel işlevleri çağırmak mümkün müdür (prensipte)?


Epeyce. start() işlevini başlatan onay işaretini almak için sunucunun kendisine ihtiyaç vardır.

start() ana fonksiyondur. Bir sonraki tık geldikten sonra Uzman Danışmanlar için çağrılır. Gösterge tabloya eklendikten sonra yeniden hesaplanırken, müşteri terminalini açarken (gösterge tabloya eklenmişse) ve ayrıca bir sonraki onay işaretinin gelmesinden sonra özel göstergeler için çağrılır. Komut dosyaları için, grafiğe eklendikten ve başlatma gerçekleştirildikten hemen sonra yürütülür. Modül start() işlevini içermiyorsa, bu modül (EA, komut dosyası veya özel gösterge) başlatılamaz.

Komut dosyası sonsuz bir döngüde çalışabilir ve bu nedenle onaylara ihtiyaç duymaz, göstergeler ve Uzman Danışmanlar için onaylar gereklidir (standart konfigürasyonda (çünkü Uzman Danışman sonsuz bir döngüde de çalışabilir)).

Ancak tiklere yapay olarak da neden olabilir - VINAPI'nin yardımıyla. Ek olarak , strateji test cihazı (keneler de üretebilen) gibi standart bir özellik vardır.

Sadece beyninizi açmanız ve SİTE (FORMUM) ÜZERİNDE ARAMA yapmanız yeterlidir.

Dosya sunucusu teknolojilerinin avantajlarını veya dezavantajlarını buraya sürüklemek yerine.

 
MXDEEM :

Merhaba böyle bir kod var emir olup olmadığını kontrol et açık emir varsa tekrar kontrol et 0 emir gelene kadar ama uzman bu kodu açıkça yok sayar sonsuz sayıda emir açar söyle bende hata ne

int FunctionBUYsonraki()
{
int b=SiparişToplam();
(b>0) ise
{FunctionBUYnext();}
başka {FunctionSELL();}
}



MQL4 topluluk forumu gezgini
tüzük Aramak nasıl yayınlanır Forum Yönetimiİhlal bildir Telepatlar Kulübü
Sormamanız Gereken Sorular
Doğru sorular nasıl sorulur
faydalı literatür Faydalı yazılım Bir gösterge aranıyor (uzman, komut dosyası)
 

iCustom işlevini kullanarak Trading Advisor'da bir çizgi çizmeye ihtiyaç vardı.
ZigZag'ı test olarak kullandım:

 for ( int cnt= 0 ; cnt< 10000 ; cnt++) {
   double zigzag1= iCustom ( NULL , 0 , "ZigZag" , 15 , 0 , 3 ,   0 ,cnt+ 1 );
   if ( zigzag1!= 0 ) 
       break ;
}


Benim durumumda iCustom'un amacı sadece bir çizgi çizmek olduğundan
( gösterge verileri Expert Advisor'da kullanılmaz ), kodu deinit() içine koymaya karar verdim. Ama orada çalışmıyor ve hiçbir şey çizmiyor.
start() içinde her şey yolunda.
1. Neden deinit() içinde çalışmıyor?
2. Test ve optimizasyon sırasında yukarıdaki kodun anlamsız çalışmasından kaçınmak gerekir.
(CPU'yu boşa harcamamak) ve sadece test edilen geçmişin son çubuğunda çalıştırmak için.
- Buna nasıl ulaşılır?
Teşekkür ederim!
 
Roll :

kod saçma.

NİYE YA?? HER ŞEY ÖĞRETİLDİĞİ GİBİ
 
MXDEEM :

NİYE YA?? HER ŞEY ÖĞRETİLDİĞİ GİBİ

Ah garip sana öğretildi ...

Sağladığınız "kod"un gövdesinden çağrılan işlevler nerede?

"Kod"un kendisi de oldukça eğlenceli...

 int FunctionBUYnext()
{
int b= OrdersTotal ();
if (b> 0 )
{FunctionBUYnext();}
else {FunctionSELL();}
} 

Kendi kendine bir çağrı kullanmak... Sipariş olmadığında neden FunctionBUYnext()'ten çıkmıyorsunuz?

Ayrıca - emir türünün kontrolü yoktur, sembol ve sihir kontrolü yoktur...

"Öğretmeninizi" rafa gönderirdim ...

 

Bir sorunla karşı karşıya...

Bu formda, komut dosyası MessageBox() işleviyle çalışır.

 //+------------------------------------------------------------------+

#include <WinUser32.mqh>
#import "user32.dll"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int result = MessageBox ( "Are you ok?" , "Caption" , MB_YESNO | MB_ICONQUESTION );
   if (result != IDYES ) Alert ( "Кнопка да не нажата" );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

Ancak, belgelenmemiş MessageBoxTimeoutA() işlevinin kullanılmasıyla, çalışmayı hiç reddediyor:

 //+------------------------------------------------------------------+

#include <WinUser32.mqh>
#import "user32.dll"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int result = MessageBoxTimeoutA( 0 , "Are you ok?" , "Caption" , MB_YESNO | MB_ICONQUESTION , 0 , 10000 );
   if (result != IDYES ) Alert ( "Кнопка да не нажата" );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

Evet/Hayır düğmelerinin bulunduğu mesaj kutusu bile görüntülenmiyor.

Kim yüzleşti - bana köpeğin nereye gömüldüğünü söyle?

 
artmedia70 :

Ah garip sana öğretildi ...

Sağladığınız "kod"un gövdesinden çağrılan işlevler nerede?

"Kod"un kendisi de oldukça eğlenceli...

Kendi kendine bir çağrı kullanmak... Sipariş olmadığında neden FunctionBUYnext()'ten çıkmıyorsunuz?

Ayrıca - sipariş tipi kontrolü yok, sembol ve sihir kontrolü yok ...

"Öğretmeninizi" rafa gönderirdim ...

ANLAMINI AÇIKLAYALIM, BU BÖLÜMDE DOĞRULAMA GEREKLİ OLDUĞU İÇİN, ÇIKARSANIZ TEKRAR BAŞLANGIÇ PERFORMANSINA DÖNECEKTİR, BUNA İHTİYACIM YOK, SEMBOL VE SİHİR DEĞERLENDİRİLMİYOR, ÖĞRETMENİM İNTERNETİM))) ÇALIŞIYOR , TEMEL FİKİRLER - BİR SİPARİŞ VARSA DAHA SONRA İZİN VERMEYİN, DEĞİLSE, SONRA BELİRLİ BİR İŞLEVE GEÇİN .

 
MXDEEM :

ANLAMINI AÇIKLAYALIM, BU BÖLÜMDE DOĞRULAMA GEREKLİ OLDUĞU İÇİN, ÇIKARSANIZ TEKRAR BAŞLANGIÇ PERFORMANSINA DÖNECEKTİR, BUNA İHTİYACIM YOK, SEMBOL VE SİHİR DEĞERLENDİRİLMİYOR, ÖĞRETMENİM İNTERNETİM))) ÇALIŞIYOR , TEMEL FİKİRLER - SİPARİŞ VARSA DAHA SONRA İZİN VERMEYİN, HAYIR İSE BELİRLİ BİR İŞLEVE GEÇİN.

Oh, öyle bağırma... CapsLock'un takılmış görünüyor... Yazı tipi boyutunu iki katına çıkarmalısın, ama kalın yapmalısın...

Bu çok...geri çekilme...

Şimdi size de açıklayayım:

anlamını açıklıyorum. Özyinelemeli bir arama yaparak, Expert Advisor'ın bu belirli bölümde döngü yapmasını sağlarsınız... yani. herhangi bir emir veya piyasa pozisyonu varsa, danışman siz tüm emirleri manuel olarak silene ve pozisyonları kapatana kadar beklemeli ve hiçbir şey yapmamalı (basitçe - beklemede kalsın). Öyleyse, danışman sizin müdahaleniz olmadan sıkıca asılacaksa, böyle bir otomatik ticaretin anlamı nedir?

EA mantığına yaklaşımınızı yeniden düşünün