Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 184

 
Roger :
Bu dakika boyunca danışman onun için kırk sipariş açacak.

Ya ilki açılmazsa? Bir sonraki sinyali bekle? İyi:

Bir sinyal var --> Bu mum üzerinde bir emir/pozisyon verilmiş/açılmış mı diye kontrol ettik, hayır --> yerleştirdik/açtık, var --> artık ihtiyacımız yok demektir.

 
Sepulca :

Yani ya sipariş sayısını ya da sadece fonksiyona yapılan ilk çağrıyı kontrol etmeniz gerekiyor..


Yani sizinki gibi sadece bir satır değil.
 
Yardımlarınız için hepinize teşekkür ederim. İşlev çalışıyor. Sonuç alındı.
 
extern int SecondsAfterTheBar = 0; 

int start(){
...
if(NewBar() == TRUE){
...
}
return(0);
}

bool NewBar(){
   RefreshRates();
   static bool initial = FALSE;
   static datetime stat_dtime = 0;
   if ((TimeCurrent() - stat_dtime >= Time[0] - Time[1] + SecondsAfterTheBar) == TRUE){
      stat_dtime = Time[0];
    if (initial == TRUE){
      return(TRUE);
    }else{
      initial = TRUE;
      }
   }
  return(FALSE);
}

Geç gibi görünüyor, ancak çözümüm yine de birileri için faydalı olabilir:

 
digits :

Geç gibi görünüyor, ancak çözümüm yine de birileri için faydalı olabilir:


Sana da teşekkürler. Daha evrensel ise

bool NewBar( datetime SecondsAfterTheBar = 0 )

Ardından, arama yaparken saniye cinsinden bir gecikme belirtebilirsiniz.

 


Merhaba arkadaşlar. Lütfen bana bir önceki mumdaki göstergenin renk değerini nasıl alacağımı ve bunu bir değişkene nasıl yazacağımı söyleyin, örneğin kırmızı ise çift sütun =1, sarı ise 2, yeşil ise 3. Anladığım kadarıyla renk değeri arabellekte bir birimin varlığına bağlı, ancak nedense son sabit değeri tam olarak çıkarmak mümkün değil, yani. aktif bir mum üzerinde, yeni bir mum göründüğünde sürekli renk değiştirir, önceki mum son aktif renkle kapatılır. Nasıl tanınır?)

 #property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 1

#property  indicator_buffers 3
#property  indicator_color1  DarkGreen
#property  indicator_color2  Crimson
#property  indicator_color3  Yellow
//---- indicator parameters      
extern int RSI= 8 ;
extern int valeur1= 55 ;
extern int valeur2= 45 ;

//---- indicator buffers
double    ExtBuffer1[];
double    ExtBuffer2[];
double    ExtBuffer3[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle ( 0 , DRAW_HISTOGRAM , EMPTY, 4 ,DarkGreen);
   SetIndexBuffer ( 0 ,ExtBuffer1);
   SetIndexStyle ( 1 , DRAW_HISTOGRAM , EMPTY, 4 ,Crimson);
   SetIndexBuffer ( 1 ,ExtBuffer2);
   SetIndexStyle ( 2 , DRAW_HISTOGRAM , EMPTY, 4 ,Yellow);
   SetIndexBuffer ( 2 ,ExtBuffer3);
//---- names
   IndicatorShortName( "RSI above/under 45/55" );
   SetIndexLabel( 0 , "RSI" +RSI + " is above 55" );
   SetIndexLabel( 1 , "RSI" +RSI + " is under 45" );
   SetIndexLabel( 2 , "RSI is in the mid zone " );
//---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Moving Averages                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
//---- macd counted in the 1st buffer
   for ( int i= 0 ; i<limit; i++)
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)<=valeur2) 
        {
        ExtBuffer2[i]= 1 ;
        }
       else
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)>=valeur1)
        {
        ExtBuffer1[i]= 1 ;
        }
       else 
        ExtBuffer3[i]= 1 ;
   
   return ( 0 );
  }

