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
Merhaba!
Bilen biri bana aşağıdakileri koda nasıl doğru yazacağımı söyleyebilir mi:
Bir MACD Histogramm WIS göstergesi var. Kodunda histogram hesaplanır ve çubuklar MACD çizgisinin ve filtrenin yönüne bağlı olarak farklı renklerde renklendirilir.
int başlangıç()
{
int limit,i;
int counted_bars = IndicatorCounted();
if(counted_bars > 0) counted_bars--;
limit = iBars(NULL,0) - sayılan_barlar;
BufferResize(Filtre);
BufferResize(Histogram);
for(i = 0; i <= limit; i++)
MACD[i] = iMA(NULL, 0, FastMA, 0, MAMethod, MAAppliedPrice, i) - iMA(NULL, 0, SlowMA, 0, MAMethod, MAAppliedPrice, i);
for(i = 0; i <= limit; i++)
Signal[i] = iMAOnArray(MACD, iBars(NULL,0), SignalMA, 0, MAMethod, i);
for(i = 0; i <= limit; i++)
Histogram[i] = MACD[i] - Sinyal[i];
CalcFilter(Satır, limit);
for(i = limit; i >= 0; i--)
{
if(Histogram[i] > Histogram[i+1] && Filtre[i] > Filtre[i+1])
{
HistogramBekleKapat[i] = 0.0;
HistogramSat[i] = 0.0;
HistogramBuy[i] = Histogram[i];
}
if(Histogram[i] < Histogram[i+1] && Filtre[i] < Filtre[i+1])
{
HistogramBekleKapat[i] = 0.0;
HistogramSat[i] = Histogram[i];
HistogramSatın Al[i] = 0.0;
}
if((Histogram[i] >= Histogram[i+1] && Filtre[i] <= Filtre[i+1]) || (Histogram[i] <= Histogram[i+1] && Filtre[i] > = Filtre[i+1]))
{
HistogramWaitClose[i] = Histogram[i];
HistogramSat[i] = 0.0;
HistogramSatın Al[i] = 0.0;
}
}
dönüş(0);
}
Danışmanda, koşullardan birini, pozisyonları açmayı aşağıdaki durumlarda reçete etmeye çalışıyorum:
if(Histogram[i] > Histogram[i+1] && Filtre[i] > Filtre[i+1])
{
HistogramBekleKapat[i] = 0.0;
HistogramSat[i] = 0.0;
HistogramBuy[i] = Histogram[i];
ama sadece 2 kapalı çubuğu karşılaştırmam gerekiyor, yani birinci ve ikinci (sıfıra dokunma) ve hepsini (i-barlar) değil, yani, birinci ve ikinci çubukları karşılaştırmam gerekiyor ve eğer histogram ilk çubuğun ikinci ve filtre koşullarından ve danışmanın diğer koşullarından daha büyük, daha sonra satış için satın alın, tam tersine .... nasıl doğru yazılacağını söyleyin, lütfen, kendi kendini yetiştirmiş bir çaydanlık)
teşekkürler
Herhangi bir karmaşıklık için bir danışman yazacağım. Ana şey, fikrin iyi olmasıdır. Nasıl kullanacağın umurumda değil: satarsan umurumda değil (para talep etmeyeceğim).
Not Bir göstergeye ihtiyacınız varsa, o zaman bana onu kullanmak istediğiniz stratejiyi açıklamanız gerekir.
Programlama hakkında hiçbir şey bilmiyorum ve genel olarak yeni başlayan biriyim.
Belki genel olarak böyle bir danışman zaten var:
"Roly-poly" ilkesine göre, iki EMA'nın kesişimi öncekini kapatır ve yenisini açar, EMA'lar değişken olmalıdır.
Bence H1, H4 oldukça alakalı.
Belki böyle bir danışman zaten var , genel olarak şöyle:
"Roly-poly" ilkesine göre, iki EMA'nın kesişimi öncekini kapatır ve yenisini açar, EMA'lar değişken olmalıdır.
Bence H1, H4 oldukça alakalı.
Merhaba.
Lütfen Ennay'de bir sipariş açan basit bir Uzman Danışman oluşturun, puan sayısı ve fiyat bunları geçip +'da kapandıysa, sipariş kapanır ve Artı'ya geri açılır. Negatifse, negatife döner.
Ayarlanacak parametreler parti büyüklüğü ve geçilecek nokta sayısıdır.
Şimdiden teşekkürler.
Saygılarımla, Dimitri.
Herhangi bir karmaşıklık için bir danışman yazacağım. Ana şey, fikrin iyi olmasıdır. Nasıl kullanacağın umurumda değil: satarsan umurumda değil (para talep etmeyeceğim).
Not Bir göstergeye ihtiyacınız varsa, o zaman bana onu kullanmak istediğiniz stratejiyi açıklamanız gerekir.
Merhaba sevgili geliştiriciler. Lütfen SSL_fast_sBar_mtf göstergesine dayalı bir gösterge oluşturmama yardım edin.
Göstergenin, biri daha büyük bir "Lb" değerine ve diğeri daha küçük bir değere (veya daha büyük ve daha küçük bir ZAMAN ÇERÇEVESİ) sahip iki "çizgi" çizmesi gerekir. Renk çubuğunda ise
her iki "cetvel" de aynıdır (ve bir öncekinde farklıydı), sonra bir sonraki çubuğun başında açmak için bir sinyal vermeniz gerekir (bir ok koyun).
Oklar, grafik nesneleri değil, gösterge arabellekleri kullanılarak çizilmelidir. Harici parametreler penceresinde, her iki "cetvelin" verileri gereklidir
(parametrelerinin sonraki seçimleri için).
http://savepic.ru/1965498.gif
Göstergeye nasıl bir bağlantı ileteceğimi bilmiyorum. MQL4.com kitaplığında bulunur
Tünaydın!
Senden bir uzman olmanı rica ediyorum (peki, ben programcı değilim): ((.
Teknik özellikler:
1) İki Hareketli çizginin kesiştiği noktada 4 saatlik bir mum grafiği üzerinde çalışıyoruz. Ortalama : Bir ( Kırmızı ) dönem 18, yöntem Üstel , fiyatları kapatmak için Kapat , Sırasıyla ikinci ( Sarı ) dönem 8, yöntem de Üstel , fiyatları kapatmak için Kapat .
2) Ticaret boyutu 1 lot
3) Kavşaktan çizgilerin kesişimine kadar çalışıyoruz. Sarı ( Sarı ) çizgi, satın alma emrinin yukarı (kuzey) yönünde kırmızı çizgiyi ( Kırmızı ) geçer geçmez, çizgilerin ikincil kesişimi şimdi sarı çizgi kırmızı çizgiyi yukarıdan aşağıya doğru keser - yeni bir satış siparişinin eşzamanlı açılmasıyla açık bir siparişin sabitlenmesi ve benzeri.
4) Tüm işlemler için 35 puan stoploss ayarı yapılmıştır.
4 saatlik bir program, saatlik bir programdan farklı olarak, kesinlikle çalışarak gereksiz vücut hareketlerinden kaçınmanıza izin verir.
Sadece döviz çiftlerine bakarsanız, fikir kendisini haklı çıkarır (kaybedilen ticaret yoktur, en kötü durumda sıfır civarında), elbette, trendi hesaba katmanız ve Uzman Danışmanı göz önünde bulundurarak çalıştırmanız gerekir. O. Ve böylece, örneğin, bir euro / dolar çifti, 1 Eylül'den itibaren, geçmeden önce +139 puan satın alırsa, hemen +115 puan satarsa, ardından tekrar 12 Ekim'de geçmeden önce tekrar satın alırsa, +1184 puan daha. Ağustos ayında aynı resmi +368 puan satış, ardından aynı seviyeden alım satımı kayıpsız ve satış karında +181 puan aşağı çekiyoruz. Ayrıca, örneğin, ALTIN altın (burada komisyon 70 puandır, ancak puanın kendisi lot başına 2.5 $'dır) yani 31 Ağustos'tan itibaren +1789 puan satın alın, hemen +547 puan satın, +4557 puan satın alın, sıfır satın, + 4328 al, sat sıfır ve bu hafta sonundan önce +3636 puan daha.
Saygılarımla, Yuri
Pakette bulunan standart Hareketli Ortalamayı temel alın ve onunla denemeler yapın. MA'yı EMA ile değiştirebilirsiniz.
İşte tam açıklama:
//+------------------------------------------- --------------------+
//| Hareketli Ortalama.mq4 |//| Telif Hakkı © 2005, MetaQuotes Yazılım A.Ş. |
//| http://www.metaquotes.net/ |
//+------------------------------------------- --------------------+
#define MAGICMA 20050610
dış çift Lot = 0.1;
harici çift MaximumRisk = 0.02;
dış çift Azaltma Faktörü = 3;
harici çift Hareketli Dönem = 12;
harici çift MovingShift = 6;
//+------------------------------------------- --------------------+
//| Açık pozisyonları hesaplayın |
//+------------------------------------------- --------------------+
int CalculateCurrentOrders(dize sembolü)
{
int satın alır = 0, satar = 0;
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) satın alır++;
if(OrderType()==OP_SEL) satıyor++;
}
}
//---- iade sipariş hacmi
if(satın alır>0) iade(satın alır);
başka iade(-satış);
}
//+------------------------------------------- --------------------+
//| Optimum parti boyutunu hesaplayın |
//+------------------------------------------- --------------------+
çift LotOptimize Edilmiş()
{
çift lot=lot;
int siparişler=TarihToplam(); // geçmiş sipariş toplamı
int kayıplar=0; // Kesintisiz siparişlerin sayısı
//---- parti boyutunu seç
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- Kesintisiz siparişlerin sayısını hesapla
if(DecreaseFactor>0)
{
for(int i=sipariş-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Geçmişte hata!"); kırmak; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) devam ediyor;
//----
if(OrderProfit()>0) kırılması;
if(OrderProfit()<0) kayıpları++;
}
if(kayıplar>1) lot=NormalizeÇift(lot-lot*kayıplar/AzalışFaktörü,1);
}
//---- parti boyutunu iade et
if(lot<0.1) lot=0.1;
dönüş(lot);
}
//+------------------------------------------- --------------------+
//| Açık sipariş koşullarını kontrol edin |
//+------------------------------------------- --------------------+
geçersiz CheckForOpen()
{
çift ana;
iç;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüş;
//---- Hareketli Ortalamayı al
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- satış koşulları
if(Open[1]>ma && Kapat[1]<ma)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Kırmızı);
dönüş;
}
//---- satın alma koşulları
if(Open[1]<ma && Close[1]>ma)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Mavi);
dönüş;
}
//----
}
//+------------------------------------------- --------------------+
//| Yakın sipariş koşullarını kontrol edin |
//+------------------------------------------- --------------------+
geçersiz CheckForClose()
{
çift ana;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüşü;
//---- Hareketli Ortalamayı al
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) devam ediyor;
//---- sipariş tipini kontrol et
if(OrderType()==OP_BUY)
{
if(Open[1]>ma && Kapat[1]<ma) OrderClose(OrderTicket(),OrderLots(),Bid,3,Beyaz);
kırmak;
}
if(OrderType()==OP_SEL)
{
if(Open[1]<ma && Close[1]>ma) OrderClose(OrderTicket(),OrderLots(),Ask,3,Beyaz);
kırmak;
}
}
//----
}
//+------------------------------------------- --------------------+
//| başlatma işlevi |
//+------------------------------------------- --------------------+
geçersiz başlangıç()
{
//---- geçmişi ve ticareti kontrol et
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
başka CheckForClose();
//----
}
//+------------------------------------------- --------------------+
Bence işe yarayacak şekilde nasıl değiştirebilirim, anlamıyorum?! Sadece bir 50EMA'ya ve bir 100EMA'ya ve her çarpıda bir bip sesine ihtiyacım var!!!