Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 647

 
simpleton :

Genel pozisyonun fiyatının yanı sıra başka hesaplamalara ihtiyacınız varsa, S1 ve S2 değerlerini, değişkenleri referans olarak kendilerine ileterek çağrılan fonksiyona "döndürebilir" ve fonksiyondan hata göstergesini döndürebilirsiniz. Yani çağrılan fonksiyonun prototipi şöyle görünebilir: "bool fun(double &S1, double &S2);". Çağıran fonksiyon değişkenler yaratır, onları fun()'a iletir ve fun() true döndürürse, geçirilen değişkenlerin (kendileri başka isimlere sahip olabilir) değerlerini S1 ve S2 olarak kullanır.

Teşekkür ederim! Seni anladım. OrderSelect'te bir hata olmadıkça, devam dışında nasıl durdurulacağı açık değildir.

Mesajı geç sildi, anlatıldığı gibi hemen hemen aynısını yaptı.

 double CenaUsrednenija( const int type, const int Magic){
double nn= 0 ,bb= 0 ;
 double factb= 0 ;
   int total= OrdersTotal ();

for ( int i=total- 1 ; i>= 0 ; i--)
  {
     if (!( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))) continue ;
     if (OrderSymbol() != Symbol ()) continue ;  

   if ( OrderSelect (i,SELECT_BY_POS))
     {
       if (OrderSymbol()== Symbol ())
        {
         if (OrderType()==type && OrderMagicNumber()==Magic)
           {
             double op=OrderOpenPrice();
             double llot=OrderLots();
             double itog=op*llot;
            bb=bb+itog;
            nn=nn+llot;
            factb= NormalizeDouble (bb/nn, _Digits );
         //  Print("  type= ",type," Цена открытия= ",op, " Лот= ",llot, " itog=op*llot= ",itog, " factb=bb/nn= ",factb);
        
           }
        }
     }
  }   return (factb);  
}  
 

Böyle bir fonksiyon yazamam.

- SATIŞ emri -1000pip zararda ise. , sonra aynı SATIŞ emrini 1000p mesafede açıyoruz. birinciden. -1000p ise, açıyoruz vb.

 
Top2n :

Böyle bir fonksiyon yazamam.

- SATIŞ emri -1000pip zararda ise. , sonra aynı SATIŞ emrini 1000p mesafede açıyoruz. birinciden. -1000p ise, açıyoruz vb.


zorluk neydi? OrderSelect ile gerekli siparişi seçin, örneğin biletle, üzerindeki karı OrderProfit ile karşılaştırın, ardından başka bir Order OrderSend açmak için bir istek gönderin.
 
Top2n :

Böyle bir fonksiyon yazamam.

- SATIŞ emri -1000pip zararda ise. , sonra aynı SATIŞ emrini 1000p mesafede açıyoruz. ilkinden . -1000p ise, açıyoruz vb.


bu koşula göre, ikinci emir , ilkinin açılış fiyatından yaklaşık 1000 puan olan mevcut fiyattan açılmalıdır, bu nedenle hiçbir şey karmaşık değildir - yeni bir pozisyon açmak için basit bir emir.
 
Beyler, biri bana daha iyi kalite için alıntı arşivini nerede bulacağımı söyleyebilir mi?
 
Top2n :
Beyler, biri bana daha iyi kalite için alıntı arşivini nerede bulacağımı söyleyebilir mi?

Tickstory'yi indiriyoruz ve zaten Dukascopy'den keneler indiriyoruz, sonra MT4'e dışa aktarabilirsiniz, ancak bu yalnızca geçicidir, terminal kendi dosyalarının üzerine yeniden yazar. Yani, simülasyonun kalitesi %99,9 olacak şekilde sadece test eden içindir.
 
evillive :

Tickstory'yi indiriyoruz ve zaten Dukascopy'den keneler indiriyoruz, sonra MT4'e dışa aktarabilirsiniz, ancak bu yalnızca geçicidir, terminal kendi dosyalarının üzerine yeniden yazar. Yani, simülasyonun kalitesi %99,9 olacak şekilde sadece test eden içindir.

Evet öyle, çok teşekkür ederim!
 

WindowTimeOnDropped() ile neyin yanlış olduğunu anlayamıyorum. Grafiğe döküldüğünde hiçbir değer yoktur (her zaman = 0). Test etmek için küçük bir kod yazdı.


 //+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters

double xBuffer[];
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,xBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name= "Mouse" ;
   IndicatorShortName(short_name);
   SetIndexLabel( 0 ,short_name);
//----
   return ( 0 );
  }

int start()
  {
   datetime Mouse=WindowTimeOnDropped();
   Alert ( " Mouse= " ,Mouse);
  xBuffer[ 0 ]=Mouse;
   return ( 0 );
  }
 
Meslektaşlarım, bana EA'da onChartEvent(...) olayını nasıl görmezden gelebileceğinizi söyleyin?

Sorun şu ki, EA çalışırken grafiğin zaman periyodunu değiştirirseniz, EA yeniden başlatılır ve yeni bir tane üzerinde işlemler açılır. Buna karşılık, daha önce açılmış olan işlemler "katılımsız" kalır.

Nasıl savaşılır? Grafiği mucizevi bir şekilde yeniden çizmek gerekir, ancak aynı zamanda daha önce başlatılmış bir EA'yı da buna bağlayın.

 
intrade :
Meslektaşlarım, söyleyin bana EA'da onChartEvent(...) olayını nasıl yok sayabilirsiniz?

Sorun şu ki, EA çalışırken grafiğin zaman periyodunu değiştirirseniz, EA yeniden başlatılır ve yeni bir tane üzerinde işlemler açılır. Buna karşılık, bundan önce açılan işlemler "katılımsız" kalır.

Nasıl savaşılır? Grafiği mucizevi bir şekilde yeniden çizmek gerekir, ancak aynı zamanda daha önce başlatılmış bir EA'yı da buna bağlayın.


Kesin ve net açılış koşullarını reçete edin!