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

 
r772ra :
çift iClose ( string sembolü, int zaman çerçevesi, int shift)

Bunun gibi bir şey.

Çok teşekkürler!



 
extern double lot = 1;
extern double ts = 50; 
extern double sl = 50; 
extern double tp = 40;
extern double periodrsi = 30;
extern double hirsi = 80;
extern double lowrsi = 30;

int K=0;
int L=0;
 


int init()
  {
   return(0);
  }

 
int start()
  { 
    double r1 = iRSI(NULL,0,periodrsi,PRICE_CLOSE,1);


  

    static bool first = true;
    static int pre_OrdersTotal = 0;
    int _OrdersTotal = OrdersTotal();
    if ( first )
    {
        pre_OrdersTotal = _OrdersTotal;
        first = false;
        return(0);
    }
 
   
   
   
    if ( _OrdersTotal > pre_OrdersTotal ) 
{K=0;
L=0;}
    if ( _OrdersTotal < pre_OrdersTotal )
{K=0;
L=0;}
    pre_OrdersTotal = _OrdersTotal; 

if (r1>hirsi) K= 1 ;
 {
 if ((K== 1 ) && (r1<hirsi))

 { 
  L=(L+ 1 );                         // набираем проходы вниз под hirsi

K= 0 ;
 }
 }



 if ( OrdersTotal ()< 1 )

 {
 if ((r1<hirsi) && (L== 2 ))   //есть два прохода

 OrderSend ( Symbol (),OP_SELL,lot,Bid, 0 ,Ask+sl* Point ,Bid-tp* Point , "Easiest ever" , 0 , 0 );
Merhaba arkadaşlar! Lütfen bu koda aşağıdaki koşulu ekleyecek bir işlev önerin. İşlem, yalnızca rsi, n'inci çubuk sayısında iki geçiş kazanmışsa açılır. yani, 30 bar için rsi iki kez düşerse - bir sipariş açın, çözemiyorum) hiç acemi)
 
TemirKhan :
Merhaba arkadaşlar! Lütfen bu koda aşağıdaki koşulu ekleyecek bir işlev önerin. İşlem, yalnızca rsi, n'inci çubuk sayısında iki geçiş kazanmışsa açılır. yani, 30 bar için rsi iki kez düşerse - bir sipariş açın, çözemiyorum) hiç acemi)


Sayacınızı başlatırsınız. Ardından, geçmişten geçerken, şu koşula göre sayar: "Kavşak aşağıdaysa, sayaca bir tane eklersiniz ..." vb.

Öğrenin ve zaman ayırın ve her şey yoluna girecek!

 
hoz :


Sayacınızı başlatırsınız. Ardından, geçmişten geçerken, şu koşula göre sayar: "Kavşak aşağıdaysa, sayaca bir tane eklersiniz ..." vb.

Öğrenin ve zaman ayırın ve her şey yoluna girecek!


Yani bir kavşak sayacı var, işte burada:
 if (r1>hirsi) K= 1 ;
 {
 if ((K== 1 ) && (r1<hirsi))

 { 
  L=(L+ 1 );                         // набираем проходы вниз под hirsi

K= 0 ;
 }
 }
şimdi bir çubuk sayacına ihtiyacınız var, ama nasıl?)) böylece L "2" değerini ancak kesişmeler 30 çubuk içinde gerçekleştiyse elde edebilir.
 

Bunun hakkında düşündüm. Şüphelerimi gidermek için Kim'in işlevine girdim .. ve .. argümanlarım doğrulandı. Bazı nedenlerden dolayı, "Serbest ticaret akışı" kontrolü yalnızca emirleri açarken ve kapatırken gerçekleşir. Ve değiştirirken (SL ve TP'nin ilk kurulumu), takip ederken ve bir pozisyonu başabaş konumuna aktarırken böyle bir kontrol yoktur. Niye ya? Sonuçta, hem orada hem de orada sunucuya bir itiraz var!

Sonuçta, eğer alım satım pozisyonu alınırsa, o zaman, mantıklı olarak, uzman, örneğin, durmaz ve genel olarak pozisyonla hiçbir şey yapmaz. Hiç anlamadığım bir şey...

 
hoz :

Bunun hakkında düşündüm. Şüphelerimi gidermek için Kim'in işlevine girdim .. ve .. argümanlarım doğrulandı. Bazı nedenlerden dolayı, "Serbest ticaret akışı" kontrolü yalnızca emirleri açarken ve kapatırken gerçekleşir. Ve değiştirirken (SL ve TP'nin ilk kurulumu), takip ederken ve bir pozisyonu başabaş konumuna aktarırken böyle bir kontrol yoktur. Niye ya? Sonuçta, hem orada hem de orada sunucuya bir itiraz var!

Sonuçta, eğer alım satım pozisyonu alınırsa, o zaman, mantıklı olarak, uzman, örneğin, duraklar belirlemeyecek ve genel olarak, pozisyonla hiçbir şey yapmayacaktır. Hiç anlamadığım bir şey...


Önemli değil. Bir sonraki onay işaretine ayarla
 
Vinin :

Önemli değil. Bir sonraki onay işaretine ayarla

Peki bu durumda neden açarken veya kapatırken kontrol edelim? Aynı zamanda bir sonraki tikte de belirleyecektir :) Sonuçta, bu bir soyucu için çok büyük bir rol oynayabilir..
 
hoz :

Peki bu durumda neden açarken veya kapatırken kontrol edelim? Aynı zamanda bir sonraki tikte de belirleyecektir :) Sonuçta, bu bir soyucu için çok büyük bir rol oynayabilir..

Yani her şey senin elinde. Nasıl yaparsan öyle olacak. Biri yapar
 

Yine yardıma baktım ve buradaki satırları tekrar okudum:

https://docs.mql4.com/ru/basis/preprosessor/import

Для импорта функций во время выполнения mql4-программы используется так называемое позднее связывание. Это значит, что пока не вызвана импортируемая функция, соответствующий модуль (ex4 или dll) не загружается.

Yani kütüphanenin yüklenmesi için import satırlarından sonra kodda çağrılması gerekiyor değil mi?

Örneğin, bunu kendim için yaptım:

 #import "hoz_Base@Library.ex4"
   double ND( double A);
   double Get_TradePrice( int fi_priceId,       // Цена: 0 - Ask; 1 - Bid
                       string fs_symbol);

1. EA'da kullanacağımız işlevleri EA kodunun en başında beyan ettiğimiz ortaya çıktı?

2. Ve birçoğunu EA'nın kodunda beyan etmemek ve başlık dosyalarını kullanmamak için? Onlar. sadece reklamlar için mi?

Bu soru ortaya çıktı çünkü oldukça ciddi programcılar tarafından yazılmış bu tür uzmanlarla karşılaştım, ANCAK genel olarak başlık dosyalarında tüm ana ve ana olmayan işlevlere sahipler. Bu beni şaşırttı... Sonuçta, derlenmiş kitaplıkların hızı bir büyüklük sırası daha hızlı, ayrıca kitaplık işlevlerinin kodu "yalıtılmış", bu da çok uygun.

 
Günaydın, ilk defa buradayım, bu yüzden kusura bakmayın, bu konuyu görmemiştim ve yeni bir tane oluşturdum, gerçekten profesyonellerden haber almam gerekiyor!

https://www.mql5.com/ru/forum/145453
Neden: