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

 
Son açık sipariş için kar al-a tetiklendiğinde tüm siparişleri kapatacak bir Uzman Danışman oluşturmak mümkün müdür?
 

Sevgili programcılar!

Bana yardım et lütfen. Gösterge, gizli yükseliş eğilimine dayalı değerler çizer ve HİÇBİRİ, düşüş eğilimindeki gizli sapmayı çizer.... 4002 hatası - Dizi indeksi aralık dışında diyor.

Her şeyi düzeltmiş gibiyim... Bütün akşam eziyet çektim... Ve bu çok yazık - kod en basiti... Ama yükseliş okları çiziyor, ama düşüş eğilimi yok... YARDIM! Hata nerede?????????????????????

//+------------------------------------------- --------------------+
//| div zz 5.mq4 |
//+------------------------------------------- --------------------+

#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_renk1 CLR_NONE
#özellik göstergesi_color2 CLR_NONE
#özellik göstergesi_color3 BlueViolet
#özellik göstergesi_color4 Kırmızı
#define arrowsDeplasman 0.0001
çift cci[];
çift cci1[];
çift boğaDivergence[];
çift düşüşDivergence[];

//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//---- göstergeler

SetIndexStyle(0, DRAW_NONE);
SetIndexStyle(1, DRAW_NONE);
SetIndexStyle(2, DRAW_OKU);
SetIndexStyle(3, DRAW_OK);

SetIndexBuffer(0, cci);
SetIndexBuffer(1, cci1);
SetIndexBuffer(2, yükseliş Divergence);
SetIndexBuffer(3, düşüş Iraksama);

SetIndexArrow(2, 233);
SetIndexArrow(3, 234);

dönüş(0);
}
//+------------------------------------------- --------------------+
//| Müşteri göstergesi sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge yineleme işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
int counted_bars=IndicatorCounted();
//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
//int limit=Barlar-sayılan_barlar;
çift vpadcci[];
çift[];
çift hh[];
çift ss[];



için (int i=500; i>=0; i--)
{
cci[i] = iCustom(NULL, 0, "CCI-OnArray_", 9, 3, 5, 25, 1, i);
Eğer (
(cci[i]<cci[i-1])&&
(cci[i]<cci[i-2])&&
(cci[i]<cci[i+1])&&
(cci[i]<cci[i+2])
)
{
vpadcci[i]=cci[i];
ss[i]=Düşük[i];
}
}



for(int j=500; j>0; j--)
{
cci[j] = iCustom(NULL, 0, "CCI-OnArray_", 9, 3, 5, 25, 1, j);
Eğer (
((cci[j+1]>vpadcci[10])&&
(cci[j]<vpadcci[10])&&
(Düşük[j]>ss[10])) ||
((cci[j+1]>vpadcci[9])&&
(cci[j]<vpadcci[9])&&
(Düşük[j]>ss[9])) ||
((cci[j+1]>vpadcci[8])&&
(cci[j]<vpadcci[8])&&
(Düşük[j]>ss[8])) ||
((cci[j+1]>vpadcci[7])&&
(cci[j]<vpadcci[7])&&
(Düşük[j]>ss[7])) ||
((cci[j+1]>vpadcci[6])&&
(cci[j]<vpadcci[6])&&
(Düşük[j]>ss[6])) ||
((cci[j+1]>vpadcci[5])&&
(cci[j]<vpadcci[5])&&
(Düşük[j]>ss[5])) ||
((cci[j+1]>vpadcci[4])&&
(cci[j]<vpadcci[4])&&
(Düşük[j]>ss[4])) ||
((cci[j+1]>vpadcci[3])&&
(cci[j]<vpadcci[3])&&
(Düşük[j]>ss[3])) ||
((cci[j+1]>vpadcci[2])&&
(cci[j]<vpadcci[2])&&
(Düşük[j]>ss[2])) ||
((cci[j+1]>vpadcci[1])&&
(cci[j]<vpadcci[1])&&
(Düşük[j]>ss[1])) ||
((cci[j+1]>vpadcci[0])&&
(cci[j]<vpadcci[0])&&
(Düşük[j]>ss[0]))
)

{ yükselişDivergence[j] = Düşük[j] - oklarDeplasman;
}
}


(i=1; i<500; i++) için
{
cci1[i] = iCustom(NULL, 0, "CCI-OnArray_", 9, 3, 5, 25, 1, i);
Eğer
(
(cci1[i]>cci1[i-1])&&
(cci1[i]>cci1[i-2])&&
(cci1[i]>cci1[i+1])&&
(cci1[i]>cci1[i+2])
)
{
v[i]=cci1[i];
hh[i]=Yüksek[i];
}
}



for(j=1; j<500; j++)
{
cci1[j] = iCustom(NULL, 0, "CCI-OnArray_", 9, 3, 5, 25, 1, j);
Eğer (
((cci1[j+1]<v[10])&&
(cci1[j]>v[10])&&
(Yüksek[j]<hh[10])) ||
((cci1[j+1]<v[9])&&
(cci1[j]>v[9])&&
(Yüksek[j]<hh[9])) ||
((cci1[j+1]<v[8])&&
(cci1[j]>v[8])&&
(Yüksek[j]<hh[8])) ||
((cci1[j+1]<v[7])&&
(cci1[j]>v[7])&&
(Yüksek[j]<hh[7])) ||
((cci1[j+1]<v[6])&&
(cci1[j]>v[6])&&
(Yüksek[j]<hh[6])) ||
((cci1[j+1]<v[5])&&
(cci1[j]>v[5])&&
(Yüksek[j]<hh[5]))
)

{ düşüşDivergence[j] = Yüksek[j] + oklarDeplasman;

}
}


