Nasıl kodlanır? - sayfa 335

 
mladen:
Bu kısım

if(newbar==Zaman[0])dönüş(0);

başka newbar=Zaman[0];

int bilet, toplam;

if(Çubuklar<100)

{

Print("100'den küçük barlar");

dönüş(0);

}

if(Kâr Al<10)

{

Print("Kar Al 10'dan az");

dönüş(0); // TakeProfit'i kontrol edin

}

Yeni bir çubuğun ilk işareti değilse ve kar > 10 pip değilse, ea'nın emirleri belirli bir zamanda kapatmasını engelliyor

Merhaba mladen, kodlamanın o kısmını kaldırdım ve hala cihazım istediğim zamanlamada kapanmıyor.

Nedeni ne olabilir bir fikriniz var mı? Teşekkürler.

Saygılarımızla

Ryan

 
tkuan77:
Merhaba mladen, kodlamanın o kısmını kaldırdım ve hala cihazım istediğim zamanlamada kapanmıyor.

Nedeni ne olabilir bir fikriniz var mı? Teşekkürler.

Saygılarımızla

Ryan

Yazıldığı şekilde, sadece emirleri kapatacak ve sadece komisyoncu zamanı tam olarak 07:00:00 ise

 
mladen:
Yazıldığı şekilde, sadece emirleri kapatacak ve sadece komisyoncu zamanı tam olarak 07:00:00 ise

Merhaba mladen, burada çalışmıyor gibi göründüğü için bunun başka bir yolu var mı?

Saygılarımızla

Ryan

 
tkuan77:
Merhaba mladen, burada çalışmıyor gibi göründüğü için bunun başka bir yolu var mı?

Saygılarımızla

Ryan

kullanmayı deneyin

If (TimeCurrent()>= StringToTime("07:00:00"))

yerine

 
mladen:
kullanmayı deneyin

If (TimeCurrent()>= StringToTime("07:00:00"))

yerine

Merhaba mladen, hala çalışmıyor. Buradaki satırlardan kaynaklanıp kaynaklanmayacağını merak ediyorum... ya OrdersTotal ya da OrderSelect soruna neden oluyor olabilir?

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

Saygılarımızla

Ryan

 
tkuan77:
Merhaba mladen, hala çalışmıyor. Buradaki satırlardan kaynaklanıp kaynaklanmayacağını merak ediyorum... ya OrdersTotal ya da OrderSelect soruna neden oluyor olabilir?

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

Saygılarımızla

Ryan

Hayır. Bu satırlar doğru

 
mladen:
Hayır. Bu satırlar doğru

Merhaba mladen, çünkü ben herhangi bir zamanda sadece 1 işlem yapmak için ea'mı ayarladım ve OrdersTotal'ın int i sayımı 1-1 ile negatif 0 olarak ayarladığını fark ettim, i>=0; ben-- benim i=-1 yapacak

yani bu hata olabilir mi diye merak ediyordum.

else if(toplam > 1) //zamana göre siparişleri kapatmak için... henüz çözülmedi.

{

if (Saat()==7 && Dakika()==30)

{

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Mavi);

}

if (OrderType()==OP_SEL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Kırmızı);

}

}

}

}//

}

dönüş(0);

}

 
tkuan77:
Merhaba mladen, çünkü ben herhangi bir zamanda sadece 1 işlem yapmak için ea'mı ayarladım ve OrdersTotal'ın int i sayımı 1-1 ile negatif 0 olarak ayarladığını fark ettim, i>=0; i-- benim i=-1 yapacak

yani bu hata olabilir mi diye merak ediyordum.

else if(toplam > 1) //zamana göre siparişleri kapatmak için... henüz çözülmedi.

{

if (Saat()==7 && Dakika()==30)

{

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Mavi);

}

if (OrderType()==OP_SEL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Kırmızı);

}

}

}

}//

}

dönüş(0);

}

Lütfen şunu değiştirin: f (Hour()==7 && Minute()==30) size gönderdiğim satırla ve sonra deneyin

Açılmış bir sipariş varsa OrdersTotal() 1 döndürür. OrderSelect() kullanılırken, bu 0 (OrdersTotal()-1) doğru sırayı seçecektir. OrdersTotal() 0 döndürürse, aktif emir havuzunda açık emir yok demektir.

 
mladen:
Lütfen şunu değiştirin: f (Hour()==7 && Minute()==30) size gönderdiğim satırla ve deneyin, o zaman açık bir emir varsa OrdersTotal() 1 döndürür. OrderSelect() kullanılırken, bu 0 (OrdersTotal()-1) doğru sırayı seçecektir. OrdersTotal() 0 döndürürse, aktif emir havuzunda açık emir yok demektir.

Merhaba mladen, üzülerek söylüyorum ki tekrar denedim ve hala çalışmıyor.

İşlemimi belirli bir zamanlamaya göre kapatabilmemin başka bir yolu var mı?

Saygılarımızla

Ryan

 
mladen:
Lütfen şunu değiştirin: f (Hour()==7 && Minute()==30) size gönderdiğim satırla ve deneyin, o zaman açık bir emir varsa OrdersTotal() 1 döndürür. OrderSelect() kullanılırken, bu 0 (OrdersTotal()-1) doğru sırayı seçecektir. OrdersTotal() 0 döndürürse, aktif emir havuzunda açık emir yok demektir.

Merhaba mladen, sorunu çözmeyi başardım. bu astar soruna neden oluyor gibi görünüyor .. kaldırdıktan sonra kod çalışıyor.

başka if(toplam > 1)

Yardımınız için teşekkürler...

Saygılarımızla

Ryan