Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 405

 
Leanid Aladzyeu :

İşte kod:

 if (OrderStopLoss()>Ask+(TrailingStop+TrailingStep)* Point )

OrderStopLoss() sıfıra eşit olduğunda olası durumu hesaba katmazsınız. Ve her durumda sıfır, Ask+(TrailingStop+TrailingStep)* Point ifadesinden küçük olacak ve koşul false döndürecektir.

 
if ((OrderStopLoss()>Ask+(TrailingStop+TrailingStep)* Point )||OrderStopLoss()== 0 )
Deneyin, işe yarayabilir. Gerçekten koda girmedi.
 

Teşekkürler Vitalii Ananev , Vladimir Zubov !

RSI indikatörüne göre bir danışman yazıyorum, danışmanın prensibi indikatöre göre açılış emirlerine göre olacak, AMA kapanış da indikatöre göre olacak (kapanışların tam olarak ne olduğunu bilmiyorum)

if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )

SiparişKapat(bilet,Parti,Sor,Kayma,Mavi);

dönüş(0);

Bu koşul karşılanmamaktadır. Niye ya? (siparişi açar ve hemen kapatır ve bir döngüde böyle devam eder)

Ve işte asıl soru. EA çok sayıda emirle çalışacak ve piyasadaki tüm emirler için ortalama, yüksek ve düşük fiyatı hesaplamak gerekecek.Toplam kar elde etmek için tüm emirlerin kapanış fiyatları nasıl bulunur ve benzeri diğer operasyonlar?

 
Leanid Aladzyeu :

Yardımda belirtildiği gibi hata veriyor.

Evet!? Ve ne hatası veriyor? Derleyici ne yazar?

 
Leanid Aladzyeu :

Teşekkürler Vitalii Ananev , Vladimir Zubov !

RSI indikatörüne göre bir danışman yazıyorum, danışmanın prensibi indikatöre göre açılış emirlerine göre olacak, AMA kapanış da indikatöre göre olacak (kapanışların tam olarak ne olduğunu bilmiyorum)

if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )

SiparişKapat(bilet,Lot,Sor,Kayma,Mavi);

dönüş(0);

Bu koşul karşılanmamaktadır. Niye ya? (siparişi açar ve hemen kapatır ve bir döngüde böyle devam eder)

Ve işte asıl soru. EA çok sayıda emirle çalışacak ve piyasadaki tüm emirler için ortalama, yüksek ve düşük fiyatı hesaplamak gerekecek.Toplam kar elde etmek için tüm emirlerin kapanış fiyatları nasıl bulunur ve benzeri diğer operasyonlar?

Bir pozisyonun kapanış fiyatı, pozisyon kapatılana kadar bilinemez. Bundan sonra, işlemlerin geçmişinde OrderClosePrice() fonksiyonunun kapanış fiyatını bulmak mümkün olacaktır.

Pozisyonları kapatma koşulu karşılandığı için pozisyonları açar ve hemen kapatır. Pozisyon kapatma koşulunun mantığını kontrol edin. Başlamak için şöyle yazmayı deneyin:

 if (OrderType()==OP_BUY && (irsa <= 20 || irsa >= 40 ))
{
  OrderClose(ticket,Lot,Ask,Slippage,Blue);

 return ( 0 ); 
}

Mantıksal ifadelerin değerlendirilmesinin önceliği hakkındaki yardımı okuyun.

"piyasadaki tüm siparişler için ortalama, yüksek ve düşük fiyatı hesaplamak gerekecek" - Hangi fiyattan bahsettiğimizi anlamadım? Sipariş açılış fiyatı? Bir döviz çiftinin mevcut fiyatı? Tüm açık pozisyonlardaki kümülatif kârın kayıpsız olmayacağı fiyat?

 
Tapochun :

Evet!? Ve nasıl bir hata veriyor? Derleyici ne yazar?

Kusura bakmayın hata yok ama örnekten alınan yöntem bana uymuyor (trolle, hatalar yağıyor)
 
Vitalii Ananev :

Bir pozisyonun kapanış fiyatı, pozisyon kapatılana kadar bilinemez. Bundan sonra, işlemlerin geçmişinde OrderClosePrice() fonksiyonunun kapanış fiyatını bulmak mümkün olacaktır.

Pozisyonları kapatma koşulu karşılandığı için pozisyonları açar ve hemen kapatır. Pozisyon kapatma koşulunun mantığını kontrol edin. Başlamak için şöyle yazmayı deneyin:

Mantıksal ifadelerin değerlendirilmesinin önceliği hakkındaki yardımı okuyun.

Peki, örneğin, bir ızgara ile, orada ortak bir TR veya (ve) toplamına ihtiyacınız var. Fiyat.

Belki fiyatın kaydedileceği bazı tampon(lar) vardır veya göstergenin kendisinde son açık fiyatın saklandığı bir tampon olabilir. siparişler (ve oradan ortak arabelleğimize almak ve kaydetmek mümkün olacaktır)

 
Leanid Aladzyeu :

Peki, örneğin, bir ızgara ile, orada ortak bir TR veya (ve) toplamına ihtiyacınız var. Fiyat.

Belki fiyatın kaydedileceği bazı tampon(lar) vardır veya göstergenin kendisinde son açık fiyatın saklandığı bir tampon olabilir. siparişler (ve oradan ortak arabelleğimize almak ve kaydetmek mümkün olacaktır)

Dili Kovalev'in ders kitabından öğrenmeye başlamanızı öneririm (sitede olmalı). Tabii ki, biraz modası geçmiş, ancak belgelerle birlikte her şey yoluna girecek!
 
Leanid Aladzyeu :

Teşekkürler Vitalii Ananev , Vladimir Zubov !

RSI indikatörüne göre bir danışman yazıyorum, danışmanın prensibi indikatöre göre açılış emirlerine göre olacak, AMA kapanış da indikatöre göre olacak (kapanışların tam olarak ne olduğunu bilmiyorum)

if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )

SiparişKapat(bilet,Parti,Sor,Kayma,Mavi);

dönüş(0);

Bu koşul karşılanmamaktadır. Niye ya? (siparişi açar ve hemen kapatır ve bir döngüde böyle devam eder)

Ve işte asıl soru. EA çok sayıda emirle çalışacak ve piyasadaki tüm emirler için ortalama, yüksek ve düşük fiyatı hesaplamak gerekecek.Toplam kar elde etmek için tüm emirlerin kapanış fiyatları nasıl bulunur ve benzeri diğer operasyonlar?

Temel şeyleri anlamıyorsanız, satın almayı talep üzerine kapatmaya çalışıyorsunuz - belgeleri okuyun

yoksa bilimsel dürtme yöntemine mi alıştınız?

 
Leanid Aladzyeu :

Peki, örneğin, bir ızgara ile, orada ortak bir TR veya (ve) toplamına ihtiyacınız var. Fiyat.

Belki fiyatın kaydedileceği bazı tampon(lar) vardır veya göstergenin kendisinde son açık fiyatın saklandığı bir tampon olabilir. siparişler (ve oradan ortak arabelleğimize almak ve kaydetmek mümkün olacaktır)

Tüm pozisyonların ortalama açılış fiyatını hesaplamanız gerekir. Ve buna dayanarak, tüm pozisyonlar için toplam kârı hesaplayın. Pozisyon açılış fiyatı biliniyor (OrderOpenPrice()). Her şeyi toplayın ve açık pozisyonların sayısına bölün.