[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 155

 
vovander :
OrderType() işlevi ne tür bir değer döndürür? teşekkürler

int Sipariş Türü ()
 

su ısıtıcısı sorusu. baykuşta harici değişkenler var. iki farklı çifte asarsam ve bir tanesinde bu extern'i değiştirirsem, diğerinde de bir nedenden dolayı değişir (

onları nasıl ayıracaksınız? string parametreleriyle bir çıkış yolu buldum - başlatma sırasında sonuna sembol adını ekliyorum. peki ya tamlar ve çiftler?

---

Kim'in işlevleriyle ilgili başka bir soru.

sahibiz

//| sy - enstrüman adı ("" - herhangi bir sembol, |
//| NULL - geçerli karakter) |
//| operasyon - operasyon ( -1 - herhangi bir pozisyon) |
//| mn - MagicNumber ( -1 - herhangi bir büyü) |
//+------------------------------------------- ------------------------------+
void SimpleTrailing(string sy="", int op=-1, int mn=-1)

onlar. SimpleTrailing() işlevini çağırırsam, işlev tüm çiftler için çalışır

ve eğer SimpleTrailing(NULL), o zaman sadece baykuş grafiğinde asılı olan için mi?

Belgelenmemiş bir mülk mü yoksa ne? işlevde bu NULL için bir bağlama bulamadı.

Yoksa SimpleTrailing(NULL) ve SimpleTrailing() aynı şey mi?

 
Omm :

su ısıtıcısı sorusu. baykuşta harici değişkenler var. iki farklı çifte asarsam ve bir tanesinde bu extern'i değiştirirsem, diğerinde de bir nedenden dolayı değişir (

onları nasıl ayıracaksınız? string parametreleriyle bir çıkış yolu buldum - başlatma sırasında sembolün adını sonuna ekliyorum. peki ya tamlar ve çiftler?

---

Kim'in işlevleriyle ilgili başka bir soru.


onlar. SimpleTrailing() işlevini çağırırsam, işlev tüm çiftler için çalışır

ve eğer SimpleTrailing(NULL), o zaman sadece baykuş tablosunda asılı olan için mi?

Belgelenmemiş bir mülk mü yoksa ne? işlevde bu NULL için bir bağlama bulamadı.

Yoksa SimpleTrailing(NULL) ve SimpleTrailing() aynı şey mi?

1. İmkansızı söylüyorsunuz! - bu, "doğru olmayan" bir şey söylediğiniz anlamına gelir. EA'nın - OrderMagicNumber() tanımlayıcısını kullanmadığını varsayabilirim.

2. Koda baktım - bir şey bana SimpleTrailing() kullanmanın SimpleTrailing ( NULL ) ile aynı olacağını söylüyor. Kontrol etmelisin. Ve işlevin grafik aracında çalışmasını sağlamak için onu şöyle adlandırın: SimpleTrailing(Symbol()).

 

1. Bu Uzman Danışman http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=42

Sihir resmi olarak orada (bir nedenden dolayı harici olarak da), ama hala nasıl çalıştırılacağını anlamıyorum.

Ben sadece başabaş ve takip edenleri bağlamaya çalışıyorum.

2.soru kaldırıldı

başka bir fonksiyonda bulunur if (sy=="0") sy=Symbol();

Görünüşe göre yazar buna eklemeyi unutmuş.

 

Aslında, başabaş işlevine ihtiyacım var https://forum.mql4.com/ru/11287/page55#11315

belirli bir karakterin belirli bir pozisyonunda bir kez çalıştı

Konservatuarda ne düzeltilir?

if(ExistPositions(Symbol()) )
{
(int i=0; i<SiparişToplam(); i++) için
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderSymbol()==Symbol() )
MovingInWL(Sembol());

}

}

 

Beyler, birinin bir işlevi var. Farklı boyutlarda birkaç sipariş var.

örneğin sipariş1=0.1, sipariş2=0.2, sipariş3=0.3, sipariş4=0.4 - 1 lot için toplam işlem.

Bir noktada, belirli bir lotun toplam tutarı için siparişlerin bir kısmını kapatmam gerekiyor.

