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
Merhaba Wolfe
Bunun daha önce ele alındığını biliyorum, ancak biri bana bar başına yalnızca 1 ticarete izin verecek bir kod gösterebilir mi? Teşekkürler.
Bu benim için çalışıyor
tarihsaat LastOpenTime=0;
/////////////////////////////////////
int Sipariş;
for(int t=0;t<OrdersTotal();t++)
{
if(Sipariş Seçimi(t, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumbers && OrderType() == OP_SEL)
{
if(OrderOpenTime()>LastOpenTime)LastOpenTime=OrderOpenTime();
}
}
}
Sonra sadece koduma yapıştırırım
if(SonAçılmaZamanı0)
{ OrderSend(filan filan)
Zaman[0], zaman çerçevenizin mumunun başlangıcıdır, bu nedenle doğru zaman çerçevesini seçtiğinizden emin olun.
Bu benim için çalışıyor
tarihsaat LastOpenTime=0;
/////////////////////////////////////
....................
Zaman[0], zaman çerçevenizin mumunun başlangıcıdır, bu nedenle doğru zaman çerçevesini seçtiğinizden emin olun.Bu biraz daha basit olabilir:
datetime LastOpenTime; //Global var
[/CODE]
[CODE]
int init()
{
LastOpenTime=Time[0];
}
int start()
{
................
if(LastOpenTime!=Time[0])
{
// do your trade code
LastOpenTime=Time[0];
}
..............
return(0);
}"Ticaret kodunuz" herhangi bir mum üzerinde yalnızca bir kez yürütülecektir. MT4'ünüzü kapatıp tekrar açsanız bile artık o mum üzerinde herhangi bir işlem olmayacak. Ama lütfen dikkat edin, diyelim ki EA'yı akşam 5'te bir mum üzerinde etkinleştirdiniz, o mumda da herhangi bir işlem olmayacak, bir sonraki mumu beklemeniz gerekiyor.
Bunun daha önce ele alındığını biliyorum, ancak biri bana bar başına yalnızca 1 ticarete izin verecek bir kod gösterebilir mi? Teşekkürler.
Global, bunu init()'ten önce koy
In the order placement and/or order close stuff, wrap it in this:
{
if blah blah blah, gimme pips // not actual functions but you get the idea
if blah blah blah, close orders // um
}Common function outside main loop:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}Programlama Yardımı
Merhaba,
Bazı şeyleri programlamak için elimden geleni yapıyorum ama bir tuğla duvara çarptım. Bu yüzden çok basit bir şey denedim. "Print("Beş");" yorumunu kaldırırsam ve programı test edin, yalnızca "Yahoooooooo" yazdıracaktır. (Eh, Bir'i de yazdırıyor.) Şimdi "Yazdır("Beş");" yorumuyla, "Yahooooooo" bile yazdırmıyor. Neyi kaçırıyorum??
1 işlem TP'ye ulaştığında tüm bekleyen ve açık emirleri kapatın
Merhaba,
EA'ma, TP'yi vuran 1 işlem olduğunda bekleyen ve açık tüm emirleri kapatacak bir kod yazmaya çalışıyorum. Aşağıda kullandığım kodlar çalışmıyor gibi görünüyor. Birisi bir göz atabilir ve neyin eksik olduğunu söyleyebilir. Teşekkürler.
if( ÖncekiOpenOrders > OpenSiparişler )
{
for( cnt = OrdersTotal()-1; cnt >= 0; cnt-- )
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mod = OrderType();
if( OrderSymbol() == Symbol() &&
OrderMagicNumber()==Büyü)
{
if( mode == OP_BUY ) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue);
if( mode == OP_SELL ) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red);
if (mod == OP_SELLLIMIT) OrderDelete(OrderTicket());
if (mod == OP_BUYLIMIT) OrderDelete(OrderTicket());
}
}
}
}
OrderClosePrice() yerine sırasıyla Bid ve Ask kullanın...
OrderClosePrice() yerine sırasıyla Bid ve Ask kullanın...
merhaba ralph,
örnek vererek yardımcı olurmusunuz Yardım için teşekkürler.
Merhaba, bazı şeyleri programlamak için elimden geleni yapıyorum ama bir tuğla duvara çarptım. Bu yüzden çok basit bir şey denedim. "Print("Beş");" yorumunu kaldırırsam ve programı test edin, yalnızca "Yahoooooooo" yazdıracaktır. (Eh, Bir'i de yazdırıyor.) Şimdi "Yazdır("Beş");" yorumuyla, "Yahooooooo" bile yazdırmıyor. Neyi kaçırıyorum??
Parantez kullanmazsanız, yalnızca bir satır yürütülür. Ne yapmak istediğine bağlı, ama bunu şöyle yapmalısın:
{
Print("Five");
Print("Yahoooooooooooooooooooooooo");
}if( mode == OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Blue);
if( mode == OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);
Durdur Bir Kez Hareket Et
İşte belirli bir kârdan sonra stoploss'u başa baş noktasına taşımak için kodum. Bunda yanlış bir şey var mı?
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(Bid - OrderOpenPrice() == Point * MoveStopWhenPrice) {
OrderModify(OrderTicket(),OrderOpenPrice(), Bid - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}