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

 
zfs :
Ayrıca CharToStr'a ihtiyacınız var, aksi takdirde kopyalanmaz. Teşekkür ederim.

Gerek yok. Muhtemelen farklı şeylerden bahsediyoruz.
 

Hisse senedi bakiyeyi belirli bir yüzdeyle istenen yüzdeye aştığında, emirleri kapatma işlevini nasıl daha iyi yapacağımı söyle.

Örneğin, izin verilen maksimum öz sermaye = bakiyenin %110'u, şu anda özkaynak %115 ise, o zaman bazı lotları kapatın (farklı lotlara sahip birkaç sipariş olabilir), böylece özkaynak bakiyenin %110'u olur .

 
Skydiver :

Hisse senedi bakiyeyi belirli bir yüzdeyle istenen yüzdeye aştığında, emirleri kapatma işlevini nasıl daha iyi yapacağımı söyle.

Örneğin, izin verilen maksimum öz sermaye = bakiyenin %110'u, şu anda özkaynak %115 ise, o zaman bazı lotları kapatın (farklı lotlara sahip birkaç sipariş olabilir), böylece özkaynak bakiyenin %110'u olur .


Algoritmanın farklı uygulamalarıyla çeşitli işlevler yaparsınız. Çalışma saatlerini karşılaştırın. Doğru çalışacaklardan, minimum süre çalışacak olanı seçin - bu "daha iyi". Yani, karmaşık bir şey yok. ;))))))))
 

SetLevelValue ve SetLevelStyle fonksiyonlarını kullanarak göstergede seviyeleri ayarlamak ve stilleri ayarlamak mümkündür, ancak açıklamalarına nasıl ulaşacağımı anlamadım. Karşılaşıp bilgisi olan var mı?

 
Desead :

SetLevelValue ve SetLevelStyle fonksiyonlarını kullanarak göstergede seviyeleri ayarlamak ve stilleri ayarlamak mümkündür, ancak açıklamalarına nasıl ulaşacağımı anlamadım. Karşılaşıp bilgisi olan var mı?


Dokümantasyondan bahsediyorsak, MetEditor'da kelimeyi seçin ve F1'e basın. Veya çevrimiçi, örneğin:
https://docs.mql4.com/en/customind/SetLevelStyle
 

Tünaydın. lütfen bana doğru yerde kontrol etmek için programa ihtiyacınız olduğunu söyleyin, zaten bir sipariş var mı yok mu

değilse koy

 

Tünaydın!

Lütfen bana söyle. Açık bir piyasa emriyle, şu işlevi kullanarak açılış fiyatını değiştirebilirsiniz:

 bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color= CLR_NONE ) 

Soru şu ki, bu neden gerekli? Böylece daha sonra OrderProfit() işlevi orijinal açılış fiyatından farklı sonuçlar verecek mi? Yoksa bu fırsat başka bir şey için mi?

(Bu arada OrderProfit() tam olarak açılış fiyatından mı hesaplıyor yoksa sunucudan istenen bilgi nerede bir şekilde farklı hesaplanıyor? Belgelerde bununla ilgili bir şey yazmıyor.)

 
sannin :

Tünaydın. lütfen bana doğru yerde kontrol etmek için programa ihtiyacınız olduğunu söyleyin, zaten bir sipariş var mı yok mu

değilse koy

Doğru yerde - hangisi?
 
yan720 :

Tünaydın!

Lütfen bana söyle. Açık bir piyasa emriyle, şu işlevi kullanarak açılış fiyatını değiştirebilirsiniz:

Soru şu ki, bu neden gerekli? Böylece daha sonra OrderProfit() işlevi orijinal açılış fiyatından farklı sonuçlar verecek mi? Yoksa bu fırsat başka bir şey için mi?

(Bu arada OrderProfit() tam olarak açılış fiyatından mı hesaplıyor yoksa sunucudan istenen bilgi nerede bir şekilde farklı hesaplanıyor? Belgelerde bununla ilgili bir şey yazmıyor.)

Yalnızca bekleyen bir siparişin fiyatını değiştirebilirsiniz. Bir piyasa pozisyonunun açılış fiyatı değiştirilemez. 20'ye bir ekmek aldıktan sonra eve gelip satın alma fiyatını 5 ruble olarak değiştirmek ve sonra cüzdandaki 15 ruble'deki farkı görmek garip olurdu... Harika...;)

Bir piyasa pozisyonu için stop emirlerinin fiyatlarını değiştirebilirsiniz: StopLoss ve TakeProfit.

OrderProfit(), mevduat para biriminde pozisyon karını/zararını döndürür. Doğal olarak, hesaplama açılış fiyatına dayanmaktadır.

 
artmedia70 :

Yalnızca bekleyen bir emrin fiyatı değiştirilebilir. Bir piyasa pozisyonunun açılış fiyatı değiştirilemez. 20'ye bir ekmek aldıktan sonra eve gelip satın alma fiyatını 5 ruble olarak değiştirmek ve sonra cüzdandaki 15 ruble'deki farkı görmek garip olurdu... Harika...;)

Bir piyasa pozisyonu için stop emirlerinin fiyatlarını değiştirebilirsiniz: StopLoss ve TakeProfit.


Cevap için teşekkürler. Böyle bir sorunun ortaya çıkmasına bile şaşırdım. Yine de, belki de gördüklerimi ve soruya neyin sebep olduğunu yanlış anladım.

Şimdi, belirli algoritmaların hangi yollarla (benimkinden farklı ve belki daha verimli) uygulandığını görmek için başka birinin koduna bakıyorum. Şimdi kötü şöhretli Ilan 1.6 EA'ya bakıyorum (ekli). Farklı parçalardan bir araya getirildiği ve daha sonra yeniden birleştirildiği görülebilir. Ancak burada, 337 satırında, özel bir takip eden durdurma işlevi bildirilir (her ne kadar kullanımı için bayrak en başta sıfıra zorlanmış olsa da). Bu işlev 52. satırda çağrılır.

Sorum, yukarıda bahsedilen takip eden durdurmanın açık emirleri (ve birkaç tane olabilir) zararı durdurarak, orijinal kar almalarını koruyarak değiştirmesi, ANCAK bu emirleri açılış fiyatı (OrderModify işlevinin ikinci parametresi) aynı değer (AveragePrice) olarak ayarlaması nedeniyle ortaya çıktı. , 173 ve 178 satırlarında hesaplanmıştır).

Veya bir açık emri değiştirirken, bu parametre (açık fiyat) sunucu tarafından basitçe dikkate alınmaz ve herhangi bir fiyat ayarlanabilir mi?

Dosyalar:
ilan1.6.mq4  20 kb
Neden: