İyi günler, siparişlerin yanlış kapatılmasıyla ilgili sorunu çözmenize yardımcı olmanızı rica ediyorum.
Uzman Danışman, pozitif bir kar elde ederken, siparişler tablosundaki ilk siparişi, son siparişi ve sondan bir önceki siparişi kapatır.
demo hesapta her şey yolundadır; gerçek hayatta sadece minimum ve sondan bir öncekiler kapalıdır. Bu sorunla karşılaştım, sonra tüm sipariş tablosunu kapatmak gerekiyordu ve sorun alıntılardaydı, ardından bayrak kuruldu ve sorun çözüldü. Burada da aynısını yaptım ama sorun gitmedi.
Bayrak:
int flag_close3= 0 ;
//-------------------------------------------------------------------+ Команда на закрытие мин макс и предпоследнего ордеров в сетке профит = 0if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
flag_close3= 1 ;
}
//-------------------------------------------------------------------+ Флаг на закрытие ордеровif (flag_close3== 1 )
ClosseMinMaxPenultimateOrdersZero();
//+----------------------------------------------------------------------------+//| Закрытие минимального максимального и предпоследнего ордеров профит = 0 |//+----------------------------------------------------------------------------+void ClosseMinMaxPenultimateOrdersZero()
{
int slipp = ( int ) MarketInfo( _Symbol , MODE_SPREAD )* 2 ;
for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
{
if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
if (OrderClose(GetTicketPenultimateOrder(), FindPenultimateLots(), Bid, slipp) && OrderClose(GetTicketMinOrder(), GetMinLotOrder(), Bid, slipp) &&
OrderClose(GetTicketMaxOrder(), FindLastLots(), Bid, slipp))
{
SendNotification ( "Закрылся минимальный максимальный и предпоследний ордера на покупку: " + Symbol () + ", Баланс: " + DoubleToString ( NormalizeDouble (AccountBalance(), 2 ))
+ ", Свободно денежных средств: " + DoubleToString ( NormalizeDouble (AccountFreeMargin(), 2 )));
Print ( "Максимальный и минимальный ордера на покупку успешно закрыты!" );
}
else
{
Print ( "Не удалось закрыть максимальный и минимальный ордера на покупку!" , GetLastError ());
}
}
}
if (OrderType() == OP_SELL)
{
if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
if (OrderClose(GetTicketPenultimateOrder(), FindPenultimateLots(), Ask, slipp) && OrderClose(GetTicketMinOrder(), GetMinLotOrder(), Ask, slipp) &&
OrderClose(GetTicketMaxOrder(), FindLastLots(), Ask, slipp))
{
SendNotification ( "Закрылся минимальный максимальный и предпоследний ордера на продажу: " + Symbol () + ", Баланс: " + DoubleToString ( NormalizeDouble (AccountBalance(), 2 ))
+ ", Свободно денежных средств: " + DoubleToString ( NormalizeDouble (AccountFreeMargin(), 2 )));
Print ( "Максимальный и минимальный ордера на продажу успешно закрыты!" );
}
else
{
Print ( "Не удалось закрыть максимальный и минимальный ордера на продажу!" , GetLastError ());
}
}
}
}
}
}
}
EVGENII SHELIPOV demo hesapta her şey yolundadır; gerçek hayatta sadece minimum ve sondan bir öncekiler kapalıdır. Bu sorunla karşılaştım, sonra tüm sipariş tablosunu kapatmak gerekiyordu ve sorun alıntılardaydı, ardından bayrak kuruldu ve sorun çözüldü. Burada da aynısını yaptım ama sorun gitmedi.
//-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену мин и макс ордеров и текстаif ( CountTrade() == 0 || Drawdown < DrawdownClosingMinMaxOrdersZero)
{
flag_close2= 0 ;flag_close3= 0 ;
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Bir günlük anınız var mı?
hayır. İhtiyacım olanı nasıl uygulayacağımı öğrenmedim - muhtemelen ikinci yinelemeden işe yarayacak ;-)
Maxim Kuznetsov size nasıl cevap verdi. Okuyordum?
İyi günler, siparişlerin yanlış kapatılmasıyla ilgili sorunu çözmenize yardımcı olmanızı rica ediyorum.
Uzman Danışman, pozitif bir kar elde ederken, siparişler tablosundaki ilk siparişi, son siparişi ve sondan bir önceki siparişi kapatır.
demo hesapta her şey yolundadır; gerçek hayatta sadece minimum ve sondan bir öncekiler kapalıdır. Bu sorunla karşılaştım, sonra tüm sipariş tablosunu kapatmak gerekiyordu ve sorun alıntılardaydı, ardından bayrak kuruldu ve sorun çözüldü. Burada da aynısını yaptım ama sorun gitmedi.
Bayrak:
Teşekkürler!!!!
Bayrak:
Teşekkürler!!!!
Bayrağınız nerede sıfıra ayarlandı?
buraya yapıştırırsam düzelir
buraya yapıştırırsam düzelir
Numara. Böylece tüm siparişler kapatıldığında sıfırlanacaktır.
Tüm siparişleri kapatmanız gerekmediği göz önüne alındığında, biletleri gözden geçirmek ve kapatmak daha iyidir.
Numara. Böylece tüm siparişler kapatıldığında sıfırlanacaktır.
Tüm siparişleri kapatmanız gerekmediği göz önüne alındığında, biletleri gözden geçirmek ve kapatmak daha iyidir.
şimdi bir dakika bekle
şimdi bir dakika bekle
ve bu yüzden
Numara. Böylece tüm siparişler kapatıldığında sıfırlanacaktır.
Tüm siparişleri kapatmanız gerekmediği göz önüne alındığında, biletleri gözden geçirmek ve kapatmak daha iyidir.
Ama emirleri kapatma işlevinde biletleri sıralamıyor muyum?
ve bu yüzden
Bu, sipariş yoksa