[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 500

 

Peki, programlamada bir meşe kişiye söyle

Bu hayvan sipariş açarken tarihe bakar mı bakmaz mı?

 extern int dDay;
//extern bool fl;

int init()
  {
       return ( 0 );
  }

int deinit()
  {
       return ( 0 );
  }

int start()
  {
       double MA2,MA3;
       double Fr,Fr1;
       double SAR;
       double prof;
       int total,cnt;
      
      MA2 = iMA ( NULL , 0 , 2 , 0 , MODE_SMA , PRICE_CLOSE , 0 );
      MA3 = iMA ( NULL , 0 , 5 , 0 , MODE_SMA , PRICE_CLOSE , 0 );
      Fr = iForce ( NULL , 0 , 2 , MODE_SMA , PRICE_CLOSE , 0 );
      Fr1 = iForce ( NULL , 0 , 2 , MODE_SMA , PRICE_CLOSE , 1 );
      
       //SAR = iSAR(NULL,0,0.2,2,0);
      
       if (( Hour () == 22 ) && ( OrdersTotal () == 0 ) && (dDay != Day()))
      {
         //if(Open[0] > MA) // BUY
         if (MA3 < MA2)
         //if(SAR < Open[0])
         {
             OrderSend ( Symbol (),OP_BUY, 1 ,Ask, 3 , 0 ,Ask+ 0.0010 , "" , 2 , 0 , Blue );
             //fl = true;
         }
         //if(Open[0] < MA) // SELL
         if (MA3 > MA2)
         //if(SAR > Open[0])
         {
             OrderSend ( Symbol (),OP_SELL, 1 ,Bid, 3 , 0 ,Bid- 0.0010 , "" , 1 , 0 , Red );
             //fl = true;
         }
      
         dDay = Day();
      }
      
       /*if((Hour() == 8) && (OrdersTotal() == 1) && fl)
      {
         fl = false;
         if(OrdersTotal() != 0)
         {
            total = OrdersTotal();
            for(cnt=0;cnt<total;cnt++)
            {  
               OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);         
               prof = OrderProfit() / 10;
               if(prof <= -10)
               {
                  if(OrderType()==OP_BUY)
                  {
                     OrderClose(OrderTicket(), OrderLots(), Bid, 3, Yellow);   
                     OrderSend(Symbol(),OP_SELL,1,Bid,3,0,Bid-0.0010,"",1,0,Red);
                  }
                  if(OrderType()==OP_SELL)
                  {
                     OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
                     OrderSend(Symbol(),OP_BUY,1,Ask,3,0,Ask+0.0010,"",2,0,Blue);
                  }
               }
            }
         }
      }*/
  
      
       if ( OrdersTotal () != 0 )
      {
         total = OrdersTotal ();
         for (cnt= 0 ;cnt<total;cnt++)
         {  
             OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);                     
            prof = OrderProfit () / 10 ;
             if (prof >= 4 )
            {
               if ( OrderType ()==OP_BUY)
               {
                   OrderClose ( OrderTicket (), OrderLots (), Bid, 3 , Yellow );   
               }
               if ( OrderType ()==OP_SELL)
               {
                   OrderClose ( OrderTicket (), OrderLots (), Ask, 3 , Red );
               }
            }
         }
      }

       return ( 0 );
  }
 
baykanur :

Peki, programlamada bir meşe kişiye söyle

Bu hayvan sipariş açarken tarihe bakar mı bakmaz mı?



1) kodu yapıştırırken src etiketini kullanın

2) yorumlananları kaldırın

3) bize ne görmek istediğinizi ve tutarsızlığın ne olduğunu söyleyin

 
ilunga :

1) kodu yapıştırırken src etiketini kullanın

2) yorumlananları kaldırın

3) bize ne görmek istediğinizi ve tutarsızlığın ne olduğunu söyleyin

kaynak eklendi

Ne yorum yapıldığını bilmiyorum

bu ve sorudaki test cihazındaki karlı işlem sayısındaki tutarsızlık

 

