[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 360

 
Vitya >> :

Kilitlemekten bahsediyorsanız anlamamışsınızdır ---- Ben bunda ısrar etmiyorum, kendim kullanmayı bilmiyorum.

Kar getirmeyen pozisyonlardan bazılarını kapatmak mı? ------ Sanırım seçeneği henüz denemedim.

Test cihazında manuel olarak ticaret yapın, cevabı sadece orada (veya demoda) bulacaksınız, burada simülatörün bağlantısı

https://www.mql5.com/ru/code/9185

 
costy_ >> :

Test cihazında manuel olarak ticaret yapın, cevabı sadece orada (veya demoda) bulacaksınız, burada simülatörün bağlantısı

https://www.mql5.com/ru/code/9185

Cevabın yalnızca matematikte veya gerçek ticaret deneyiminin zirvesinde bulunabileceğini düşünüyorum. Ne yazık ki biri ya da diğeri yok. Ve bağlantı için teşekkürler

 
Vitya >> :

Cevabın yalnızca matematikte veya gerçek ticaret deneyiminin zirvesinde bulunabileceğini düşünüyorum. Ne yazık ki biri ya da diğeri yok. Ve bağlantı için teşekkürler

Matematik matematiktir ve ticaret ticarettir, ne burada ne de orada bilgisiz, öğren ve zamanla başaracaksın!

CCI(55) ve MA(55) ile M5 GBPJPY periyodu Fibonacci numarası üzerinden manuel ticarete başlamanızı tavsiye ederim. peki, bu sayı içinde, kendi dönemini ara (bugün benimki 67), çabalarında başarı!

Evet, neredeyse unutuyordum, müzayede zamanı da çok önemli yani müzayedenin açılışı. para birimi ana (ve Amerika ...) olan bölgenin oturumu.

 
Bu modülde her şeyin doğru olup olmadığını kimse kontrol edebilir mi:
 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if ( Mode_Close_Part_Set_BE_1 = = true    & &    OrdersTotal ( ) > 0 ) {

       for ( int cnt_BE = 0 ; cnt_BE < OrdersTotal ( ) ; cnt_BE + + ) {
         OrderSelect ( cnt_BE , SELECT_BY_POS ) ;          // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket ( ) ;

// BUY -----------------------------------------------------------------------------------------
         if ( OrderType ( ) = = OP_BUY    & &    OrderSymbol ( ) = = Symbol ( )    & &    OrderStopLoss ( ) < OrderOpenPrice ( )    & &    Ask > = ( OrderOpenPrice ( ) + MathAbs ( OrderOpenPrice ( ) - OrderStopLoss ( ) ) ) ) {
                   double SL_Original_Buy   = OrderStopLoss ( ) ;

                   bool AnsHalfModifySL_Buy = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , OrderOpenPrice ( ) , OrderTakeProfit ( ) , 0 , Green ) ;
                   Sleep ( Slippage * 3000 ) ;

                   if ( AnsHalfModifySL_Buy = = true ) {
                     BreakEvenStatus_Buy   = true ;
                     Alert ( "SL Buy which was " , SL_Original_Buy , " set to BreakEven at " , OrderStopLoss ( ) , " for " , Symbol ( ) ) ;
                   }

                   if ( Fun_Error ( GetLastError ( ) ) = = 1 ) {        // Обработка ошибок
                     continue ;                              // Повторная попытка
                   }

                   return ;                                  // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if ( OrderType ( ) = = OP_SELL    & &    OrderSymbol ( ) = = Symbol ( )    & &    OrderStopLoss ( ) > OrderOpenPrice ( )    & &    Bid < = ( OrderOpenPrice ( ) - MathAbs ( OrderStopLoss ( ) - OrderOpenPrice ( ) ) ) ) {
                   double SL_Original_Sell   = OrderStopLoss ( ) ;

                   bool AnsHalfModifySL_Sell = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , OrderOpenPrice ( ) , OrderTakeProfit ( ) , 0 , Blue ) ;
                   Sleep ( Slippage * 3000 ) ;

                   if ( AnsHalfModifySL_Sell = = true ) {
                     BreakEvenStatus_Sell   = true ;
                     Alert ( "SL Sell which was " , SL_Original_Sell , " set to BreakEven at " , OrderStopLoss ( ) , " for " , Symbol ( ) ) ;
                   }

                   if ( Fun_Error ( GetLastError ( ) ) = = 1 ) {        // Обработка ошибок
                     continue ;                              // Повторная попытка
                   }

                   return ;                                  // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

       } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Soruyorum, çünkü her aramadan sonra bir mesaj beliriyor: "Bir hata 0 oluştu", ancak her şey doğru çalışıyor gibi görünse de (başabaşa geçiş).





 
chief2000 писал(а) >>
Bu modülde her şeyin doğru olup olmadığını kimse kontrol edebilir mi:

Soruyorum, çünkü her aramadan sonra bir mesaj beliriyor: "Bir hata 0 oluştu", ancak her şey doğru çalışıyor gibi görünse de (başabaşa geçiş).

Büyük olasılıkla, eski fiyatlarla bir siparişi değiştirme girişimi. Yeni ve eski sipariş parametrelerini karşılaştırmak gerekli olacaktır. Ve yalnızca gerekirse değiştirin.

 

OrderModify aslında hiçbir şeyi değiştirmediğinde 0 hatası oluşur - fiyatı eskisiyle değiştirir.

 

İşte bir örnek:




SL=1.1596 ile sipariş açıldı. Daha sonra SL 1.1570 olarak değişti ve son olarak bu hata oluştu.

İkinci tura kalamaz çünkü. bir durum var:

... OrderStopLoss()>OrderOpenPrice() ...


- Ne olabilirdi?





 
chief2000 писал(а) >>

İşte bir örnek:

SL=1.1596 ile sipariş açıldı. Daha sonra SL 1.1570 olarak değişti ve son olarak bu hata oluştu.

İkinci tura kalamaz çünkü. bir durum var:

- Ne olabilirdi?

Belki. Mantıksal koşulları tekrar kontrol edin, ancak sadece sabahları.

Mantığın gömülü olması - bunu yapmanıza izin verir.

 
Vinin >> :

Belki. Mantıksal koşulları tekrar kontrol edin, ancak sadece sabahları.

Mantığın gömülü olması - bunu yapmanıza izin verir.

kontrol edeceğim. Teşekkür ederim!

 

Yardım

 int start ( )    {
//----
Alert ( Minute ( ) , Hour ( ) ) ;
int Dakika ( )
Programın başlatıldığı anda bilinen son sunucu saatinin geçerli dakikasını (0,1,2,..59) döndürür (programın yürütülmesi sırasında bu değer değişmez).

Not: Test sırasında, bilinen son sunucu zamanı simüle edilir.

Ama indikatörde test yapılırken sunucunun bilinen en son zamanı modellenmiyor, böyle mi olması gerekiyor?