Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Codersguru lütfen yardım edin
kodlayıcılargurusu
sıfır çizgisini geçerken boğa gücü göstergesi için sesli bir uyarı yazmaya çalışıyorum. MQL ile hiçbir deneyimim yok ama diğer birkaç göstergeden bazı kodları bir araya getirdim. kodu derlerken hata yok. Gösterge uyarısı çalışmıyor olsa da, lütfen onu düzeltmek için yardımcı olabilir misiniz ya da Boğa Ayıları sıfır çizgisini geçtiğinde bu sesli uyarı için yeni bir kod koyabilir misiniz?
şimdiden çok teşekkürler
//+------------------------------------------- -------------------+
//| |
//| |
//| |
//| |
//+------------------------------------------- -------------------+
#özellik telif hakkı "forex-tsd"
#özellik bağlantısı "https://www.forex-tsd.com"
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 Kireç
#özellik göstergesi_color2 Kızıl
#özellik göstergesi_level1 0
çift ExtMapBuffer1[];
çift ExtMapBuffer2[];
çift valbull[];
çift valbear[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
Gösterge Tamponları(3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexDrawBegin(0,2);
SetIndexLabel(0,"ExtMapBuffer1");
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 4);
SetIndexDrawBegin(1,2);
SetIndexLabel(1,"ExtMapBuffer2");
//---- göstergeler
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Müşteri göstergesi sıfırlama işlevi |
//+------------------------------------------- -------------------+
int tanım()
{
//---- YAPILACAKLAR: kodunuzu buraya ekleyin
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge yineleme işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
int shift,counted_bars=IndicatorCounted();
çift valbear[], valbull[];
//---- olası hataları kontrol et
if(counted_bars<0) return(-1);
//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
shift=Bars-1;
while(shift>=0)
{
valbull[shift]=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0);
valbear[shift]=iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
if (valbull[shift]>0)
{
ExtMapBuffer1[shift]=valbull[shift];
ExtMapBuffer2[shift]=0;
}
başka
{
ExtMapBuffer2[shift]=valbull[shift];
ExtMapBuffer1[shift]=0;
}
vardiya--;//
}
//---- uyarı modülü
#define SIGNAL_BAR 1
//---- Son bar zamanının bulunduğu statik değişkenler
//---- ve son uyarı yönü kaydedilir
static int PrevSignal = 0, PrevTime = 0;
//---- Analiz edilmek üzere seçilen çubuk sıfır çubuk değilse,
// uyarıyı kontrol etmenin bir anlamı yok
//---- birkaç defa. Yeni bir çubuk oluşmaya başlamazsa, çıkın.
if(SIGNAL_BAR > 0 && Time[0] <= PrevTime )
dönüş(0);
//---- Bu çubuğun işaretli olduğunu işaretleyin
ÖncekiZaman = Zaman[0];
if(ÖncekiSinyal <= 0)
{
if(valbull[SIGNAL_BAR] > 0 )
{
ÖncekiSinyal = 1;
Alert("BullChannell_positiv (", Symbol(), ", ", Period(), ") - SATIN AL!!!");
}
}
if(ÖncekiSinyal >= 0)
{
if(valbull[SIGNAL_BAR] < 0 )
{
ÖncekiSinyal = -1;
Alert("BearChannell_negativ (", Symbol(), ", ", Period(), ") - SAT!!!");
}
}
//---- uyarı modülünü sonlandır
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
Açılan siparişler ile bekleyen siparişler arasında ayrım yapmak için işlev nasıl kullanılır?
Açılan siparişler ile bekleyen siparişler arasında ayrım yapmak için işlev nasıl kullanılır?
Teşekkürler.
Açılan siparişler ile bekleyen siparişler arasında ayrım yapmak için işlev nasıl kullanılır? Teşekkürler.
OrderType() öğesini kontrol edin:
OrderType() == OP_BUY //BuyOrder (açıldı)
OrderType() == OP_SELL //Satış Emri (açıldı)
OrderType() == OP_BUYLIMIT //Satın alma limiti Sipariş (beklemede)
OrderType() == OP_SELLLIMIT //Satış limiti Emir (beklemede)
OrderType() == OP_BUYSTOP //Satın Al Durdur Siparişi (beklemede)
OrderType() == OP_SELLSTOP //Satış Durdur Emir (beklemede)
EA'da iMAOnArray
Merhaba millet,
Göstergelerdeki (örneğin, CCI, Force, RSI) hareketli ortalamaların kesişimlerine dayalı bir EMA yapmaya çalışıyorum. Ancak, bir diziyi nasıl bildireceğimi ve değişken yapmak için iMAOnArray işlevini nasıl çalıştıracağımı anlayamıyorum.
Örneğin, aşağıdaki kodda, grafik için RSI verilerini bir arabelleğe koymak ve ardından, işlemleri tetiklemek için hareketli bir ortalama üretmek için verileri kullanmak istiyorum. Neyi yanlış yapıyorum?
Herhangi bir yorum veya öneri için teşekkürler.
sonbahar
çift RSI[];
ArrayResize(RSI,Barlar);
ArraySetAsSeries(RSI,doğru);
for(int i=Barlar; i>=0; i--)
{
RSI = (iRSI(NULL,0,RSIPerio,RSIPrice,i));
}
double Green0 = iMAOnArray(RSI,0,GreenPeriod,0,GreenPrice,0);
Merhaba
uyarı ile adım momentumu olan var mı?
Bence harika bir gösterge olacak
Teşekkürler
Saygılarımızla!
Seviyeye göre ticareti kapat
Merhaba, fiyat belirli bir seviyeye ulaştığında ticareti nasıl kapatacağımı bilmek istiyorum. MA çizgisinin 55 puan üstünde diyelim. MA'yı OrderSend'in TakeProfit bölümüne dahil etmeye çalıştım, ancak test cihazı EA'mı "geçersiz bir şey" hata mesajıyla reddetti. Teşekkür ederim.
Merhaba, fiyat belirli bir seviyeye ulaştığında ticareti nasıl kapatacağımı bilmek istiyorum. MA çizgisinin 55 puan üzerinde diyelim. MA'yı OrderSend'in TakeProfit bölümüne dahil etmeye çalıştım, ancak test cihazı EA'mı "geçersiz bir şey" hata mesajıyla reddetti. Teşekkür ederim.
Her şeyden önce hareketli ortalamayı alın:
çift MA = iMA(...);
sonra TakeProfit'i şu şekilde hesaplayın:
çift TP = MA + (55*Puan); // veya TP = MA-(55*Nokta); Satış durumunda.
İşe yarıyor!!
Hey, teşekkürler, CodersGuru. Çalışıyor. Ama aynı zamanda şunu da düşündürüyor: Eğer statik olmayan belirli bir seviyeye kadar kâr al hareket edebilirsem, aynı şeyi stoploss'umla da yapabilirim (izleme durdurucu kullanmadan).
Ve denedim.
İşe yaradı, kötü sonuç verdi. Yani, sanırım iz bırakma ile yapmak zorundayım. Bu doğru mu? (Dikkat edin, henüz izleme durdurmayı nasıl kodlayacağımı öğrenmedim.)
teşekkür ederim.
Dahili takip durdurma
Hey, teşekkürler, CodersGuru. Çalışıyor. Ama aynı zamanda şunu da düşündürüyor: Eğer statik olmayan belirli bir seviyeye kadar kâr al hareket edebilirsem, aynı şeyi stoploss'umla da yapabilirim (izleme durdurucu kullanmadan).
Ve denedim.
İşe yaradı, kötü sonuç verdi. Yani, sanırım iz bırakma ile yapmak zorundayım. Bu doğru mu? (Dikkat edin, henüz izleme durdurmayı nasıl kodlayacağımı öğrenmedim.)
teşekkür ederim.Dahili bir son durak için şöyle bir şey yaptım: (bu uzun bir sipariş için örnektir) İşe yarıyor gibi görünüyor. Bu yardımcı olur umarım.
harici int Trailing_Stop=20;
statik çift Trailing_Long;
bool Read_Long_Open;
if (Uzun giriş kararınızı girin)
{
Burada Ordersend() işlevi
Read_Long_Open=true;
}
if (Read_Long_Open==true)
{
if(OrderSelect(T_1L, SELECT_BY_TICKET)==true)
{
Trailing_Long=OrderOpenPrice();
Print(" Trailing_Long =",Trailing_Long);
Read_Long_Open=yanlış;
}
}
if (Read_Long_Open==yanlış)
{
if (Trailing_Long < Teklif)
{
Trailing_Long=Teklif;
Print("Ayarlanmış Trailing_Long =",Trailing_Long);
}
}
if (Teklif <= Trailing_Long-Trailing_Stop*Puan)
{
OrderClose() işlevi
Print("Uzun Sipariş Kapandı");
}
teşekkürler
Merhaba Wolfe,
Kodunuzu denedim ama bunun yerine daha çok negatif sonucu aldım. Lütfen nedenini sormayın, çünkü cevabı ben de bilmiyorum. Dikkat edin, kodlamada hala vur-kaç aşamasındayım. Ama yine de teşekkürler, kodunuz benim için yeterli sonuçla kendiminkini yazmam için bana yeterli ilham verdi.
Teşekkürler.