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

 
xant :

Lütfen dosyaya nasıl yazılacağını bildiriniz.

Expert Advisor, çalışma sırasında değerleri bellekte saklanan 4 değişkenin değerini hesaplar ve terminal aşırı yüklenmemişse her şey yolunda demektir. Ancak terminali yeniden başlattıktan sonra bu değerleri kaybeder ve ilk çalıştırmada hepsi tekrar ==0 olur.

İlk çalıştırmada değerleri dosyadan okuyacak şekilde yapmak gerekir, daha sonra çalışma sırasında değişirlerse tekrar yeni değerleri dosyaya yazar. Ayrıca, benzersiz bir adla bir dosya oluşturması gerekir, bir döviz çiftinden türetilebilir, çünkü terminalde birkaç danışman vardır ve böylece kayıtlar birbirine karışmaz.

Danışman bana şu anda müsait olmayan bir kişi tarafından yapıldı ve soru önemli, çünkü gerçek para kaybedilebilir. Biri bana bunları bir dosyaya nasıl yazacağımı hemen yazarsa, bu değişkenlerin hesaplandığı bir kod parçası verebilirim.


Global terminal değişkenlerini kullanın GlobalVariable Terminal yeniden başlatmaları boyunca değerlerini korurlar.

Nasıl kullanılacağını daha ayrıntılı olarak yazın?
 
i999i :

Cevabınız için teşekkürler, ancak bir sonraki fraktal görünmeden önce mevcut fraktalın bozulup bozulmadığını nasıl öğreneceğimi kastetmiştim.

Bir sonraki fraktal aynı yönde göründüğünde önceki fraktal kırılmayabilir. Williams'ı tekrar okuyun. Fraktallarla çalışmanın farklı yollarını detaylandırır.
 
rigonich :

Bir sonraki fraktal aynı yönde göründüğünde önceki fraktal kırılmayabilir. Williams'ı tekrar okuyun. Fraktallarla çalışmanın farklı yollarını detaylandırır.

yine de, fiyatın ortaya çıktığı andan şimdiki zamana kadar fraktal değerden daha yüksek olup olmadığını nasıl belirleyeceğimi bilmek istiyorum.
 
i999i :

yine de, fiyatın ortaya çıktığı andan şimdiki zamana kadar fraktal değerden daha yüksek olup olmadığını nasıl belirleyeceğimi bilmek istiyorum.

int iEn yüksek ( dize sembolü, int zaman çerçevesi, int türü, int sayısı=WHOLE_ARRAY, int başlangıç=0)
Bulunan en yüksek değerin dizinini döndürür (geçerli çubuğa göre ofset).
Seçenekler:
semboller - Verileri aranacak enstrümanın sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman aralığı - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
tip - Zaman dizisi kimliği. Zaman serisi tanımlayıcı değerlerinden herhangi biri olabilir.
saymak - Arasında aramanın yapılması gereken zaman serisi öğelerinin sayısı (geçerli çubuktan dizinin yukarısına doğru).
Başlat - En yüksek değer aramasının başladığı ilk çubuğun indeksi (geçerli çubuğa göre ofset). Negatif değerler yok sayılır ve boş bir değerle değiştirilir.
 

Ve tekrar herkese merhaba.

Bir önceki anlaşmanın bitiminden sonra yeni bir anlaşma açmadan önce Expert Advisor'da zaman gecikmesi nasıl yapılır.

onlar. işlem t/p sona erdi ve bundan sonra örneğin 15 dakika beklemem gerekiyor ve ancak bundan sonra formül çalışmaya devam edecek :)

naril

SiparişKapatZamanı ( )
ama bunu programın zamanıyla nasıl bağlayacağınız ve böylece tarih danışmanının çalışmasıyla herhangi bir çelişki olmaması. Şimdiden teşekkürler
 
Tragedy :

Ve tekrar herkese merhaba.

Bir önceki anlaşmanın bitiminden sonra yeni bir anlaşma açmadan önce Expert Advisor'da zaman gecikmesi nasıl yapılır.

onlar. işlem t/p sona erdi ve bundan sonra örneğin 15 dakika beklemem gerekiyor ve ancak bundan sonra formül çalışmaya devam edecek :)

naril

SiparişKapatZamanı ( )
ama bunu programın zamanıyla nasıl bağlayacağınız ve böylece tarih danışmanının çalışmasıyla herhangi bir çelişki olmaması. Şimdiden teşekkürler


https://www.mql5.com/ru/forum/131859

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество секунд после открытия последней позиций. |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t;
   int       i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
   return ( TimeCurrent ()-t);
}
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество секунд после закрытия последней позиций. |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
datetime SecondsAfterCloseLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t;
   int       i, k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (t<OrderCloseTime()) t=OrderCloseTime();
            }
          }
        }
      }
    }
  }
   return ( TimeCurrent ()-t);
}
 
acil :) teşekkürler
 
rigonich :

int iEn yüksek ( dize sembolü, int zaman çerçevesi, int türü, int sayısı=WHOLE_ARRAY, int başlangıç=0)
Bulunan en yüksek değerin dizinini döndürür (geçerli çubuğa göre ofset).
Seçenekler:
rigonic :

int iEn yüksek ( dize sembolü, int zaman çerçevesi, int türü, int sayısı=WHOLE_ARRAY, int başlangıç=0)
Bulunan en yüksek değerin dizinini döndürür (geçerli çubuğa göre ofset).
Seçenekler:
semboller - Verileri aranacak enstrümanın sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman aralığı - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
tip - Zaman dizisi kimliği. Zaman serisi tanımlayıcı değerlerinden herhangi biri olabilir.
saymak - Arasında aramanın yapılması gereken zaman serisi öğelerinin sayısı (geçerli çubuktan dizinin yukarısına doğru).
Başlat - En yüksek değer aramasının başladığı ilk çubuğun indeksi (geçerli çubuğa göre ofset). Negatif değerler yok sayılır ve boş bir değerle değiştirilir.
Burada soru, fraktalın üzerinde göründüğü çubuktan önce ne aranacağının nasıl belirleneceği ve eğer süre bir dakikadan azsa ..... o zaman nasıl olacak?
 

rigonik ,

harika olurdu. Global değişkenlerle ilgili eğiticiye baktım, ihtiyacım olanın bu olduğunu anladım, ancak nüansları anlamadım. Bunları nerede beyan edeceğimiz, içlerinde gerekli değerleri nasıl yazacağınız vb.

Örneğin, terminalde 5 farklı çift üzerinde 5 Uzman Danışman varsa, her Uzman Danışmanın yazılması gereken 4 değişkeni varsa, o zaman 20 global değişkene ihtiyacınız vardır ve bunların bir şekilde Symbol() komutu kullanılarak adlandırılması gerekir. Uzman Danışmana her isim yazılmaması için.

Genel olarak, bu henüz beynim için değil ((

 
i999i :



Son fraktalın kurulduğu çubuğun açılış saatini hatırlayın, bu çubuğun numarasını bulmak için kullanın.   süre bir dakikadan az ise..... ...., nasıl? Grafiğin periyodu ise, o zaman sadece bir dakikadan az değildir.