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

 
skyjet :

Lütfen söyleyin bana, göstergem koşul sağlandığında oklar çiziyor, bu okların açılma durumundaki görünümü nasıl belirtilmelidir? Göstergeyi Uzman Danışmana aktardığımdan beri!

Yanlış aktarıldı. EA, arabellek göstergeleriyle nasıl çalışacağını bilmiyor - bunları grafik nesnelerle değiştirmeli veya iCustom kullanmalısınız.
 

Bu arada, bir program tarafından bir grafik nesnesi oluştururken fibo seviye tanımlayıcısının nasıl ayarlanacağını bilen var mı?

Peki ya da en azından bu tablodaki düzeltmeleri kaldırın:


 
int deinit()
  {
//----
   ObjectDelete ( "вершина" );
   ObjectDelete ( "основание_первого_снижения  " );
   ObjectDelete ( "начало" );
     ObjectDelete ( "точка4" );
     ObjectDelete ( "пятая_точка!" );
//----
   return ( 0 );
Tünaydın! Tüm nesnelerin temizliği nasıl yazılır? Ve sonra her seferinde kaldırılıyor ve daha sonra daha az.. Ben bu şekilde temizlerken.
 int init()
  {
//---- indicators

SetIndexStyle ( 0 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 0 ,ВерхняячертаBuffer1); //Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue ( 0 , 0.0 );
   
   SetIndexStyle ( 1 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 1 ,НижняячертаBuffer2); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 1 , 0.0 );
   
   SetIndexStyle ( 2 , DRAW_SECTION , STYLE_SOLID ,T, CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 2 ,СинняячертаBuffer3); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 2 , 0.0 );
   
   
   ObjectDelete ( "вершина" );
   ObjectDelete ( "основание_первого_снижения  " );
   ObjectDelete ( "начало" );
     ObjectDelete ( "точка4" );
     ObjectDelete ( "пятая_точка!" );
//----
   return ( 0 );
 
Dimka-novitsek :
Tünaydın! Tüm nesnelerin temizliği nasıl yazılır? Ve sonra her seferinde kaldırılıyor ve daha sonra daha az.. Ben bu şekilde temizlerken.
NesnelerSilTümünü
 

Teşekkürler!!!!!!

İşler!!!!

 

Güzel gün!

Böyle bir şey varsa lütfen bana daireyi belirlemenin güvenilir bir yolunu söyleyin.

 
Sevgili iş arkadaşlarım! Umarım bu soru burada alakalıdır. Bir emrin açılacağı (örneğin, Satış), bir süre sonra değiştirileceği ( açılış fiyatı , SL, TP değişecek) ve bir süre sonra kapatılacağı (ne olursa olsun) en basit program nasıl görünecek? sonuç) ..? Bunu kendim çözemiyorum. Tek gördüğüm, sıralama düzenleri ve her türlü saçma çıktı ile beyin kırıcı kodlar ...
 
evillive :

Güzel gün!

Böyle bir şey varsa lütfen bana daireyi belirlemenin güvenilir bir yolunu söyleyin.


Bir zaman dilimindeki bir trend, diğerinde kolayca düz olabilir. Örneğin, hareketli bir ortalama alabilirsiniz - eğer yana doğruysa, eğilim yana doğrudur.
 
AlexLaptist :
Sevgili iş arkadaşlarım! Umarım bu soru burada alakalıdır. En basit program, bir emrin açılacağı (örneğin, Satış), bir süre sonra değiştirileceği (açık fiyat, SL, TP değişecek) ve bir süre sonra kapanacağı (neden olursa olsun) nasıl görünecek? sonuç) ..? Bunu kendim çözemiyorum. Tek gördüğüm, sıralama düzenleri ve her türlü saçma çıktı ile beyin kırıcı kodlar ...


buraya baktın mı? https://book.mql4.com/en/samples/index

Genel olarak, diğer herhangi bir program gibi, sizinki de her biri belirli bir görevi yerine getiren ayrı bloklardan oluşacaktır. Böyle bir blok alıyoruz ve kodu kendimiz yazıyoruz, hatalarını ayıklıyoruz ve sonra bir sonraki bloğa geçiyoruz. Ve böylece programın sonuna kadar.
 
İyi akşamlar Sevgili forum kullanıcıları!
 //+------------------------------------------------------------------+
