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

 
abolk :

linkte https://www.mql5.com/en/code benzer depo

kocaman bir bölüme bağlantı verdin)))

eğlenceli

 

Tünaydın!

Yardım istiyorum, zaten öldürüldüm, aklıma getiremiyorum !!! +20 p.'ye ulaşıldığında, emrin SL'sinin açılış fiyatına yeniden düzenlenmesine ihtiyacım var, yani fonksiyon 77 döndürür

 for (i=( OrdersTotal ()- 1 ); i>= 0 ; i--) // перебор ордеров 
         { 
       if (! OrderSelect (i, SELECT_BY_POS))
      {
         continue ;
      }

       if (OrderSymbol()!=Instr||OrderMagicNumber()!=MN)
           continue ;
       if (OrderStopLoss()==OrderOpenPrice())
             break ;    
       if (   OrderProfit()>=(MarketInfo( Symbol (),MODE_TICKVALUE)*Bezub)        ) 
   return ( 77 );
                  
           }
   

işe alamıyorum

 
demlin :

+20 p.'ye ulaşıldığında, emrin SL'sinin açılış fiyatına yeniden düzenlenmesine ihtiyacım var, yani fonksiyon 77 döndürür

20 p bu şekilde hesaplanmaz, OrderOpenPrice() işlevini kullanmanız ve mevcut fiyatla karşılaştırmanız gerekir, görünüşe göre sipariş pozitif veya sıfır kâra ulaştığında sonucu 77 döndürmek istiyorsunuz, sonra şöyle bir şey:

 for (i=( OrdersTotal ()- 1 ); i>= 0 ; i--) // перебор ордеров 
         { 
             if (! OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)) continue ;
             if (OrderSymbol()!=Instr||OrderMagicNumber()!=MN)   continue ;
             if (OrderStopLoss()==OrderOpenPrice()) break ;    
             if ( OrderProfit()>= 0 )) return ( 77 );
           }
OrderProfit() işlevi, sipariş karını pp'de değil, mevduat para biriminde döndürür
 
Lütfen bana danışmandaki gösterge verilerini (bunu yapmanıza izin verenlerden) başka bir göstergeden almanın mümkün olup olmadığını söyleyin. Böyle bir fırsatın fiyat türlerinde bulamadığım bir şey.
 
IgorM :

20 p bu şekilde hesaplanmaz, OrderOpenPrice() işlevini kullanmanız ve mevcut fiyatla karşılaştırmanız gerekir, görünüşe göre sipariş pozitif veya sıfır kâra ulaştığında sonucu 77 döndürmek istiyorsunuz, sonra şöyle bir şey:

OrderProfit() işlevi, sipariş karını pp olarak değil, mevduat para biriminde döndürür

Ben de öyle düşündüm, 20 sts hesaplamıyorum, Bezub değişkeninde ayarlanmışlar. Mevduat para birimindeki (OrderProfit()) bir siparişin mevcut karını ve mevduat para birimindeki gerekli 20p seviyesini karşılaştırmaya çalışıyorum ( (MarketInfo( Symbol (),MODE_TICKVALUE)*Bezub)
 
demlin :
Ben de öyle düşündüm, 20 sts hesaplamıyorum, Bezub değişkeninde ayarlanmışlar. Mevduat para birimindeki (OrderProfit()) bir siparişin mevcut karını ve mevduat para birimindeki gerekli 20p seviyesini karşılaştırmaya çalışıyorum ( (MarketInfo( Symbol (),MODE_TICKVALUE)*Bezub)

o zaman mevcut fiyatı ve siparişin verildiği andan itibaren fiyatın kaç puan geçtiğini hesaba katmayı unuttunuz:

(OrderOpenPrice() -Teklif)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub

ZZZEROXXX :
Lütfen bana danışmandaki gösterge verilerini (bunu yapmanıza izin verenlerden) başka bir göstergeden almanın mümkün olup olmadığını söyleyin. Böyle bir fırsatın fiyat türlerinde bulamadığım bir şey.

iCustom()

https://book.mql4.com/en/samples/shared
 
IgorM :

o zaman mevcut fiyatı ve siparişin verildiği andan itibaren fiyatın kaç puan geçtiğini hesaba katmayı unuttunuz:

(OrderOpenPrice() -Teklif)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub


Planınızı denedim. Uyarı, (OrderOpenPrice() -Bid)*MarketInfo( Symbol() ,MODE_TICKVALUE)*Bezub ifadesi için -0.033 döndürür. Kârda 21 p olmasına rağmen! Bu iyi??
 
demlin :
Planınızı denedim. Uyarı, (OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub ifadesi için -0.033 döndürür. Kârda 21 p olmasına rağmen! Bu iyi??

pardon kontrol etmeden yazıyorum, burada yanlış önerdim, şöyle bir şey işe yaramalı:

Satış:(OrderOpenPrice()-Bid)*MarketInfo( Symbol() ,MODE_TICKVALUE)*lot/Puan

Satın Al: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*lot/Puan

 
IgorM :

pardon kontrol etmeden yazıyorum, burada yanlış önerdim, şöyle bir şey işe yaramalı:

Satış:(OrderOpenPrice()-Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*lot/Puan

Satın Al: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*lot/Puan

Bu da henüz güzel rakamlar vermiyor. Bunun formülü olduğunu düşünmüyorum. (MarketInfo( Symbol (),MODE_TICKVALUE)*Bezub) ifadesi tek başına Eurodollar için prensipte 20 verir. for döngüsünde bir yerde
 
IgorM :

pardon kontrol etmeden yazıyorum, burada yanlış önerdim, şöyle bir şey işe yaramalı:

Satış:(OrderOpenPrice()-Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*lot/Puan

Satın Al: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*lot/Puan

Bu da henüz güzel rakamlar vermiyor. Bunun formülü olduğunu düşünmüyorum. (MarketInfo( Symbol (),MODE_TICKVALUE)*Bezub) ifadesi tek başına Eurodollar için prensipte 20 verir. for döngüsünde bir yerde