Yani, Alert ( "OrderTicket()" , OrderTicket ( )); satırı; Son döngünün hala taahhüt edilmediğini ne söyleyebiliriz !!
İşte günlük Daha önce sık sık kodları yeniden yazarım, sık sık hatalarla karşılaştım bence 4108 ve 4050, şimdi hata yok !! Eh, evet, her durumda çalışmıyor!
Yani doğru, se .. Chezh Ben çizgide akıllı mıydım?
Şöyle yapalım... Kimse kendini vurmasın ve emir almasın... :))
Sırayla başlayalım. İlk olarak, en son kapatılan pozisyonu bulalım ve aşağıdakileri alarak kapandığını kontrol edelim:
int j=- 1 ;
datetime t;
// Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfitfor ( int i= 0 ; i< OrdersHistoryTotal (); i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
if ( OrderSymbol ()!= Symbol ()) continue ;
if ( OrderType ()> 1 ) continue ;
if ( OrderMagicNumber ()== 1000 || OrderMagicNumber ()== 2000 ) {
if (t< OrderCloseTime ()) {
t= OrderCloseTime ();
j=i;
}
}
}
}
if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
if ( NormalizeDouble ( OrderClosePrice ()- OrderTakeProfit (), Digits )< 0.5 * Point ) {
Alert ( "Позиция с тикетом #" , OrderTicket (), " закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера" );
// Здесь код для закрытия всех открытых позиций (тоже в цикле)// Здесь код для удаления всех отложенных ордеров (также в цикле)
}
}
Bu:
// Здесь код для закрытия всех открытых позиций (тоже в цикле)// Здесь код для удаления всех отложенных ордеров (также в цикле)
Yani, Alert ( "OrderTicket()" , OrderTicket ( )); satırı; Son döngünün hala taahhüt edilmediğini ne söyleyebiliriz !!
İşte günlük
Daha önce sık sık kodları yeniden yazarım, sık sık hatalarla karşılaştım bence 4108 ve 4050, şimdi hata yok !! Eh, evet, her durumda çalışmıyor!
Evet, oldu, sonra köpek karıştırdı
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()
|| OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()) {
Yani doğru, se .. Chezh Ben çizgide akıllı mıydım?
Evet, oldu, sonra köpek karıştırdı
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()
|| OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()) {
Yani doğru, se .. Chezh Ben çizgide akıllı mıydım?
ancak şu anda uzaktan bekleyen bir emir olabilir ve sonuç olağandışı olacaktır;)
Anlamıyorum, uzakları seçmiyorum, tarihin modasını değil. Tamam, hayır, bu bir çıkmaz.
-AAA!! Bu yüzden şimdi parantez içinde her iki tarafı da alacağım !! TEŞEKKÜR EDERİM!!!!!
Vay!
Yani, şimdilik duş paholundayım.Kızartma ..
Anlamıyorum, uzakları seçmiyorum, tarihin modasını değil. Tamam, hayır, bu bir çıkmaz.
Silinmesi gereken 1 bekleyen siparişimiz olduğunu ve satıra ulaştığımızı düşünelim (okuma kolaylığı için operatörlere bölünmüştür)
bu yüzden bu emrimiz var:
1) sil, şu sırada:
a) şanslıydık ve o gitti
b) Fiyatı çok yakın olduğu için / sunucu aşırı yüklendiği için / internet yeni düştüğü için silinmeyebilir / vb. Ama yine de devam ediyoruz
2) her şeyin kötü olduğunu yazarsak
3) emri kapatın (bekleyen!! ilk paragrafta sildiğimiz!!!)
sonuç ... %100 tahmin edemiyorum ama görünüşe göre başka bir hata
4) bununla ilgili bir mesaj göster
Evet, oldu, sonra köpek karıştırdı
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()
|| OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()) {
Yani doğru, se .. Chezh Ben çizgide akıllı mıydım?
Şöyle yapalım... Kimse kendini vurmasın ve emir almasın... :))
Sırayla başlayalım. İlk olarak, en son kapatılan pozisyonu bulalım ve aşağıdakileri alarak kapandığını kontrol edelim:
Bu:
ödevin olacak... :)