![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Flytox: TrendStrength kopyamda böyle bir kod bulamıyorum.
TrendStrength v2.2
Özel Fiyat modu
Özel bir fiyat modunun nasıl yapıldığını bilen var mı? Fiyat (extern int PriceMode = 6; //(yüksek+düşük+kapat+kapat)/4) bir MA'yı geçtiğinde sinyal vermek için aşağıdaki uyarıyı kullanıyorum. % 1 veya 2 gibi bir ofset ekleyerek bu özel işlemi yapmak istiyorum. Mümkün mü ? Gibi bir şey:
extern int FiyatModu = ((yüksek+düşük+kapat+kapat)/4) * 1.01
-------------------------------------------------- --
#özellik göstergesi_chart_window
harici int MA1.dönem =5; //Periyot 5
harici int MA1.shift=0;
harici int MA1.metod=2; //SMMA
harici int lMA1.fiyat=2; //MA mum yüksekliğine ayarlandı
harici int sMA1.fiyat=3; //MA mumu düşük olarak ayarla
harici int FiyatModu = 6; //(yüksek+düşük+kapat+kapat)/4
int cBar,pBarLong,pBarShort;
int başlangıç()
{
cBar = Zaman[0];
if( CheckMACross (1)== 1 && cBar!=pBarLong ) {EmailAlert(1); pBarLong=cBar;}
başka
if(CheckMACross(2)==-1 && cBar!=pBarShort) {EmailAlert(2); pBarShort=cBar;}
dönüş(0);
}
int CheckMACross(int modu)
{
if(mode==1) int fiyat = lMA1.fiyat;
başka
if(mode==2) fiyat = sMA1.fiyat;
çift fiyat1 = iMA(Symbol(),0,1,0,1,FiyatModu,1);
double ma1 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, fiyat,1);
double fiyat0 = iMA(Symbol(),0,1,0,1,PriceMode,0);
double ma0 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, fiyat,0);
if(ma1 > fiyat1 && ma0 <= fiyat0) dönüş( 1);
başka
if(ma1 = fiyat0) dönüş(-1);
başka
dönüş(0);
}
{
if(mode == 1) SendMail("UZUN için Sinyal",Symbol()+" Uzun Git"); //Posta göndermek
başka
if(mode == 2) SendMail("KISA için Sinyal",Symbol()+" Kısa Git");//SendMail
}
int lastBAlert = 0;
int sonSAlert = 0;
geçersiz EmailAlert(int modu)
{
if(mode == 2 && lastSAlert < Time[0] )
{
SendMail("Kısa Git 1",Symbol()+" Kısa Gönder 1"); //Posta göndermek
lastSAlert = Zaman[0];
}
}
Lütfen yardımıma gelmeleri için oradaki uzmanlara sesleniyorum, benim için bir UZMAN DANIŞMAN META 4 Tüccarı kurmama yardım edecek birine ihtiyacım var. İsteğim kabul edilirse çok memnun olurum.
Bir uzman oluşturmanın milyonlarca yolu, nasıl düşündünüz?
kaynak kodu yardım!
hepinize merhaba
Bir EA'm var ve ona bir girdi eklemek istiyorum
Kar alırsanız >= :xx , :xx lot satın alın
harici int Deltaopen1 =100;
Yazdım;
if (tür == OP_BUY)
{
if (M2.BuyCnt == 0 && OrderTakeProfit() > OrderOpenPrice() + Deltaopen1*point)
{
Buy(Symbol(), GetLots2(), Ask, 0, 0, Magic2);
dönüş;
}
}
if (tür == OP_SELL)
{
if (M2.SellCnt == 0 && OrderTakeProfit() <= OrderOpenPrice() - Deltaopen1*point)
{
Sat(Symbol(), GetLots2(), Bid, 0, 0, Magic2);
dönüş;
}
}
}
Ama bu çalışmıyor,
Herhangi bir yardımı takdir ediyorum.
Teşekkür ederim
Bu EA'yı geliştirmek için biraz yardıma ihtiyacınız var
Bu forumda başka bir yerde bulunan "GAPS EA"nın değiştirilmiş bir versiyonu olan bu ea'ya sahibim.
Neyse, ekte kodun bir kopyası var.
#property link ""
//---- input parameters
extern int min_gapsize = 1;
extern double lotsize_gap = 5;
extern int MagicNumber = 10;
//----
datetime order_time = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
/*
Thing to be done in future in this program to make it more efficient
and more powerful:
1. Make the dicission of the quantity of lots used according to
the scillators;
2. This program will catch the gaps.
Things to ware of:
1. the spread;
2. excuting the order not on the gap ends a little bit less.
*/
// Defining the variables to decide.
Print("order time", order_time);
double current_openprice = iOpen(Symbol(), 0, 0);
double previous_highprice = iHigh(Symbol(), 0, 1);
double previous_lowprice = iLow(Symbol(), 0, 1);
double point_gap = MarketInfo(Symbol(), MODE_POINT);
int spread_gap = MarketInfo(Symbol(), MODE_SPREAD)+1;
datetime current_time = iTime(Symbol(), 0, 0);
// catching the gap on sell upper gap
if(current_openprice > previous_highprice + (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
int ticket = OrderSend(Symbol(), OP_SELL, lotsize_gap, Bid, 0, 0,
previous_highprice + spread_gap,
"Gapped Up Sell " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Red);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (sell) :-)", order_time);
//----
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//catching the gap on buy down gap
if(current_openprice < previous_lowprice - (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
ticket = OrderSend(Symbol(), OP_BUY, lotsize_gap, Ask, 0, 0,
previous_lowprice - spread_gap,
"Gapped Down Buy " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Green);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (buy) :-)", order_time);
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//----
return(0);
}
//+------------------------------------------------------------------+Bunu strateji test cihazına ne zaman koysam takas açmıyor. Günlüğe hızlı bir bakış, bana çok sayıda sipariş verildiğini söylüyor. Neyi yanlış yaptım?
Yardım: Temel Histogram Sorusu
Bu muhtemelen gerçekten kolaydır ve bir şeyi gözden geçiriyorum, ancak kaynaklarım tükendi ve bir cevap bulamıyorum.
Tek yapmaya çalıştığım, önceden çizilmiş histogram çubuğunun değerini hatırlamak.
Herhangi bir fikir?
Yani Kapat[1] grafikteki son kapatılan çubuğu gösterir.....
Peki bu ayrı pencere göstergesinde son çizilen histogram çubuğunu ne gösterecekti?
Herhangi bir tavsiye için şimdiden teşekkürler.
-dharsant
Bu muhtemelen gerçekten kolaydır ve bir şeyi gözden geçiriyorum, ancak kaynaklarım tükendi ve bir cevap bulamıyorum.
Tek yapmaya çalıştığım, önceden çizilmiş histogram çubuğunun değerini hatırlamak.
Herhangi bir fikir?
Yani Kapat[1] grafikteki son kapatılan çubuğu gösterir.....
Peki bu ayrı pencere göstergesinde son çizilen histogram çubuğunu ne gösterecekti?
Herhangi bir tavsiye için şimdiden teşekkürler.
-dharsantHangi göstergeyi arıyorsunuz? Sadece önceki çubuğu aramak için vardiyayı ayarlayın.
Örnek, geçerli bir çubuk hareketli ortalama için:
iMA(BOŞ,0,13,8,MODE_SMMA,PRICE_MEDIAN,0);
Bir önceki çubuk hareketli ortalama için:
iMA(BOŞ,0,13,8,MODE_SMMA,PRICE_MEDIAN,1);
Bir gösterge çağırırken son parametre , akımdan kaç çubuk okunacağını belirtir.
Umarım aradığınız şey budur.![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
Kodlama Yardımı Gerekli Lütfen
Bir adette birkaç farklı gösterge kullanmaya çalışıyorum ama bunları sisteme nasıl uygulayacağımı çözemiyorum. Al veya sat demek için göstergenin hangi kısmını kullanırım? Eğim Yönü Çizgisini bir EA'nın parçası haline nasıl getirebilirim.
Şerefe
Beno
Muhtemelen kendimi tam olarak doğru anlatamadım.
iCustom'a ne koymam gerektiğini bulmaya çalışıyorum, aşağıda yaptığım şey bu.
double SDL=iCustom(NULL,0,"Eğim Yön Çizgisi",dönem,yöntem,fiyat)
Ve EA'm için Eğim Yön Çizgisi Göstergesinden alım ve satım sinyali oluşturmak için ne yapmam gerekiyor. Şimdiye kadar yaptıklarım aşağıda, derleniyor ancak pozisyon oluşturulmuyor.
bool Uzun = TML && SDL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose;
bool Short = TMS && SDL && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose;
Herhangi bir yardım harika olurdu
Şerefe
Beno
İlk olarak, iCustom çağrısının sonunda, gösterge tamponlarından hangisinden okunacağı ve hangi dizinde okunacağı olmak üzere iki ek argüman gerekir.
İkincisi, "SDL" bir çift sayıdır, bu nedenle "SDL"yi bir koşul olarak koymak biraz karışıklık gösterir; muhtemelen "SDL != 0" olarak derlenir ve muhtemelen kastedilen de budur.