işte renk:

Gösterge

Cevap için teşekkürler.

 
Kero :


Merhaba arkadaşlar. Lütfen bana bir önceki mumdaki göstergenin renk değerini nasıl alacağımı ve bunu bir değişkene nasıl yazacağımı söyleyin, örneğin kırmızı ise çift sütun =1, sarı ise 2, yeşil ise 3. Anladığım kadarıyla renk değeri arabellekte bir birimin varlığına bağlı, ancak nedense son sabit değeri tam olarak çıkarmak mümkün değil, yani. aktif bir mum üzerinde, yeni bir mum göründüğünde sürekli renk değiştirir, önceki mum son aktif renkle kapatılır. Nasıl tanınır?)

 int col;
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
//---- macd counted in the 1st buffer
   for ( int i= 0 ; i<limit; i++)
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)<=valeur2) 
        {
        ExtBuffer2[i]= 1 ; if (i= 1 )col = 1 ; return ;
        }
       else
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)>=valeur1)
        {
        ExtBuffer1[i]= 1 ; if (i= 1 )col = 3 ; return ;
        }
       else 
       {
        ExtBuffer3[i]= 1 ;
         if (i= 1 )col = 2 ;
       }
   return ( 0 );
  }
bunun gibi - renkler sayılarla karıştırılmıyorsa
 

Bu emirleri açmak için bir koşul mu??? Doğru şekilde anladım

 
KeinRich :

Bu emirleri açmak için bir koşul mu??? Doğru şekilde anladım


Bu, canınız ne istiyorsa onun için bir koşuldur, çünkü bu kullanıcı tanımlı işlevlerin ne yaptığını yalnızca adlarıyla tahmin edebilirsiniz.
order_total( 0 )
open( 0 ,Lot, 0 ,TP);
last_trade( 1 );
modify_orders( 1 );

 
KeinRich :

Herkese merhaba ... Beyler bana burada ne yazdığını söyleyin

int başlangıç()
...

dönüş(0);

Hepsi tamamen benim tahminlerime ve sadece muhtemelen:

 int start() {
   Comment (Info());                 // Вывод какой-то информации на экран
   int KOL_BUY  = order_total( 0 );   // Подсчёт количества Buy-позиций
   int KOL_SELL = order_total( 1 );   // Подсчёт количества Sell-позиций
   double l;                              

   if (order_total()== 0 ) {           // Если количество ордеров равно нулю
      open( 0 ,Lot, 0 ,TP);             // Открываем Buy лотом Lot скорее всего без стопа, но с тейком
      open( 1 ,Lot, 0 ,TP);             // Открываем Sell лотом Lot скорее всего без стопа, но с тейком
      }
   if (KOL_BUY== 0 && KOL_SELL!= 0 ) { // Если нет Buy и есть Sell
      open( 0 ,Lot, 0 ,TP);             // Открываем Buy лотом Lot скорее всего без стопа, но с тейком
      l=last_trade( 1 );               // Берём лот прошлой Sell
      open( 1 ,l, 0 , 0 );                 // Открываем Sell лотом прошлой Sell скорее всего без стопа и тейка
      modify_orders( 1 );             // Что-то модифицируем в Sell (в какой и что - не понятно)
      }
   if (KOL_BUY!= 0 && KOL_SELL== 0 ) { // Если нет Sell и есть Buy
      open( 1 ,Lot, 0 ,TP);             // Открываем Sell лотом Lot скорее всего без стопа, но с тейком
      l=last_trade( 0 );               // Берём лот прошлой Buy
      open( 0 ,l, 0 , 0 );                 // Открываем Buy лотом прошлой Buy скорее всего без стопа и тейка
      modify_orders( 0 );             // Что-то модифицируем в Buy (в какой и что - не понятно)
      }
   return ( 0 );                       // Выход из start()
}