MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 967

 
Bir sabit sürücü kaç test döngüsüne dayanabilir? Demek istediğim, ne kadar hızlı ölüyor? Böyle durumlar var mıydı?
 
macleta :

Merhaba. Kar =0 olduğunda çok yönlü pozisyonları kapatmak istiyorum Farklı sayıda alış, satış pozisyonu, farklı lot hacimleri.

Ortalama fiyat, yani sıfır kâr noktası için arama fonksiyonunda yanlış olan nedir?

 double AveroProf( string sy= "" , int op=- 1 , int mn1=- 1 ) 
   {
 

   double Buylots= 0 ;
   double Buysum= 0 ;
   double Selllots=0;
   double Sellsum=0;
 
   double zeroprice= 0 ;
 
   for (int i= 0 ; i< OrdersTotal (); i++)
   {
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if (OrderSymbol()!= Symbol ()) continue ;
       if (OrderMagicNumber()!=mn1) continue ;
       if (OrderType()==OP_BUY)
      {
       Buylots+=OrderLots();
       Buysum+=OrderLots()*OrderOpenPrice();
      }
       if (OrderType()==OP_SELL)
      {
       Selllots+=OrderLots();
       Sellsum+=OrderLots()*OrderOpenPrice();
      }
   
   }
   if ((Buylots-Selllots)> 0 )
   zeroprice= NormalizeDouble ((Buysum - Sellsum)/(Buylots - Selllots), _Digits );

   return ( zeroprice);
   }
 
Vladimir Pastushak :

bence bu kod sadece zıt yönlerde 2 sipariş için çalışıyor

birden fazla Alış ve Satış emri varsa ve hepsi farklı açılış fiyatlarına sahipse, bu işe yaramaz gibi görünüyor - emrin kârını ve para birimi cinsinden bir noktanın maliyetini hesaba katmanız gerekir.

eldeki şeye baktım, hiçbir şey bulamadım, ama kesinlikle böyle bir kodu kontrol ettiğimi biliyorum.

KB'de çok yönlü siparişlerin seviyelerini doğru bir şekilde hesaplayan bir gösterge var gibi görünüyor - geçen yıl araştırdım ve buldum

 
macleta :

Merhaba. Kar =0 olduğunda çok yönlü pozisyonları kapatmak istiyorum Farklı sayıda alış, satış pozisyonu, farklı lot hacimleri.

Ortalama fiyat, yani sıfır kâr noktası için arama fonksiyonunda yanlış olan nedir?

Durdurmak istiyorsanız, bunu çok yönlü konumlarda reddetmek daha iyidir. Sıkı bir yayılma olmasına rağmen, elbette normal çalışabilir. Ancak bu tür DC'lerin bile yayılmanın sıçradığı bir anı vardır. Bu nedenle, en iyi seçenek, karı hesaplamak ve 0'dan biraz fazla olduğu anda (kimse kaymayı iptal etmedi) , pozisyonları kapatın . Yani, piyasanın mevcut anından çalışmak.
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Igor Makanu :

bence bu kod sadece zıt yönlerde 2 sipariş için çalışıyor

birden fazla Alış ve Satış emri varsa ve hepsi farklı açılış fiyatlarına sahipse, bu işe yaramaz gibi görünüyor - emrin kârını ve para birimi cinsinden bir noktanın maliyetini hesaba katmanız gerekir.

eldeki şeye baktım, hiçbir şey bulamadım, ama kesinlikle böyle bir kodu kontrol ettiğimi biliyorum.

KB'de çok yönlü siparişlerin seviyelerini doğru bir şekilde hesaplayan bir gösterge var gibi görünüyor - geçen yıl araştırdım ve buldum

Bu yüzden kötü kontrol ettiler ... Bu klasik bir %100 hesaplama 0

 
Vladimir Pastushak :

Bu yüzden kötü kontrol ettiler ... Bu klasik bir %100 hesaplama 0

Pekala, peki, tartışmayacağım bile, ölümlü dünyaya geri dönmeyeceğim, grafikte yukarıdan aşağıya ayarlarsanız, başabaş düzeyinizin nerede olacağını kontrol etmeye çalışın:

1. al - al - al - sat - sat - sat

2. al - sat - sat - sat - al - al

işte doğru hesaplama https://www.mql5.com/en/code/10007 sürüm 2'de bu hesaplamayı kullanmanız gerekiyor

       if (BuyLots> 0 ) BuyPrice = Bid - ((BuyProfit + SellProfit - MyProfit) / (TickValue * BuyLots) * Point ); //уровень безубытка для всех BUY ордеров
       if (SellLots> 0 ) SellPrice = Ask + ((SellProfit + BuyProfit - MyProfit) / (TickValue * SellLots) * Point ); //уровень безубытка для всех SELL ордеров


klasik hesaplamanızı daha iyi kontrol edin

 
Alıntılar test/geçmiş klasöründe saklanıyor mu?
 

Merhaba, basit bir görevle bir acemi yardım edin. Ayrı bir penceredeki gösterge 0.123456 1.123456 kesirli sayıları gösteriyor ve benim 123 1123 gibi tam sayılara ihtiyacım var

Söyle bana kim çok tembel değil, bunu nasıl düzeltebilirim?

 
potom :

Merhaba, basit bir görevle bir acemi yardım edin. Ayrı bir penceredeki gösterge 0.123456 1.123456 kesirli sayıları gösteriyor ve benim 123 1123 gibi tam sayılara ihtiyacım var

Söyle bana kim çok tembel değil, bunu nasıl düzeltebilirim?

 int value = ( int ) 0.12456789 * 1000000 ;

aklıma gelen en basit şey

 
Konstantin Nikitin :
Durdurmak istiyorsanız, bunu çok yönlü konumlarda reddetmek daha iyidir. Sıkı bir yayılma olmasına rağmen, elbette normal çalışabilir. Ancak bu tür DC'lerin bile yayılmanın sıçradığı bir anı vardır. Bu nedenle, en iyi seçenek, karı hesaplamak ve 0'dan biraz fazla olduğu anda (kimse kaymayı iptal etmedi) , pozisyonları kapatın . Yani, piyasanın mevcut anından çalışmak.

Piramitleştirmeyi deniyorum, trend boyunca azaltılmış bir lotla artırın, ancak açık zıt olanlarla.

Yardımcı olan herkese teşekkürler.