Ayrı bir pencerede gösterge değerlerine bağlı olarak grafik üzerinde seviye çizmeyi öğrenmek istiyorum. Örneğin, MACD 0 seviyesini yukarı doğru geçerse, grafikte, geçişin meydana geldiği çubuğun Alçak kısmı boyunca bir çizgi çizilir . Yukarıdan aşağıya geçerken, buna göre Yüksek boyunca bir çizgi çizilir. Bir şeyler yazdım, hatasız derleniyor ama hiçbir şey olmuyor. Bana yardım et lütfen.

 #property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_color1  Blue

double     Buffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle ( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,Buffer);

   return ( 0 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   double level;
   int counted_bars= IndicatorCounted ();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ; i<limit; i++)
      
       double     macd = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE ,MODE_MAIN,i);
       double     macd1 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE ,MODE_MAIN,i+ 1 );
      
       if (macd > 0 && macd1 < 0 )
      {
      level = iLow ( "EURUSD" , PERIOD_M1 ,i); //Почему выскакивает ощибка если написать просто iLow[i]?
      Buffer[i]=level;
      }
       else if (macd < 0 && macd1 > 0 )
      {
      level = iHigh ( "EURUSD" , PERIOD_M1 ,i); //Почему выскакивает ощибка если написать просто iHigh[i]?
      Buffer[i]=level;
      }
   return ( 0 );
  }
 
baykanur :

kaynak eklendi

Ne yorum yapıldığını bilmiyorum

bu ve sorudaki test cihazındaki karlı işlem sayısındaki tutarsızlık

göre her zaman karşılaştırılan 2 nesne vardır.

test cihazı aynı dönemde demo ile eşleşmiyor mu? Örneğin, test cihazının farklı bir yayılımı olduğu için

 
Ichimo :

Ayrı bir pencerede gösterge değerlerine bağlı olarak grafik üzerinde seviye çizmeyi öğrenmek istiyorum. Örneğin, MACD 0 seviyesini yukarı doğru geçerse, grafikte, geçişin meydana geldiği çubuğun Alçak kısmı boyunca bir çizgi çizilir. Yukarıdan aşağıya geçerken, buna göre Yüksek boyunca bir çizgi çizilir. Bir şeyler yazdım, hatasız derleniyor ama hiçbir şey olmuyor. Bana yardım et lütfen.

çizgi en az 2 puandır ;)

Buffer[i]=level;

bu bir nokta, komşu olanlar büyük olasılıkla sıfıra eşittir. çünkü çizgi çekecek bir yer yok

 //Почему выскакивает ощибка если написать просто iLow[i]?
çünkü başlangıçta "i" olmadan Düşük[i]
 
Vinin :

O sepet nerede?
Hemen sepetinize yönlendirebilirim... :)
 
Bir şekilde, iki fiyatla, aralarındaki mesafeyi 3-4 parçaya bölmek, sadece bölmek değil, aynı zamanda ortaya çıkan parçaların her birinin fiyatını bulmak mümkün mü?
 
sss2019 :
Bir şekilde, iki fiyatla, aralarındaki mesafeyi 3-4 parçaya bölmek, sadece bölmek değil, aynı zamanda ortaya çıkan parçaların her birinin fiyatını bulmak mümkün mü?
 double price1;

double price2;

...

if (price1 > price2)
{
   double delta = price1 - price2;
   double level1 = price2 + delta* 0.25 ;
   double level2 = price2 + delta* 0.5 ;
   double level3 = price2 + delta* 0.75 ;
}
=)
 
ilunga :

çizgi en az 2 puandır ;)

bu bir nokta, komşu olanlar büyük olasılıkla sıfıra eşittir. çünkü çizgi çekecek bir yer yok

çünkü başlangıçta "i" olmadan Düşük[i]



Bir önceki noktayı yaratmam ya da bir çizgi değil, bir Ok çizmem gerektiği ortaya çıktı. Teşekkürler, beyin fırtınasına devam edeceğim.