[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 249

 
artmedia70 :
Sorma, sadece test cihazını kontrol et... :)
Derlemeden sonra Expert Advisor, değişikliklerden öncekiyle aynı şekilde çalışır. Onlar. bir çizgi çizer.
 
globad :
uzman bir çizgi çizer.
kodda "çizilmemişse 1. çizgiyi çiz, çizilmemişse 2. çizgiyi çiz" yazıyorsa - çizilemezler ama çizilirler :)
 
eddy : artmedia70 :
eğer kod "çizilmemişse 1. çizgiyi çiz; çizilmemişse 2. çizgiyi çiz" diyorsa - çizilemezler ama çizilirler :)
Bütün çocuklar, anladı! İşler!
 

Bana test raporundaki tüm yüzdelerin neden 0 olduğunu söyle. Onlar. bağıl düşüş, maksimum düşüş, vb.?

 
artmedia70 :

Örneğin, bunun gibi:

Şu şekilde arayın:

Dakikaları kendiniz saatlere çevirin umarım... :)





Dediğiniz gibi yazmaya çalıştım, saban bir şey ... hala bir öncekini kapatırken pozisyonlar açıyor ... ((

belki ne demek istediğimi anlamadın, bir öncekinin kapanmasından en geç 1 saat sonra bir anlaşma açtığını söylemen gerek... kapanırken bir sonraki açılır

 if (SecondsAfterOpenLastPos( NULL , OP_SELL, MAGIC)>=( Period ()*Interval)* 60 ) {
        OpenSell();  
           } 
 
yardım beyler: Bir önceki kapatıldıktan sonra belirli bir süre geçmişse işlemin açılması için gereklidir .... yardım
 
Vovo4ka :
yardım beyler: Bir önceki kapatıldıktan sonra belirli bir süre geçmişse işlemin açılması için gereklidir .... yardım


(int i=0; i<SiparişlerToplam(); i++) için
{ if ( OrderSelect (i, SELECT_BY_POS)==true)
{
TC = ZamanAkımı();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SEL)){
CLOSEORDER("Sat");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("satın al");
}
}
}

OrderMagicNumber()'da bir emir açılırken şöyle yazılır: Magic = TimeCurrent();

 
ILL :


(int i=0; i<SiparişToplam(); i++) için
{ if (OrderSelect(i, SELECT_BY_POS)==true)
{
TC = ZamanAkımı();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SEL)){
CLOSEORDER("Sat");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("satın al");
}
}
}

OrderMagicNumber()'da bir emir açılırken şöyle yazılır: Magic = TimeCurrent();


Unuttum=) 86400, pozisyonun kapanmasından sonraki saniye sayısıdır.
 
ILL :

Test raporundaki tüm yüzdelerin neden 0 olduğunu söyle. Onlar. bağıl düşüş, maksimum düşüş, vb.?


Anladım - depo çok büyüktü)
 
Vovo4ka :


Dediğiniz gibi yazmaya çalıştım, saban bir şey ... hala bir öncekini kapatırken pozisyonlar açıyor ... ((

belki ne demek istediğimi anlamadın, bir öncekinin kapanmasından en geç 1 saat sonra bir anlaşma açtığını söylemen gerek... kapanırken bir sonraki açılır

Peki ya fonksiyon kodu? Dört fark bulun :) :

 //+----------------------------------------------------------------------------+
datetime SecondsAfterCloseLastPos( string sy, int op, int mn) 
{
   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)         continue ;
         if (OrderType()!=op)           continue ; 
         if (OrderMagicNumber()!=mn)   continue ; 
         if (t<OrderCloseTime()) t=OrderCloseTime();
         }
      }
   return ( TimeCurrent ()-t);
}
//+----------------------------------------------------------------------------+
Neden: