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
Emirler, mevcut teklife/soruma çok yakın yerleştirildi. Siparişlerin mevcut fiyattan belirli bir mesafede olması gerekir. Bu bilgiyi ayıklamak için stop_level parametresiyle Marketinfo işlevini kullanın ve siparişlerinizin talep/teklif'ten o kadar uzakta olduğundan emin olun.
Bu yardımcı olur umarım.
Emirler, mevcut teklife/soruma çok yakın yerleştirildi. Siparişlerin mevcut fiyattan belirli bir mesafede olması gerekir. Bu bilgiyi ayıklamak için stop_level parametresiyle Marketinfo işlevini kullanın ve siparişlerinizin talep/teklif'ten o kadar uzakta olduğundan emin olun. Bu yardımcı olur umarım.
ımmm....
üzgünüm ama beni orada kaybettin..
'mevcut' seviyede bir sipariş veremez miyim? Bu noktaya kadar yaptıklarımın çoğu, dönem kapanışında emirleri yerine getirmek oldu. Bu yapılabilir mi?
Öncelikle stop_level parametresinin ve marketinfo işlevlerinin ne olduğunu öğrenmem gerekecek.
yön için teşekkürler
Burada değeri ne olursa olsun, trend bantları göstergesine yaptığım güncelleme çok eğlenceliydi.
tamam işte burada...
MarketInfo() işleviyle kullanılan piyasa bilgisi tanımlayıcıları.
Aşağıdaki değerlerden herhangi biri olabilir:
MODE_STOPLEVEL 14 Nokta olarak durma seviyesi.
yani öyle olduğunu varsayıyorum...
Pazar Bilgisi(14)
nereye koyayım?
yoksa bu mu...
MarketInfo(NULL,MODE_STOPLEVEL);
veya...
çift teklif =MarketInfo(NULL,MODE_BID);
çift sor =MarketInfo(NULL,MODE_ASK);
çift nokta =MarketInfo(NULL,MODE_POINT);
Sanırım bunun nasıl kullanılacağını gerçekten anlamıyorum...Bana bir örnek gösterebilir misiniz?
İşte bu durumda üzerinde çalıştığım şey..Bu EA'nın neden daha önce sipariş vermekte sorun yaşamadığını ve şimdi neden böyle olduğunu merak ediyorum? Filtreyi eklemeden önce çalıştı ???
double upLevel = iCustom(NULL,TF, "Trend Bands v3", back, bandwidth, 0, 0);
double LowLevel = iCustom(NULL,TF, "Trend Bands v3", back, bandwidth, 2, 0);
// ENTRY
if(total < 2 || isNewSumbol(Symbol())) //I have modified the if condition too: it was total<1 (orBanAway aka cucurucu)
{
double HedgeLots = (HedgePercent/100)*Lots; //calculates the Lots for the hedged position
if(isCrossed == 1 && Ask < upLevel)
{
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,comment,MAGICMA,0,Green);
else
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,comment,MAGICMA,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
//###################################################################### the added code starts here
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_SELL,HedgeLots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,comment,MAGICMA,0,Red);
else
ticket=OrderSend(Symbol(),OP_SELL,HedgeLots,Bid,3,0,Bid-TakeProfit*Point,comment,MAGICMA,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
//###################################################################### ends here
return(0);
}
if(isCrossed == 2 && Ask > LowLevel)
{
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,comment,MAGICMA,0,Red);
else
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,comment,MAGICMA,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
//###################################################################### the added code starts here
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_BUY,HedgeLots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,comment,MAGICMA,0,Green);
else
ticket=OrderSend(Symbol(),OP_BUY,HedgeLots,Ask,3,0,Ask+TakeProfit*Point,comment,MAGICMA,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
//###################################################################### ends here
return(0);
}
return(0);
}
return(0);
}
return(0);
}
}
//+------------------------------------------------------------------+Stop emirlerinizin mevcut fiyattan ne kadar uzakta olması gerektiğini belirlemek için MarketInfo(NULL,MODE_STOPLEVEL) kullanmalısınız. Unutmayın, değerini pip olarak döndürür.
Ancak, şunun gibi bir şey kullanarak Puanlara dönüştürebilirsiniz:
double MinDist = NormalizeDouble(MarketInfo(NULL,MODE_STOPLEVEL)*Nokta, Rakamlar);
Şimdi stop emirlerinizin mevcut piyasa fiyatından en az o kadar uzakta olduğundan emin olun. Bu arada NormalizeDouble ve Digits kullanarak pip değerini ondalıktan (4 veya 2) sonra uygun yerlere çeviriyorsunuz. MT4'te bu çok güzel bir şey.
Bu yardımcı olur umarım.
Maji
Stop emirlerinizin mevcut fiyattan ne kadar uzakta olması gerektiğini belirlemek için MarketInfo(NULL,MODE_STOPLEVEL) kullanmalısınız. Unutmayın, değerini pip olarak döndürür.
Ancak, şunun gibi bir şey kullanarak Puanlara dönüştürebilirsiniz:
double MinDist = NormalizeDouble(MarketInfo(NULL,MODE_STOPLEVEL)*Nokta, Rakamlar);
Şimdi stop emirlerinizin mevcut piyasa fiyatından en az o kadar uzakta olduğundan emin olun. Bu arada NormalizeDouble ve Digits kullanarak pip değerini ondalıktan (4 veya 2) sonra uygun yerlere çeviriyorsunuz. MT4'te bu çok güzel bir şey.
Bu yardımcı olur umarım.
MajiAnlamadığım şey, göstergeyi neden bir filtre olarak eklemenin sipariş verme veya durma şeklini bozduğu. Söyleyebileceğim kadarıyla bunların hiçbirini değiştirmedi, peki neden çizginin üzerinde işlemlere izin vermemek stop emirlerini verme şeklini değiştiriyor?
Sakıncası yoksa, bana mevcut kodu e-posta ile gönder. Hafta sonu bakmaya çalışacağım. Düzelteceğime söz veremem ama dürüst bir şekilde bakıp deneyeceğim.
işte ilk önce bakman gereken senin problemin
Ask and upLevel are in "price" (like 115.56 or 1.2678) while longrange is in pips (like 4,5,6) and u cannot mixed them. U have to normalize the pips to "price" and this is done by muliplying the pips with Points
the corrected code is like that
[PHP]if(isCrossed == 1 && Ask < upLevel-longrange*Point)bir kere bu kolay bir çözüm...
bir tek...
... o gönderiyi yaptığımdan beri değiştirdim. ..Bantları daha geniş veya daha dar yapmak için göstergeyi bir parametre ile değiştirdim ve EA'nın çizgiye yakınlık sınırı yapan kısmını çıkardım. Eğer ticaret gruplarını dar veya geniş yapabilirsem, aynı işlevi çok karmaşık olmadan yerine getirebilirsem ve benim için zihinsel olarak takip etmenin daha kolay olacağını düşündüm.... o yüzden...
şu anda durum böyle...
double upLevel = iCustom(NULL,TF, "Trend Bands v3", back, bandwidth, 0, 0);
double LowLevel = iCustom(NULL,TF, "Trend Bands v3", back, bandwidth, 2, 0);
// ENTRY
if(total < 2 || isNewSumbol(Symbol())) //I have modified the if condition too: it was total<1 (orBanAway aka cucurucu)
{
double HedgeLots = (HedgePercent/100)*Lots; //calculates the Lots for the hedged position
if(isCrossed == 1 && Ask < upLevel)
{
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,comment,MAGICMA,0,Green);
elsehem sor hem de üst seviye, her ikisinin de fiyatı değil mi? bu, hala hatayı oluşturan koddur. daha devam ediyor olmalı..
şimdiye kadar herhangi bir sorun görmüyorum (kod odaklı)
Ama mantıklı olarak şuna bak
if(isCrossed == 1 && < upLevel sor)
Yakın olduklarını kontrol etmiyorsunuz, sadece fiyatın hattan daha düşük olduğunu kontrol ediyorsunuz.
bende olduğunu biliyordum!!!
Tam olarak ne almak istediğinizi test ediyorum ve önceki gönderilerimde sadece yanlış EA'yı koydum.
Bu EA, hepsinin aynı anda üstün olup olmadığını kontrol etmek için 4 TF'ye kadar kontrol edebilir. İsterseniz sadece birini seçebilirsiniz.
Bir göstergeden mantığın nasıl çıkarılacağını ve birden fazla TF'nin nasıl birleştirileceğini örnek olarak kullanabilirsiniz.
Saygılarımızla
Eli
bende olduğunu biliyordum!!!
Tam olarak ne almak istediğinizi test ediyorum ve önceki gönderilerimde sadece yanlış EA'yı koydum.
Bu EA, hepsinin aynı anda üstün olup olmadığını kontrol etmek için 4 TF'ye kadar kontrol edebilir. İsterseniz sadece birini seçebilirsiniz.
Bir göstergeden mantığın nasıl çıkarılacağını ve birden fazla TF'nin nasıl birleştirileceğini örnek olarak kullanabilirsiniz.
Saygılarımızla
Elibu ilgi çekici Henüz çoklu TF göstergelerini gerçekten incelemedim ama bunların bir değeri olduğuna inanıyorum.