//|                                            ИндюкДимонакомпил.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"
#import "user32.dll"
   int    PostMessageA( int   hWnd, int   Msg, int   wParam, string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0 ;

#property indicator_chart_window

#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T= 4 ,K= 200 ;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
int pereklutsatel;
double naklon,linija2; int P; extern int RO=- 1 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

SetIndexStyle ( 0 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 0 ,ВерхняячертаBuffer1); //Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue ( 0 , 0.0 );
   
   SetIndexStyle ( 1 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 1 ,НижняячертаBuffer2); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 1 , 0.0 );
   
   SetIndexStyle ( 2 , DRAW_SECTION , STYLE_SOLID ,T, CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 2 ,СинняячертаBuffer3); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 2 , 0.0 );
   
   
   ObjectDelete ( "вершина" );
   ObjectDelete ( "основание_первого_снижения  " );
   ObjectDelete ( "начало" );
     ObjectDelete ( "точка4" );
     ObjectDelete ( "пятая_точка!" );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete ( "вершина" );
   ObjectDelete ( "основание_первого_снижения  " );
   ObjectDelete ( "начало" );
     ObjectDelete ( "точка4" );
     ObjectDelete ( "пятая_точка!" );
   ObjectsDeleteAll ( WindowOnDropped ( ) , OBJ_TEXT );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int     counted_bars= IndicatorCounted ();
   int limit= Bars -counted_bars- 1 ;

   for ( int i=limit;i>= 0 ;i--) {
//----
 for ( int J= 0 ;J<=RO;J++){
//----

   // for(int i=Bars; i>=0;i--)
   i= Bars ;
      бар_вершина= iHighest ( NULL ,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения= iLowest ( NULL ,  timeframe, MODE_LOW, NormalizeDouble ( бар_вершина/ 2 , 0 ), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало= iLowest ( NULL ,  timeframe, MODE_LOW, NormalizeDouble (бар_вершина* 1.5 , 0 ), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
   ObjectCreate ( "вершина" ,   OBJ_TEXT , WindowOnDropped ( ) , Time[бар_вершина],  вершина+( 10 * Point )) ; 
     ObjectSetText ( "вершина" , "вершина" , 5 , "вершина" , Crimson ) ; // Alert("GetLastError()",GetLastError());
       // ObjectSet(  "вершина",  OBJPROP_COLOR, Crimson) ;
      
   ObjectCreate ( "основание_первого_снижения" ,   OBJ_TEXT , WindowOnDropped ( ) , Time[бар_основание_первого_снижения],  основание_первого_снижения-( 10 * Point )) ; 
     ObjectSetText ( "основание_первого_снижения" , "основание_первого_снижения" , 5 , "основание_первого_снижения" , Crimson ) ;   
   
     ObjectCreate ( "начало" ,   OBJ_TEXT , WindowOnDropped ( ) , Time[бар_начало],  начало-( 10 * Point )) ; 
     ObjectSetText ( "начало" , "начало" , 5 , "начало" , Crimson ) ;   
           
   if (начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 // Alert("naklon  ", naklon);
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало; for (i=бар_начало- 1 ;i>= 0 ;i--){linija2=linija2-naklon;
   
    НижняячертаBuffer2[i]=linija2;   // Alert ("linija2  " , linija2 );  Alert("НижняячертаBuffer2[i]  ", НижняячертаBuffer2[i] , "  i " , i);
     
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i= 0 ;i< 100 ;i++){  СинняячертаBuffer3[i]= Open[i];}
           for (i= 330 ;i< 500 ;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка 4 ; int бар_точка 4 ;   бар_точка 4 = iHighest ( NULL ,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка 4 =High[ бар_точка 4 ];  
   
   if (вершина>точка 4 ){naklon=(начало-точка 4 )/(бар_начало-бар_точка 4 );
   ObjectCreate ( "точка4" ,   OBJ_TEXT , WindowOnDropped ( ) , Time[бар_точка 4 ],  точка 4 +( 10 * Point )) ; 
     ObjectSetText ( "точка4" , "точка4" , 5 , "точка4" , Crimson ) ;  
   double linija1=начало; for (i=бар_начало- 1 ;i>= 0 ;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
double vulf=НижняячертаBuffer2[ 0 ];
   if ( vulf==Ask||vulf==Bid)vulf= 1 ;
 if (vulf+( 10 * Point )>Ask&&vulf-( 10 * Point )<Bid)vulf= 1 ; 
           
       Alert ( "vulf  " , vulf );   Comment ( "  vulf!!! "   , vulf);  
   if (vulf== 1 ){ Comment ( "  Есть вульв!!! "   , "  timeframe " , timeframe);
   ObjectCreate ( "пятая_точка!" ,   OBJ_TEXT , WindowOnDropped ( ) , Time[ 0 ],  Bid-( 10 * Point )) ; 
     ObjectSetText ( "пятая_точка!" , "пятая_точка!" , 5 , "пятая_точка!" , Crimson ) ;   return ( 0 );  }
     if (vulf!= 1 ) {    
   
     if (delimiter< 3 ){delimiter++; Comment (delimiter); return ( 0 );}
   delimiter= 0 ;
    fChangePeriod();P++;
                                 
                   }  } }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

void fChangePeriod(){ int ii,hwd = WindowHandle ( Symbol (), Period ());
   switch ( Period ()){
       case PERIOD_W1     : ii = 33134 ; break ; //PERIOD_D1;
       case PERIOD_D1     : ii = 33136 ; break ; //PERIOD_H4;
       case PERIOD_H4     : ii = 33135 ; break ; //PERIOD_H1;
       case PERIOD_H1     : ii = 33140 ; break ; //PERIOD_M30;
       case PERIOD_M30    : ii = 33139 ; break ; //PERIOD_M15;
       case PERIOD_M15    : ii = 33138 ; break ; //PERIOD_M5;
       case PERIOD_M5     : ii = 33137 ; break ; //PERIOD_M1;
       case PERIOD_M1     : ii = 33141 ; break ; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0 );
   return ;
}
Heykel yaptığımın göstergesi bir şekilde çalışıyor.. Bir çok eksiği var, nasıl desek daha kötüsü.. Diğer şeylerin yanı sıra, her seferinde çiziyor. Evet, çizelgeye çizildiğinde çoğu zaman çizmiyor ama bazen çiziyor.. Ortak sebep ne olabilir?