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
Bakmak
double NormalizeDouble(çift değer, int basamak)
Rakam = 2 koyarsanız, ne istediğinizi görebilirsiniz.Merhaba,
Sanırım çok net değildim. Örneğin:
- Güncel fiyat 1.3756 ise kod 56 döndürmelidir.
- Güncel fiyat 99.22 ise kod 22 döndürmelidir.
- Mevcut fiyat 1.4499 ise, kod 99 dönmelidir.
Temel olarak, alıntının 4 ondalık veya 2 ondalık basamak olmasına bakılmaksızın son iki basamağın değerini döndürmeye çalışıyorum.
NomalizeDouble, fiyatı yalnızca belirtilen Basamak yerleştirmesine kadar yuvarlar .
Herhangi bir fikri olan var mı?
Merhaba,
Sanırım çok net değildim. Örneğin:
- Güncel fiyat 1.3756 ise kod 56 döndürmelidir.
- Güncel fiyat 99.22 ise kod 22 döndürmelidir.
- Mevcut fiyat 1.4499 ise, kod 99 dönmelidir.
Temel olarak, alıntının 4 ondalık veya 2 ondalık basamak olmasına bakılmaksızın son iki basamağın değerini döndürmeye çalışıyorum.
NomalizeDouble, fiyatı yalnızca belirtilen Basamak yerleştirmesine kadar yuvarlar.
Herhangi bir fikri olan var mı?ОК
double lasttwonumbers=(Bid-MathFloor(Teklif/(Puan*100))*Puan*100)/Puan;
SL 10 Pips veya daha büyükse, birden fazla EA'dan herhangi bir açık bilet siparişini kapatacak bir EA'yı nasıl oluşturabilirim?
Dave
<<<Myfxidea, şamdan desen grafik hizmetidir ve mt4 için uzman danışman sağlar
ОК double lasttwonumbers=(Bid-MathFloor(Bid/(Puan*100))*Puan*100)/Puan;
Tıkır tıkır çalışıyor. Tüm yardımların için teşekkür ederim
Sürükleme Durdurma Yardımı / 1 Risk veya M Pozisyonu
Herkese selam,
Forumda sorunum için bir çözüm aramayı denedim:
EA'mın başında:
if(Ask > mybuyconditions)
{
ticket=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-lowestof10bars), ((BBupper-BBlower)/(Ask-lowestof10bars))*1000 ,"Einstieg 1",magic+1,0,Green);
}
//---- sell conditions
if(Bid < mysellconditions)
{
ticket=OrderSend(Symbol(),OP_SELL,LotsShort(),Bid,Spread,Ask+(highestof10bars-Bid), ((BBupper-BBlower)/(highestof10bars-Bid))/100 ,"Einstieg -1",magic-1,0,Red);
}
//----[/CODE]
Stopploss: its easy 10 bars hi/lo
Takeprofit: here i write my formula for my Trailingstop, and that is:
Take the differenz of BBupper - BBlower at the order open time. Then divide by StopLoss in Pips and you have an Factor. Then take the actual BB differenz and divide it by this Faktor. NOW WE HAVE OUR VOLA BB TRAILINGSTOPP!!!!!
SO, my big problem is now to save this FAKTOR!!!! I saved it in th Takeprofit of Ordersend, it works but it is not right!!!!!
And know the 2te Question:
Position Management:
so my order is open and i have my trailing stopp that trails : So and now if the trailingstop is > orderopenprice send next ORDER!!! It's logical because so i can always sicure to risk just my 1 R Risk.
.... if Trailingstopp is > orderopenprice of secondOrder send 3te order.
HERE MY EXAMPLES:
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+1)
if(OrderStopLoss()< Bid-(oben-unten)/(OrderTakeProfit()/1000))
{
OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);
return;
}
if(OrderStopLoss() > OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 1)
{
ticket1=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-Low),((oben-unten)/(Ask-Low))*1000,"Einstieg 2",magic+2,0,Green);
return;
}
}
{
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2 && CalculateCurrentAfterOrders(Symbol()) <= 1)
{
if(OrderStopLoss()<Bid-(oben-unten)/(OrderTakeProfit()/1000))
{
OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);
return;
}
if(OrderStopLoss() > OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 2)
{
ticket2=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-Low),((oben-unten)/(Ask-Low))*1000,"Einstieg 3",magic+3,0,Green);
return;
}
}
{
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+3 && CalculateCurrentAfterOrders(Symbol()) <= 2)
{
if(OrderStopLoss()< Bid-(oben-unten)/(OrderTakeProfit()/1000))
{
OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);
return;
}
}
}
}[CODE] if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+1)
{
{
OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);
return;
}
if(OrderStopLoss() >= OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 1)
{
ticket1=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,0,0,"Einstieg 2",magic+2,0,Green);
return;
}
}
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2)
{
if(OrderStopLoss() >= OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 2)
{
ticket2=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,0,0,"Einstieg 3",magic+3,0,Green);
return;
}
}
}
{
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2)
{
if(CalculateCurrentOrders(Symbol()) == 0)
{
OrderClose(ticket1,OrderLots(),Ask,Spread,Red); return;
}
}
}
if(OrderType()==OP_BUY && OrderMagicNumber() == magic+3)
{
OrderClose(i,OrderLots(),Ask,Spread,Red); return;
}Umarım birisi bana bu sorunla yardımcı olabilir !!!!! Herkese teşekkürler.
Kod Ekleme Konum size karşı geldiğinde "x" pip sabit tpsl ile ek lot ekleyin
merhaba
çok fazla araştırma yaptım ve bu işlevi EA'ma eklemenin iyi olabileceğini öğrendim
Konum size karşı geldiğinde "20" pip, kendi TP ve SL girişi ile ek "0.1" lotu ekleyin
farkına varmak mümkün mü??
Ayrıca bu Ea çok iyi ama sadece SATIN AL açar
belki reklam "sat" mantığı
Lütfen bana yardım et
Bir Programlama Sorunuyla İlgili Yardıma İhtiyacınız Var
EveryTickMode'u false olarak ayarlarsanız, Metatrader 4'ü önceki pozisyondan çıkmak ve AYNI çubukta yeni pozisyonu açmak için nasıl programlayabilirsiniz? EveryTickMode'u True olarak ayarladığınızda bunu otomatik olarak yapar ancak false olarak ayarladığınızda bir çubuktaki önceki konumu kapatır ve sonraki çubuğun yeni konumu açmasını bekler. ben kullanıyorum
H4 zaman dilimi ve sinyal verildikten sonra yeni bir pozisyon açmak için 4 saat daha beklemek kabul edilemez. Sistemim EveryTickMode=True kullanmak için çok hassas. Herhangi birinin bana bu konuda verebileceği herhangi bir yardım çok takdir edilecektir.
Ordersend hatasını aşmak için gereken yardım 130
Aşağıda benim satın alma fonksiyonum var. order_type değişkenini 1'e (piyasa emri için) ayarlarsam çalışır, bu nedenle stoploss ve takeprofit fonksiyonlarımın çalıştığını biliyorum. Sorun, op_buylimit siparişi için fiyat belirlemede olmalıdır. Sipariş fiyatımı, Ask'ı mum gövdesinin (1. çubukta) uzunluğunun (pct_of_length) bir yüzdesi kadar azaltarak hesaplamaya çalışıyorum. Çok sayıda kodlama varyasyonu denedim (bazıları NormalizeDouble dahil), ancak 130 hatasının ötesine geçemiyorum. Biri yardım edebilir mi? Bu arada IBFX kullanıyorum.
Şimdiden teşekkürler!
bool place_buy_order() {
int bilet, uzunluk_in_pips, offset_in_pips;
çift buy_limit_price;
// pct_of_length, şu anda 10'a ayarlanmış harici bir tamsayıdır
if ( order_type == 2 && pct_of_length > 0 )
{
length_in_pips = MathAbs(Yüksek[1]-Düşük[1]) * MathPow(10,Digits);
offset_in_pips = MathRound(length_in_pips * (pct_of_uzunluk/100));
buy_limit_price = Sor - offset_in_pips * Puan;
bilet = OrderSend(Symbol(),OP_BUYLIMIT,LotSize(),buy_limit_price,0,stoploss("b",buy_limit_price),takeprofit("b",buy_limit_price),"",MAGICMA,0,Mavi);
}
başka
// Market siparişi
bilet = OrderSend(Symbol(),OP_BUY,LotSize(),Ask,Slippage,stoploss("b",Ask),takeprofit("b",Ask),"",MAGICMA,0,Mavi);
if (bilet == -1 ) dönüş(yanlış); başka dönüş(doğru);
}
TP, SL vb. gibi çeşitli değişkenleri yazdırmayı ve doğru ayarlanıp ayarlanmadığını görmeyi denediniz mi? Bu size sorunun nerede olduğuna dair bir ipucu verebilir.
Lüks
EveryTickMode'u false olarak ayarlarsanız, Metatrader 4'ü önceki pozisyondan çıkmak ve AYNI çubukta yeni pozisyonu açmak için nasıl programlayabilirsiniz? EveryTickMode'u True olarak ayarladığınızda bunu otomatik olarak yapar ancak false olarak ayarladığınızda bir çubuktaki önceki konumu kapatır ve sonraki çubuğun yeni konumu açmasını bekler. H4 zaman dilimini kullanıyorum ve sinyal verildikten sonra yeni bir pozisyon açmak için 4 saat daha beklemek kabul edilemez. Sistemim EveryTickMode=True kullanmak için çok hassas. Herhangi birinin bana bu konuda verebileceği herhangi bir yardım çok takdir edilecektir.
EveryTickMode, EA'nın orijinal kodlayıcısının ÖZEL OLARAK içerdiği bir değişkendir, böylece aynı mumda açmayı VEYA bir sonrakinde açmayı seçebilirsiniz.
EA tam olarak tasarlandığı şeyi yapıyor gibi görünüyor, bu yüzden probleminizin ne olduğundan emin değilim.
Değişkeni true olarak ayarladığınızda istediğiniz gibi çalıştığını söylüyorsunuz, sorun ne? Sadece değişkeni true olarak ayarlayın.
Lüks