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

 

Bir gösterge var, Sanyok yazar.

Fraktaldan önceki son 3 çubuğun ortalama hacminden daha büyük bir hacme sahip bir çubuk üzerinde oluşturulan bir fraktalın seviyesini işaretler.

değeri danışmana nasıl aktarılır?

Denerim:

h=NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1), Digits );

l=NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_LOWER, 1),Digits);

çalışmıyor.

Dosyalar:
vfractals.mq4  4 kb
 
NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPER ve MODE_LOWER, birinci ve ikinci gösterge tamponlarından değerler alırsınız (sıfır ve birinciniz var) 2. 1 sayısı [1]. elemanın (yani son çubukta) değerini aldığınız anlamına gelir. )
 
ilunga :
NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPER ve MODE_LOWER, birinci ve ikinci gösterge tamponlarından değerler alırsınız (sıfır ve birinciniz var) 2. 1 sayısı [1]. elemanın (yani son çubukta) değerini aldığınız anlamına gelir. )

Teşekkür ederim. olmuş
 

Yeniden planlandı.

Pavel447 02.03.2011 10:57
Tünaydın!
Belki birinin bir pozisyon açarken, bir kâr girerken SL, TP, Trailing + transferini BU'ya otomatik olarak ayarlayan bir danışmanı (veya bir senaryosu) vardır ...?
Şimdiden teşekkürler!)

 
Yeniden planlandı.
dimeon 02.03.2011 11:41
sammi61 :

Lot, depodaki artışla veya depozito yüzdesi olarak artacak şekilde danışman koduna dinamik bir lot eklememe yardım eder misiniz?
lot 0 ise otomatik lot etkinleştirilir, değere eşitse lot sabitlenir
Ekli dosyalar:
FiboWave_v1_1lavtolot.mq4 (9.26 KB) silme
 
artmedia70 :
Diziler birçok farklı şekilde ve birçok farklı görev için kullanılabilir. Peki örnek nedir?
   if (Cls_B[i]||Cls_S[i]) LotCt=NormalizeLot(OrderLots()/(4-i)); 
[i] nasıl yazılır? Değişken olarak bildirilmiş gibi görünüyor ..., derleme hatası veriyor. Anlamıyorum... Bir tamsayı değeri istiyor, ancak bir dizi değişken olarak da bildirilebilir mi?!
 

100yan :
как прописать [i] ?

Bir tamsayı değeri ister, ancak bir dizi değişken olarak da bildirilebilir mi?!

daha spesifik bir soru.

dizi, aynı ada sahip ancak farklı numaraya sahip değişkenlerdir.

 
100yan :
[i] nasıl yazılır? Değişken olarak bildirilmiş gibi görünüyor ..., derleme hatası veriyor. Anlamıyorum... Bir tamsayı değeri istiyor, ancak bir dizi değişken olarak da bildirilebilir mi?!
parantez [] içindeki herhangi bir yapı, int veri türünde olmalıdır.
 

Söyle bana, günlüklerdeki bu saçmalık ne anlama geliyor? Bu nasıl önlenebilir? EA, bu hindiyi kullanarak ticaret yapıyor, bir hatadan sonra, siz terminali yeniden başlatana kadar ticaret donuyor, çünkü EA yeniden başlatıldığında tekrar çökebilir.

22:39:53 +ZigZag_Levels CLJ1,M5: uninit neden 3
22:39:53 Zigzag CLJ1,M5: uninit neden 1

22:39:53 Zigzag CLJ1,M5: kaldırıldı

Belki de bu, terminali hem uzak bir sunucuda hem de bilgisayarımda aynı anda kullanmamdan kaynaklanmaktadır?

 
todem :

Herkese selam! Sorum şu: bu fonksiyonda iki pozisyon için (al ve sat) zararı durdur, satış için SL=alış fiyatı+18 puan ve alış için tam tersi olacak şekilde ayarlanmıştır:

 бла-бла-бла...

zıt pozisyonların açılış fiyatları fonksiyondan elde edilir:

 бла-бла-бла...

Eh, ModifyOrder işlevini standart bir KIMIV-skuyu olarak biliyoruz, onunla hesaplanan durdurma kayıplarını ayarladık ...

Soru şu ki, danışman zararı durdurmayı yalnızca satmak için belirler, ancak satın almak için ayarlamaz??? kim ne düşünüyor? Minnettar olacağım.


 void SimpleLock( string sy= "" , int mn=- 1 ) {
   double po, pp, ops1= 0 , ops2= 0 , opb;
   int     i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<=k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
        po=MarketInfo(OrderSymbol(), MODE_POINT);
         if (mn< 0 || OrderMagicNumber()==mn) {
           if (OrderType()==OP_SELL) {
            opb=OrderStopLoss();                            // Значение стопа позиции до модификации = (0???)
            ops2= NormalizeDouble (OrderPrice(OP_BUY), Digits );
             if (ops2> 0 && opb!= 0 ) {
                ModifyOrder(- 1 , ops2+ 18 *po, - 1 );
              }
            
          }
           if (OrderType()==OP_BUY) {
            opb=OrderStopLoss();
            ops1= NormalizeDouble (OrderPrice(OP_SELL), Digits );
             if (ops1> 0 && opb!= 0 ) {
                ModifyOrder(- 1 , ops1- 18 *po, - 1 );
              }
            
          }
        }
      }
    }
  }
}

Dur ayarlanmazsa, modifi çağrılmaz...

zıt pozisyonların açılış fiyatları fonksiyondan elde edilir:

 double OrderPrice( int type) {
   double price;
   int i, k= OrdersTotal ();
      
       for (i= 0 ; i<k; i++) {
         if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
             if (OrderType()==type) {
            price=OrderOpenPrice();  // Значение цены открытия в списке ордеров терминала позиции с типом type и индексом i
            }
         }
      }
   return (price);  // Возвращает цену открытия последней в списке ордеров позиции с типом type и индексом не более k-1
}

Doğru emrin açılış fiyatının size iade edildiğinden emin misiniz?