[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 1044

 
eddy :
ilgilenmiyorum. bir çizgi çekmek istiyorum..
Şekildeki noktalar. max min mi?
 
hayır, bok
 
pahalı_ :

Bu, optimize edici raporunda olmayan, standart olmayan bir yaklaşım içindir. buraya dosyalayın terminal\tester\files

"En uygun sonuçlar"dan raporu kaydedin. farklı kaydet >>


Şimdi bir şeyi nasıl kurtaracağımı anlıyorum. Optimizasyon sonuçlarını otomatik olarak nasıl kaydedeceğimi söyle. Prensip olarak, yalnızca maksimum düşüş ve kâr önemlidir.
 
001 :

Şimdi bir şeyi nasıl kurtaracağımı anlıyorum. Optimizasyon sonuçlarını otomatik olarak nasıl kaydedeceğimi söyle. Prensip olarak, yalnızca maksimum düşüş ve kâr önemlidir.

Tanımda, OrdersHistoryTotal üzerinden sayarsınız tüm karlı, kârsız, dezavantajlı, kârlı ve dosyaya toplamı ;)

Bunun gibi bir şey

   for (i= 0 ;i<OrdersHistoryTotal();i++)
     if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol()== Symbol ())
     if (OrderProfit()>= 0 )
     profit+=OrderProfit();
     else noprof+=OrderProfit();
   прибыль = profit  -  noprof;



 
eddy :
hayır, bok

Yaklaşık olarak, daha genç dönemde, H4 ind ayarlarında H1 grafiğinde eski olanın vektörünü görüntüleyebilirsiniz.

Ve neden o?!

Dosyalar:
maxvekt.mq4  2 kb
 
costy_ :

Tanımda, OrdersHistoryTotal üzerinden sayarsınız tüm karlı, kârsız, dezavantajlı, kârlı ve dosyaya toplamı ;)

Bunun gibi bir şey




Evet öyle. Ne yazık ki, bu yöntem MT'den farklı veriler veriyor. Optimizasyon sonuçlarını otomatik olarak bir dosyaya kaydetmeniz yeterlidir ve bu kadar...
 
Ben hesabı anlamıyorum. Örnek olarak çizimimi kullanarak açıklayabilir misiniz?
 
costy_ :

Listedeki pozisyon numarasına göre açık ve bekleyen emirler arasında gezinir, ilgilendiğinizi seçer ve biletini çıkarırsınız.

ve biletle çalışmaya devam edin.



Cevap için teşekkürler.

Söyle bana, aynı sırayı zaten seçtiysek neden bunu yapmamız gerekiyor?

Yoksa bir şeyi yanlış mı anlıyorum: BU kod:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
biletbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat(ticketbuy,lotsbuy2,teklif,3,Macenta); }

ve bu:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat(ticketbuy,lotsbuy2,teklif,3,Macenta); }

aynı şeyi yapacaklar mı?

 
Aleksandr_8 :

Cevap için teşekkürler.

Söyle bana, aynı sırayı zaten seçtiysek neden bunu yapmamız gerekiyor?

Yoksa bir şeyi yanlış mı anlıyorum: BU kod:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal() -1 ; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
biletbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES); lotbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat(ticketbuy,lotsbuy2,teklif,3,Macenta); }
}

ve bu:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal() -1 ; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat(ticketbuy,lotsbuy2,teklif,3,Macenta); }
}

aynı şeyi yapacaklar mı?

her iki kod da aynı şeyi yapıyor. kırmızıyla vurgulanan gereksizdir, çünkü sipariş zaten seçilmiştir ve onunla çalışmak için tekrar seçmeniz gerekmez. Bir biletle veya listedeki bir numarayla sipariş seçmenin hiçbir farkı yoktur. Mavi renkle vurgulanan eksik öğeler

 
Aleksandr_8 :

Cevap için teşekkürler.

Söyle bana, aynı sırayı zaten seçtiysek neden bunu yapmamız gerekiyor?

Yoksa bir şeyi yanlış mı anlıyorum: BU kod:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
biletbuy=OrderTicket(); OrderSelect(bilet satın al, SELECT_BY_TICKET, MODE_TRADES); lotbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat( bilet satın al ,lotsbuy2,teklif,3,Macenta); }

ve bu:

string sembol = Symbol(); int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == sembol && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
çift teklif = MarketInfo(sembol,MODE_BID);
Yeniler();
SiparişKapat( bilet satın al ,lotsbuy2,teklif,3,Macenta); }

aynı şeyi yapacaklar mı?

İlk varyantta, ikinci OrderSelect by ticketbuy, muhtemelen ikinci kontrolü kullanır (eğer gecikme chtoli +1 sipariş toplam fişleri tarafından açılırsa ...).

Önceki gönderide doğru bir şekilde bulunan hatalar (yeşil hariç).

İkinci bilet satın alma belirtilmemiştir. tanımlamanız gerekiyor

 string symbol = Symbol (); int cnt;
for (cnt = OrdersTotal (); cnt >= 0 ; cnt--){
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
ticketbuy=OrderTicket();
RefreshRates();
OrderClose( ticketbuy ,lotsbuy2,bid, 3 , Magenta ); }