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

 

evet atztek , açıklamadaki yanlışlık için özür dilerim:

1. çünkü MA ile kesişmeden önce bunlar al-stop emirleriydi ve Ur1 Ur2 Ur3 ancak fiyat MA ile kesiştikten sonra bulunur.

2. ve buna göre yukarıda bahsedilen for-loop tüm satınalma emirleri arasında arama yapar (çünkü 3 tane daha sat-durdur emri vardır ve her mumda farklı bir MA boyunca ilerlerler)

 
vadimvborisov :


evet atztek , açıklamadaki yanlışlık için özür dilerim:

1. çünkü MA ile kesişmeden önce bunlar al-stop emirleriydi ve Ur1 Ur2 Ur3 ancak fiyat MA ile kesiştikten sonra bulunur.

2. ve buna göre yukarıda bahsedilen for-loop tüm satınalma emirleri arasında arama yapar (çünkü 3 tane daha sat-durdur emri vardır ve her mumda farklı bir MA boyunca ilerlerler)

1. Dedin ki:
Советник открывает (на основании пересечения с MA ) несколько ( 3 ) рыночных ордеров

Stop emirleri, fiyatla kesiştiği anda piyasa emirleri haline gelir, MA'nın bununla hiçbir ilgisi yoktur.
Danışmanınızın nasıl çalışacağına karar vermek size kalmış.

2. -'nin amacı nedir?
 bool mod_Buy1 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur1, 0 , clrNONE );
 bool mod_Buy2 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur2, 0 , clrNONE );
 bool mod_Buy3 = OrderModify (OrderTicket(???),OrderOpenPrice (), NULL ,Ur3, 0 , clrNONE );

Onlar. "for" içindeki her döngü için, üçünün hepsini aynı anda değil, bir sıra görürsünüz.
 

atztek , 1. İlk mesajımı zaten düzelttim.

2. Purpose bool mod_Buy1 = Emri değiştir ( OrderTicket(numaralandırılanlardan ilk SATIN AL), Açık Fiyatı değiştirmiyoruz, Zarar Durdur'u değiştirmiyoruz , TakeProvit'i Ur1, 0 , clrNONE'dan alıyoruz ;

Yani, "için" içindeki her döngü için bir sıra görürsünüz ve üçünü de aynı anda görmezsiniz."

Bütün mesele bu, bu 3 siparişi biletlerle nasıl geçeceğimi ve her biri için uygun TakeProfit seviyelerini nasıl ayarlayacağımı çözemiyorum ( Ur1 Ur2 Ur3 ).

 
vadimvborisov :

atztek , 1. İlk mesajımı zaten düzelttim.

2. Purpose bool mod_Buy1 = Emri değiştir ( OrderTicket(numaralandırılanlardan ilk SATIN AL), Açık Fiyatı değiştirmiyoruz, Zarar Durdur'u değiştirmiyoruz , TakeProvit'i Ur1, 0 , clrNONE'dan alıyoruz ;

Yani, "için" içindeki her döngü için bir sıra görürsünüz ve üçünü aynı anda göremezsiniz."

Bütün mesele bu, bu 3 siparişi biletlerle nasıl geçeceğimi ve her biri için uygun TakeProfit seviyelerini nasıl ayarlayacağımı çözemiyorum ( Ur1 Ur2 Ur3 ).


1. Ya ben seni anlamıyorum ya da sen ne yapmak istediğini (ya da nasıl çalıştığını) bilmiyorsun.
Düzeltmeden sonra bile, durdurma emirleriniz olduğunu söylüyorsunuz ve ardından "MA ile geçtikten sonra" bunlar piyasa emirleri haline geldi.
- Ya hemen piyasa emirleri açarsınız (örneğin, "MA ile geçtikten sonra") veya fiyat onları geçtiğinde otomatik olarak piyasa emirleri haline gelecek olan açık durdurma emirleri.

2. Görüyorum ki bu bir düzeltme meselesi değil, danışmanınızın mantığı
(birçok soru ortaya çıkıyor, örneğin, şu anda başka açık emirleriniz var mı, neden pozisyonları değil de bilete göre emirleri seçiyorsunuz, vb.)
Aynı anda 3 siparişle başlamayın, tek bir siparişle basit bir örnekle başlayın ve EA'nın hatasız çalışmasını sağlayın. Ardından 3 sipariş ekleyerek karmaşıklaştırın.
 

1) evet, bu doğru - " fiyat onları geçtiği anda otomatik olarak piyasa emirleri haline gelecek olan açık stop emirleri. "

2) Limitin piyasa emirlerine dönüştüğü anda başka (piyasa) emir yoktur, sadece limit emir vardır. Belki de bilete göre değil, pozisyona göre seçebilirsiniz - umurumda değil. İyi. Durumu iki emirle ele alalım. çünkü biriyle kendim çözeceğim ....

 
vadimvborisov :

