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

 
Pyro :

tara


İlginç görünüyor, çünkü sipariş verme fiyatı 4 haneye normalleştirildi, yani bir noktanın kesirleri olamaz. Nedenmiş? Ve evet, olması gerektiği gibi çalışmaya başladı! Teşekkür

Genel olarak, normalleştirme hesaplama sırasında yapılmalıdır:

   int dg=MarketInfo( Symbol (),MODE_DIGITS);         // Количество цифр после десятичного точки в цене инструмента
   if ( NormalizeDouble (OrderOpenPrice()-(p1+more),dg)== 0 ) {
       // ... тут код, если результатом сравнения стал ноль, т.е. сравниваемые величины равны
      }

ve kodunuzdaki bazı noktalar:

 for ( int i= 1 ; i <= OrdersTotal () ; i++)   // делаете цикл от второго ордера в списке. Почему бы сразу не for(int i=0; i<OrdersTotal(); i++) ?
   {
   if ( OrderSelect (i- 1 ,SELECT_BY_POS,MODE_TRADES))   // если выбрали ЛЮБОЙ ордер, пусть он даже открыт другим советником или вручную
      {                                           
       if (OrderOpenPrice()-(p1+more) == 0 )           // сравниваете без нормализации
         {
         ordersethigh1=true;                       // желательно флагу ПЕРЕД циклом задать значение false
         break ;
         }
      }
   }
     
if ((ordersethigh1==false) && (p2-price>pointsclose))   // второе условие тоже не нормализовано
   {
   OrderSend ( Symbol (),OP_SELLLIMIT,baselot,p1+more, 3 , NULL , NULL , "Comment" , 0001 , 0 , White );
   }
 

artmedia70


Senin koduna göre yazdım. Şimdilik basitleştirildi (anlıyorum). Netleşen tek şey, her şeyin normalleştirilmesi gerektiğiydi. Bu bir tür keşiftir (test cihazında her şey çalıştı). yavaş yavaş anlıyorum.

 если выбрали ЛЮБОЙ ордер, пусть он даже открыт другим советником или вручную

Bu durumda, gereksiz kod sadece gerekli değildir. Araçla ilgili gerçek kontrol eklendi.

Her ikisi de işe yarayan iki seçenek var:

 if (OrderOpenPrice()-(channelhigh+more) <= Point * 0.5 )

if ( NormalizeDouble (OrderOpenPrice()-(channelhigh+more), 4 ) == 0 )

Teşekkürler, çok şey temizlendi!



 
Pyro :

artmedia70


Senin koduna göre yazdım. Şimdilik basitleştirildi (anlıyorum). Netleşen tek şey, her şeyin normalleştirilmesi gerektiğiydi. Bu bir tür keşiftir (test cihazında her şey çalıştı). yavaş yavaş anlıyorum.

Bu durumda, gereksiz kod gerekli değildir . Araçla ilgili gerçek kontrol eklendi.

Her ikisi de işe yarayan iki seçenek var:


Teşekkürler, çok şey temizlendi!

Seçilen siparişin ne tür olduğunu kontrol etmek gereksiz mi? Ya bu bir Al veya Sat emri ise? Kontrol etmeden, fonksiyonunuz size bekleyen bir emir olduğunu söyleyecektir (varlığını kontrol edersiniz). Ertelenmiş bir tane olup olmadığını kontrol etmek istiyorsunuz ve kesinlikle herhangi bir tür varsa true size geri dönecektir. Elle açsan bile. Dört tür bekleyen emir vardır. Yanlış anlaşılmalara mahal vermemek için, çağrıldığında fonksiyona bekleyen emir tipinin iletilmesi ve seçilen emir tipinin fonksiyona iletilen emir tipine uygunluğunun kontrol edilmesi tavsiye edilir.
(Sayfa 277'deki örneğimde, bu kontrol yok. Sadece bekleyen herhangi bir kontrol var - tür 1'den küçük ve 5'ten büyükse, bir sonraki seçeneğe gidin)

Daha ileri. Danışmanınız bir zaman dilimi üzerinde çalışabilir ve başka bir danışman aynı anda başka bir danışman üzerinde çalışabilir. İkisi de aynı enstrümanda. Başka bir EA tarafından açılan bir pozisyon, bu tarafından "evet, bir emir var" olarak yorumlanacaktır. Bu, danışmanın emirlerini ve pozisyonlarını ayırt edebilmesi için MagicNumber tarafından bir çek girmeniz gerektiği anlamına gelir.

Bu nedenle, bir ticaret aracının sembolü, sihir ve kontrol edilen emrin türü için yapılan kontroller gereksiz değil, gereklidir. Bu minimumdur, ancak fazlalık değildir.

 

Merhaba yoldaşlar!

Söyleyin lütfen, böyle bir şey: Son kapatılan siparişi bulma sorunuyla karşılaşan var mı? Ve kârlılığını veya kârsızlığını ortaya çıkarmak?

Hangi yöntemler kullanıldı?

şimdiden teşekkür ederim

ps İşlem basit sanırım ama nasıl yaklaşacağımı bilmiyorum

 
artmedia70 :

Bu nedenle, bir ticaret aracının sembolü, sihir ve kontrol edilen emrin türü için yapılan kontroller gereksiz değil, gereklidir. Bu minimumdur, ancak fazlalık değildir.

Burada benim hatam, aslında sadece bir fonksiyon yayınlamamdı. Kontroller elbette olacak. Sadece bu kod parçası, birçok yönden eğitim veriyor, bir danışmanın parçasından başka bir şey değil. Yardımlarınız için tekrar teşekkürler çocuklar!

 
ramirez17 :
ps Sanırım operasyon basit ama nasıl yaklaşacağımı bilmiyorum
Bu sorunun ne kadar popüler olduğuna şaşıracaksınız.
Google isteği:
son kapatılan sipariş sitesi:mql4.com
 
ramirez17 :

Merhaba yoldaşlar!

Söyleyin lütfen, böyle bir şey: Son kapatılan siparişi bulma sorunuyla karşılaşan var mı? Ve kârlılığını veya kârsızlığını ortaya çıkarmak?

Hangi yöntemler kullanıldı?

şimdiden teşekkür ederim

ps Sanırım operasyon basit ama nasıl yaklaşacağımı bilmiyorum

https://www.mql5.com/ru/forum/131859/page4#434229

https://www.mql5.com/ru/forum/131859/page4#434230

 
granit77 :
Bu sorunun ne kadar popüler olduğuna şaşıracaksınız.
Google isteği:
son kapatılan sipariş sitesi:mql4.com

TAMAM. Google'ı unuttum. Hemen koştum :)
 
set dosyasını danışmandan hangi klasöre koyacaksınız?
 
drm1 :
set dosyasını danışmandan hangi klasöre koyacaksınız?
uzman/ön ayarlar