dönüş(0);
}

Dosyalar:
divfzzg5.mq4  5 kb
 
Ayrı şubeden taşındı. Burada basit soruların sorulması önerilir. Kodun SRC düğmesi aracılığıyla yerleştirilmesi gerekir, okunması çok daha kolaydır.


14.02.2011 09:29
Merhaba.

Danışmanı programlama sürecinde, ma_shift parametresi şaşkınlığa neden oldu - orta çizgilerin çubuklarda kayması. Kaydırma pozitifse, çizgi sağa kaydırılır. Tersine, kayma negatifse, çizgi sola kaydırılır.
Ortalamaların kesişimine pozitif bir değer uygulandığında emir açılır.
Ancak parametre negatif olarak ayarlanırsa sipariş açılmayacaktır.
Neyle bağlantılı?

İşte koddan bir alıntı

SMFast0= iMA ( NULL , Tmfrm_work, PeriodSMFast, - 3 , ModeSMFast, PriceSMFast, 0 ); // МА быстрая на текущем баре
SMFast1= iMA ( NULL , Tmfrm_work, PeriodSMFast, - 3 , ModeSMFast, PriceSMFast, 1 ); // МА быстрая на первом баре

SMSlow0= iMA ( NULL , Tmfrm_work, PeriodSMSlow, 0 , ModeSMSlow, PriceSMSlow, 0 ); // МА медленная на текущем баре
SMSlow1= iMA ( NULL , Tmfrm_work, PeriodSMSlow, 0 , ModeSMSlow, PriceSMSlow, 1 ); // МА медленная на первом баре

if (SMFast0>SMSlow0 && SMFast1<SMSlow1)

{
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}

if (SMFast0<SMSlow0 && SMFast1>SMSlow1)
{
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy
} 
 

Merhaba! Kısa bir süre önce Expert Advisors nasıl yazılır diye uğraşmaya başladım, böyle bir soru var. Ben (kendisi) bir stop buy ve bir stop oturduktan sonra danışmanın kendisinin zarar durduracağını nasıl yazabilirim? Yani, bir stop buy veya stop 5 (kabaca konuşursak) üzerinde oturduktan sonra, danışman derhal stop loss'u kendisi koydu.

 
Poseidon :
Son açık sipariş için kar al-a tetiklendiğinde tüm siparişleri kapatacak bir Uzman Danışman oluşturmak mümkün müdür?

olabilmek.

Pupersa , bu sırayı bulun ve içindeki "stoploss" parametresini değiştirin, karmaşık bir şey değil.

KoDim, eğer değerler sola kaydırılırsa, o zaman sağdaki çubuklarda (muhtemelen kontrol ettiğiniz kavşak) hiç var olmadıkları için olabilir mi?

 

programcılar için soru: ondalık noktadan sonraki sayı nasıl tam sayı yapılır? :)

örneğin, 1.128 sayısında 128'e, 1.12 - 12'de, 1.2 - 2)'ye ihtiyacınız var.

sayı harici bir değişkendir.

 
MT5 ile ilgili soru. Nasıl belirlenir. Test cihazının işi tamamladığını mı? Görsel hariç :)
 
eddy :

programcılar için soru: ondalık noktadan sonraki sayı nasıl tam sayı yapılır? :)

örneğin, 1.128 sayısında 128'e, 1.12 - 12'de, 1.2 - 2)'ye ihtiyacınız var.

sayı harici bir değişkendir.


buraya bakın: https://docs.mql4.com/en/basis/operations/math
 
nemo811 :


Para ve hacimleri piyasada çalışıyorsa (Elliot dalgaları değil) ve fiyat hareketi kaotik değilse, ancak bu hacimler nedeniyle, o zaman 2 çift için iki sinyal (incelenen üçten) üçüncü için daha güçlü bir sinyal verir. çift. Sipariş birikimi seviyelerini arayın, VSA'yı analiz edin ve istediğiniz X ve Y'yi bulacaksınız :)))

Ek olarak (şekle bakın), bir döviz çifti (2 para biriminden oluşan) için net bir sabit, üçüncü para biriminin (kalan 2 çift için) eğilimini etkilemez. 1'den fazla para birimi eğilimi ile bir tür "piyasa kaosu" oluşur. Gün içi trendler orta ve uzun vadeli olanlardan daha az istikrarlı olduğundan, bu kaos en çok küçük zaman dilimlerinde belirgindir.

Piyasayı bu ışık altında incelerken, genellikle para birimlerinin kendi eğilimlerinin (döviz çiftlerinden ziyade) daha istikrarlı bir oluşum olduğunu düşünmeye meyilli oldum, aksi takdirde herhangi bir analize uygun olmayan bir osilatör tablosu elde ederdik.

Bu resim bana bunu anlatıyor. ))))

Expert Advisor'ın M1 ve M5 üzerindeki dolar endeksi üzerinde test edilmesi , GBP/USD çiftinden daha kötü sonuçlar verdi. Çok küçük bir geçmiş arşivi nedeniyle büyük TF'ler test edilemez. Fibogroup nidex açısından pek bir şey vermiyor ve birçok DC de hiç vermiyor. Bu nedenle, döviz trendlerini incelemek ve üzerinde küçük bir parti ile çalışmak sorunlu - 0.01 ....
 
eddy :

programcılar için soru: ondalık noktadan sonraki sayı nasıl tam sayı yapılır? :)

örneğin, 1.128 sayısında 128'e, 1.12 - 12'de, 1.2 - 2)'ye ihtiyacınız var.

sayı harici bir değişkendir.

 double a = 1.123345 ;
int b = a;
Bu da mümkün.