1) evet, bu doğru - " fiyat onları geçtiği anda otomatik olarak piyasa emirleri haline gelecek olan açık stop emirleri. "

2) Limitin piyasa emirlerine dönüştüğü anda başka (piyasa) emir yoktur, sadece limit emir vardır. Belki de bilete göre değil, pozisyona göre seçebilirsiniz - umurumda değil. İyi. Durumu iki emirle ele alalım. çünkü biriyle kendim çözeceğim ....

Zaten sınırlar var mıydı?
Tamam, başlayalım. Birini anladığınızda, gerisi netleşecektir.
 
vadimvborisov :

1) evet, bu doğru - " fiyat onları geçtiği anda otomatik olarak piyasa emirleri haline gelecek olan açık stop emirleri. "

2) Limitin piyasa emirlerine dönüştüğü anda başka (piyasa) emir yoktur, sadece limit emir vardır. Belki de bilete göre değil, pozisyona göre seçebilirsiniz - umurumda değil. İyi. Durumu iki emirle ele alalım. çünkü biriyle kendim çözeceğim ....

Bu tam olarak ihtiyaç duyulan şeydir.

 int i, total = OrdersTotal ();
for (i = 0 ; i < total; i++)
{
 if ( OrderSelect (i, SELECT_BY_POS) && OrderType() == OP_BUY)
  {
   bool mod_Buy1 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных )
  }
}
 

1. Üzgünüm, bir hata yaptım, emirleri durdur demek istedim.

2. her şey 1 ile çalışır. ve iki veya daha fazla ele alınamaz ....

 

Merhaba, Alexey Vik

bool mod_Buy1 = Siparişi değiştir ( OrderTicket (numaralandırılan i-th BUY)

peki ya diğer ikisi? Ayrıca?

 ////////////////////////////
 int i, total = OrdersTotal ();
for (i = 0 ; i < total; i++)
{
 if ( OrderSelect (i, SELECT_BY_POS) && OrderType() == OP_BUY)
  {
   bool mod_Buy1 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных )
   bool mod_Buy2 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных )
   bool mod_Buy3 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных )
  }
}
 
vadimvborisov :

Merhaba, Alexey Vik

bool mod_Buy1 = Siparişi değiştir ( OrderTicket (numaralandırılan i-th BUY)

peki ya diğer ikisi? Ayrıca?

Örneğimdeki döngüye dikkat edin. Tüm siparişler döngüde sıralanır, türe göre kontrol edilir, yine de sembol ve sihir ile kontrol etmeniz gerekir ve sizin durumunuzda OrderStopLoss() == 0 veya OrderTakeProfit() == 0, hangisine bağlı olarak zarar vermez Daha da önemlisi, emri gereksiz yere değiştirmeye çalışmamak ve hata almamak için duraksız veya alımsız vazgeçme durumu olabilir mi?

Bu döngüde siparişler sırayla seçilir ve tüm koşullar sağlanmışsa değişiklik için gönderilir. Böylece, gerekli tüm siparişler değiştirilecektir.

İkinci seçenek: Eğer sadece 3 emir sağlanmışsa, örneğin int tick_buy_1, tick_buy_2, tick_buy_3 global değişkenler düzeyinde bildirebilir ve emir açarken bu değişkenlere bilet yazabilirsiniz. Daha sonra bilete göre bir sipariş seçmek, türünü, siparişin kapalı olup olmadığını ve ancak o zaman ve zaten bir döngü olmadan kontrol etmek mümkün olacaktır.

   bool mod_Buy1 = Модифицировать ордер ( tick_buy_1 );
   bool mod_Buy2 = Модифицировать ордер ( tick_buy_2 );
   bool mod_Buy3 = Модифицировать ордер ( tick_buy_3 );