Örneğin 0,5 lotta kapatmam gerekiyor. Pekala, işte sıra4 = 0.4'ü kapatacak gerekli fonksiyon ve geri kalanı, örneğin, sıra3'ten. iyi, veya sipariş1, sipariş2 ve sipariş3'ün geri kalanı.

 
Omm :

Aslında, başabaş işlevine ihtiyacım var https://forum.mql4.com/ru/11287/page55#11315

belirli bir karakterin belirli bir pozisyonunda bir kez çalıştı

Konservatuarda ne düzeltilir?

Bu işlevin tek bir işlem için kontrolü vardır - hiçbir şey icat etmenize gerek yoktur:

     if (ExistPositions ( Symbol (), - 1 , Magic))
    {MovingInWL ( Symbol (), - 1 , Magic);}

Ve MovingInWL() işlevinin biraz ayarlanması gerekiyor:

 void MovingInWL ( string sy = "" , int op = - 1 , int mn = - 1 )
{
     double po, pp, ld_BU;
     int     i, k = OrdersTotal ();
//----
     if (sy = "0" ) sy = Symbol ();
     for (i = k - 1 ; i >= 0 ; i--)
    {
         if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
         if (sy != "" ) if (OrderSymbol() != sy) continue ;
         if (mn >= 0 ) if (mn != OrderMagicNumber()) continue ;
        po = MarketInfo (OrderSymbol(), MODE_POINT);
         if (OrderType() == OP_BUY)
        {
            //---- Это условие выполняется однократно (пока БУ не установлен)
            if (OrderStopLoss() - OrderOpenPrice() < LevelWLoss * po)
            {
                pp = MarketInfo (OrderSymbol(), MODE_BID);
                 if (pp - OrderOpenPrice() > LevelProfit * po)
                {
                    ld_BU = NormalizeDouble (OrderOpenPrice() + LevelWLoss * po, MarketInfo (OrderSymbol(), MODE_DIGITS));
                    ModifyOrder (- 1 , ld_BU, - 1 );
                     continue ;
                }
            }
        }
         else if (OrderType() == OP_SELL)
        {
            //---- Это условие выполняется однократно (пока БУ не установлен)
            if (OrderStopLoss() == 0 || OrderOpenPrice() - OrderStopLoss() < LevelWLoss * po)
            {
                pp = MarketInfo (OrderSymbol(), MODE_ASK);
                 if (OrderOpenPrice() - pp > LevelProfit * po)
                {
                    ld_BU = NormalizeDouble (OrderOpenPrice() - LevelWLoss * po, MarketInfo (OrderSymbol(), MODE_DIGITS));
                    ModifyOrder (- 1 , ld_BU, - 1 );
                }
            }
        }
    }
//----
}
 

Lütfen işlevi değiştirmeme yardım edin, haftalık mum çubuğunun Yüksek Düşük göstergesinde şöyle görünüyor

if (ZamanGünü(Saat[i])!=ZamanGünü(Saat[i+1]))
{
if(TimeDayOfWeek(Zaman[i])==1)

ancak aylık mumun Yüksek Düşük'üne ihtiyacınız var. teşekkürler

 

TarasBY böyle çalışmıyor.

e-TFL_V2'de bu iki satırı start() öğesine ve MovingInWL işlevinin kendisine ekliyorum.

birkaç açık pozisyon ile, sadece bir tane için başabaş setler. aynı zamanda her tikte tekrar yapmaya çalışır.

başabaş pozisyonu kapanır kapanmaz, bir sonrakine koyar.

aynı zamanda ilk mesajda yazdığım gibi başabaş değeri tüm semboller için aynı olmasına rağmen danışman ayarları penceresinden farklı sayılar ayarladım.

Tek seferlik çek nerede?

ps düzeltilmiş işlev için teşekkürler. kayınpeder beş işaretli, ama öyle görünüyor ki Kimov'ların çoğu zaten çalışıyor.

pss biraz sürdü. işe yaramış görünüyor. MovingInWL eğrisiydi. tekrar teşekkürler. ve ben zaten ikinci gün bununla mücadele ediyorum))

pss Magic'in neden danışmanın dış parametrelerine alınması gerektiğini anlayamıyorum?

 
bir metatrader için kendi sunucunuzu nasıl oluşturabilirsiniz, yani başka bir kişinin mt'sinden bağlanabileceği bir sunucu ??