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
...
mladen tarafından silindi
Sebep: Neyin yanlış gidebileceğini göstermenin anlamı yok
teşekkürler
Setten SymbolList - MQL4 Kod Tabanı
Teşekkürler.......
kod yardımına ihtiyacım var ..
sağolun beyler...
Yardım lütfen
HERKESE MERHABA,
Birisi lütfen bu göstergenin geçmişi yeniden boyamamasına yardımcı olabilir mi, özellikle çubuk kapatılmışsa, gösterge, mumlar kapatıldıktan sonra canlı ticarette bazen 2 ila 3 çubuğu yeniden boyar ve mümkünse bir uyarı eklenir. Beklenti içinde teşekkürler.
kod yardımına ihtiyacım var ..
Merhaba sayın üyeler,
Ben bir programcı değilim, ancak birisi bana bu konuda yardımcı olabilirse gerçekten minnettar olurum.
Aşağıdakileri yapması için bu kodu nasıl yeniden yazarım;
if (Toplam Açık Sipariş = 0)
o zamanlar
lot = Type1Lot( order_type );
if (Toplam Açık Emir = 1)
o zamanlar
lot = Type2Lot(sipariş_türü);
if (Toplam Açık Sipariş > 2)
o zamanlar
lot = Type3Lot(sipariş_türü);
Hepinize teşekkürler.
Takdir etmek
Kodlamanın daha iyi bir yolu var mı
Grafiğe yüksek/düşük dalgalanmalar koyan bir indi kodladım ve devam etmeden önce bunların her birinin sonunu bilmem gerekiyor. Bu, bu iki fiyatı arama girişimim (dolayısıyla biraz yardıma ihtiyacım var).
Çoğu zaman bu işe yarar, ancak bugün son yüksek vuruşun aslında son yüksek vuruş olduğunu söylüyordu.
Birisi lütfen buna bakıp bu kısmı kodlamanın daha iyi bir yolu olup olmadığını görebilir mi?
Herhangi bir yardım için teşekkürler.
int yüksek çubuk,alt çubuk,i,n;
çift kıvrım=0,kıvrık=0;
(i=200;i>=1;i--) için
{
if (Yüksek<Yüksek && Yüksek<Yüksek && Yüksek && Yüksek<Yüksek)
{
kıvrımlı=Yüksek;
yüksekbar=i+2;
}
if (Düşük>Düşük && Düşük>Düşük && Düşük>Düşük && Düşük>Düşük)
{
kıvrılma=Düşük;
düşükbar=i+2;
}
}
//----son fraktaldan bu yana daha yüksek/düşük mum olup olmadığını kontrol edin ----------
n=MathMax(yüksek çubuk,düşük çubuk);
for (int x=n-1;x>=0;x--)
{
if (Yüksek[x]> eğri)
{
curhigh=Yüksek[x];
yüksekbar=x;
}
if (Düşük[x]< kıvrımlı)
{
kıvrım=Düşük[x];
düşük çubuk=x;
}
}
Girintiler düzgün yapıştırılmamış gibi görünüyor, üzgünüm.
Merhaba sayın üyeler,
Ben bir programcı değilim, ancak birisi bana bu konuda yardımcı olabilirse gerçekten minnettar olurum.
Aşağıdakileri yapması için bu kodu nasıl yeniden yazarım;
if (Toplam Açık Sipariş = 0)
o zamanlar
lot = Type1Lot(sipariş_türü);
if (Toplam Açık Emir = 1)
o zamanlar
lot = Type2Lot(sipariş_türü);
if (Toplam Açık Sipariş > 2)
o zamanlar
lot = Type3Lot(sipariş_türü);
Hepinize teşekkürler.
Takdir etmekBen hiçbir şekilde uzman bir kodlayıcı değilim, ancak tüm siparişlerinizi gözden geçirmeniz ve hangi siparişlerin özelliklerinizi karşıladığını saymanız gerektiğini düşünüyorum. Daha sonra farklı sipariş türleri için farklı if deyimi kullanın .. örnek.
int total=OrdersTotal(),totalBuy,totalSell;
for (int q=0; q<total; q++ )
{
OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
totalBuy++;
else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
totalSell++;
}Burada Magic numarasına göre hangi biletlerin sayılacağını seçiyorum ve ayrıca Short ve long sayısını sayıyorum. Yukarıdaki kodu örnek olarak kullanabilirsiniz.
50 ve 100 psişik seviyelerinde limit emri verin
Hey, kodumla ilgili küçük bir yardım arıyordum. Bu, bir döviz çiftinin 50 ve 100 tur seviyelerinde bir piyasa limit emri vermek için kullanılacak kod mu? Mevcut Alış/Teklif'in üstünde ve altında 50 ve 100 seviyelerinde sipariş vermek istiyorum.
else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)
else Poin = Point; //Normal
for(double q=Ask*Poin,q<Ask+100*Poin,q++)
{
if(MathMod(q,100) == 0 || MathMod(q,50) == 0)
{
\\ Place limit order
}
for(double q=Bid*Poin,q>Bid-100*Poin,q--)
{
if(MathMod(q,100) == 0 || MathMod(q,50) == 0)
{
\\ Place limit order
}
Herhangi bir yardım takdir edilecektir.
Çubuk renk göstergesi
Merhaba, lütfen biri MT4 göstergesi konusunda yardımcı olabilir mi?
Yapılabileceğinden emin değilim, ancak çubukların yeniden renklendirilmesi gerekiyor.
R1 = son 20 bar için en düşük değer + (2*ATR(10))
R2 = son 20 bar için en yüksek değer - (2*ATR(10))
Kapanış fiyatı R1'den büyükse çubuğu parlak mavi olarak renklendirin.
Bir önceki çubuğun kapanış fiyatı R2'den düşükse çubuğu... FireBrick olarak renklendirin.
teşekkürler
A
hala 1'den fazla sipariş açan EA kod örneğini arıyorum
Bir seferde sadece 2 emir açmak istiyorum, 1'i tp'li ve 1'i olmadan ve daha sonra koşullar tam tersi şekilde açılana kadar ASLA o yönde başka bir emir açmayın. sonra hepsini kapatın ve tersini tekrarlayın.
Kodlamak için çok uğraşıyorum ama...şimdiye kadar BAŞARISIZ.
En büyük problemler mum çubuğunun kapanışında 1 pozisyon açılmasıdır...sonra SONRAKİ mum çubuğunun kapanışında 2. pozisyon açılır. Ayrıca bazen 2'den fazla açık pozisyon alıyorum ve her 1. vuruşta TP'ye yeni bir pozisyon alıyorum. HEPSİ ÇOK KÖTÜ.
işte al ve sat kodu temelde aynı...
HERHANGİ BİR İPUCU yardımcı olabilir, kodu yazmaya hazırım
Örnekler için bakabileceğim bunu yapan bir EA bile ..
Bu fikrin çok önemli olduğunu ve para yönetimi amacıyla birçok EA'ya dahil edilmesi gerektiğini düşünüyorum.
BİR TON TEŞEKKÜRLER
Eğer ( ) {
Yakın satın alma = Doğru;
MAcrossDown = Doğru;
MAcrossUP= Yanlış;
OrdertotalCloseBuy = OrdersTotal();
int DenemelerDenendiCloseBuy = 0;
bool OrderCloseBuy = Yanlış;
bool PositionClosedBuy = False;
if(OrdersTotal() > 0 ){
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
if(OrderType() == OP_BUY){
for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {
PozisyonKapalıAlım = Yanlış;
DenemelerDenendiKapatAl = 0;
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
while (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {
DenemelerDenendiKapatAl = DenemelerDenendiKapatAl + 1;
OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);
Uyku(Siparişler Arasında Duraklat * 1000);
if(OrderCloseBuy == True) { // Pozisyon Kapatıldı Başarılı.
PozisyonKapalıSatın Alma = Doğru;
// if (SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " Satın Alma Kapat");
} else if( Order == False && AttemptsTried >= CloseposnAttempts ) {
Print( AttemptsTried + "Piyasa emrini kapatmaya çalışır" +
OrderTicket() + " başarısız oldu. Hata [ " + GetLastError() + " ]" );
// if (SignalMail) SendMail( AttemptsTried, "Satın Al emrini kapatma girişimleri Başarısız");
} // Eğer Sonlandır, Sırala:
} // Döngüyü Bitir, AccountAvailable:
}//için
}//if sipariş türü
}//siparişlertoplam
Uyku(1000);
if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {
SellTicket1 = Yanlış;
SellTicket1 = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, StopLoss, Bid - TakeProfit * Point, "SAT(#" + MagicNumber + ")", MagicNumber, 0, Red);
Uyku(Siparişler Arasında Duraklat * 1000);
Sell_Complete_Wait4Cross_Up = Doğru;
Buy_Complete_Wait4Cross_Down = Yanlış;
if (Ticket && SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " 1. Satışı Aç");
Uyku(1000);
SellTicket2 = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, StopLoss, 0, "2. SATIŞ(#" + MagicNumber + ")", MagicNumber, 0, Pembe);
Uyku(Siparişler Arasında Duraklat * 1000);
if (Ticket2 && SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " 2. Satışı Aç");
if(OrdersTotal() == 2 && MAcrossDown == Doğru) {Sell_Complete_Wait4Cross_Up = Doğru; Buy_Complete_Wait4Cross_Down = Yanlış;}
}//Sipariş gönderimi
} //Yakın Satın Al