Ve bundan bir "çizgi film" yapalım (çok para birimi) - sayfa 5

 

Erken sevindi. Derleme hatasız, ancak test cihazında bir emir açıldığında bu fonksiyon aracılığıyla göstergeye fiyat gönderilmez. Aramayı şöyle yapıyorum: OP=PriceOpenLastPos(); Ancak yorumlarda VEYA sıfıra eşit kalıyor.

Test cihazının sorunu bu mu, görselleştirme modunda pencerede asılı olan göstergeye değer aktarmıyor mu?

 
Angela писал(а) >>

Erken sevindi. Derleme hatasız, ancak test cihazında bir emir açıldığında bu fonksiyon aracılığıyla göstergeye fiyat gönderilmez. Aramayı şöyle yapıyorum: OP=PriceOpenLastPos(); Ancak yorumlarda VEYA sıfıra eşit kalıyor.

Test cihazının sorunu bu mu, görselleştirme modunda pencerede asılı olan göstergeye değer aktarmıyor mu?

Gösterge, test cihazında neler olduğunu göremiyor. Şimdi, eğer gerçek emirler açılsaydı, onlara gösterecekti.

 
ALex2008 писал(а) >>

Lütfen cevapla)

 //-------Поиск ордеров
bool WorkOrders ( ) {
       for ( int i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
       if ( ! OrderSelect ( i , SELECT_BY_POS ) )    continue ;
       if ( OrderSymbol ( ) ! = Symbol ( ) )          continue ;
      Type = OrderType ( ) ;
      Ticket = OrderTicket ( ) ;
       return ( true ) ;
   }
   return ( false ) ;   
}
 
Vinin >> :

Düzeltildi ... Ama sorun devam etti (

DellAllOrders() Siparişleri Sil işlevi çalışmıyor..

 //-------Удаление всех ордеров
void DellAllOrders ( ) {
      if ( WorkOrders ( ) ) OrderClose ( Ticket , OrderLots ( ) , OrderClosePrice ( ) , 10 ) ;
  }
  
//-------Поиск ордеров
bool WorkOrders ( ) {
      for ( int i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
      if ( ! OrderSelect ( i , SELECT_BY_POS ) )  continue ;
      if ( OrderSymbol ( ) ! = Symbol ( ) )        continue ;
      Type = OrderType ( ) ;
      Ticket = OrderTicket ( ) ;
      return ( true ) ; }
  return ( false ) ;
  }

Eklemem gerekiyordu gibi görünüyor





OrderDelete(Ticket);

Böyle....?

 //-------Удаление всех ордеров, открытых и отложенных
void DellAllOrders ( ) {
      if ( WorkOrders ( ) ) {
      OrderClose ( Ticket , OrderLots ( ) , OrderClosePrice ( ) , 10 ) ;
      OrderDelete ( Ticket ) ; }
  }
 
ALex2008 писал(а) >>

Düzeltildi ... Ama sorun devam etti (

DellAllOrders() Siparişleri Sil işlevi çalışmıyor..

 //-------Удаление всех ордеров
void DellAllOrders ( ) {
   for ( int i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
       if ( ! OrderSelect ( i , SELECT_BY_POS ) )    continue ;
       if ( OrderSymbol ( ) ! = Symbol ( ) )          continue ;
       if ( OrderType ( ) < = OP_SELL ) OrderClose ( OrderTicket ( ) , OrderLots ( ) , OrderClosePrice ( ) , 10 ) ;
       else OrderDelete ( OrderTicket ( ) ) ;
   }
}
Ertelenenleri de kaldırır
 
Vinin >> :
Ertelenenleri de kaldırır

Teşekkür ederim)

Şimdi çalışması gerekiyor gibi görünüyor..

 //-------Удаление всех ордеров, открытых и отложенных
void DellAllOrders ( ) {
      if ( WorkOrders ( ) ) {
      if ( Type < =1 ) OrderClose ( Ticket , OrderLots ( ) , OrderClosePrice ( ) , 10 ) ;
      else OrderDelete ( Ticket ) ; }
  }
Ayrıca, danışmanı yeniden kaydederseniz ikinci bir kayıp durdurma ayarında bir hata fark ettim (terminali yeniden başlatırsanız aynı olacağını düşünüyorum) ...
stoploss ayarlamadan önce kontrol eklendi..-


if(WorkOrders())
      if ((Type<=1)&& (Stop==0))SetStop();



 //-------Поиск ордеров
bool WorkOrders ( ) {
      for ( int i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
      if ( ! OrderSelect ( i , SELECT_BY_POS ) )  continue ;
      if ( OrderSymbol ( ) ! = Symbol ( ) )        continue ;
      Type  = OrderType ( ) ;
      Ticket = OrderTicket ( ) ;
      Stop  = OrderStopLoss ( ) ;
      return ( true ) ; }
  return ( false ) ;
  }
 
İnsanlar) Bakın ... belki başka bir şey yanlış, ne düzeltmeli?
 
ALex2008 >> :
İnsanlar) Bakın ... belki başka bir şey yanlış, ne düzeltmeli?
 OrderSend ( Symbol ( ) , OP_BUYSTOP , 0.1 , Enter , 0 , 0 , Ask + Profit , 0 , 0 , 0 , Green ) ;

Yani amaçlandı mı? ya da hala

Enter + Profit
 
Swan >> :

Yani amaçlandı mı? ya da hala

Ve gerçek bir hatadır) Eh, bu bir erteleme, kesinlikle !! ... Teşekkürler. yeniden yapıldı.

 
ALex2008 >> :

Ve gerçek bir hatadır) Gerçek kritik değil ... Teşekkürler.

her zaman 130 hatası.

StopLoss ve Enter için StopLevel kontrol edilmelidir.


ve ischo

if(b0<b1) StopLoss=b1;
else StopLoss=b0;

En büyüğü seçilmeli mi?