[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 348

 

hayır, sadece ihtiyacın var

OrderSend("EURUSD", OP_BUY,0.1,Ask,0,Ask-400*Puan,Ask+100*Puan);

Sadece Bai için doğru yazıldığından dur.

Köyler için diğer yönde aynıdır, işaretler SL + yukarı, TP-aşağı

ve ayrıca OrderSend'e geçmeden önce karakter basamakları için tüm uzlaşma fiyatlarını normalleştirmeniz önerilir.

NormalizeDouble (Sor-100*Puan, Rakamlar)

 
-Viktoria- :
...belirli zaman dilimlerini vurgulayan bir gösterge...
i-Sessions-02.mq4
 
Çok teşekkürler!!! :)
 
Roger :


Bunu yapabilirsiniz, iki boyutlu bir dizi ilan edersiniz, gerekli miktarda veriyi oraya aktarırsınız, ardından ilk boyuta göre sıralarsınız. İkinci boyut, çubuk numaralarını içerecektir. Netlik için, bir örnek üzerinde nasıl çalıştığını görün

Bir şey anlamıyorum.

Bildirilen çiftler şu şekilde:

double a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;

Bunları birimlerle başlattı ve bir diziye ekledi:

int start() {

a1=Volume[1],
a2=Volume[2],
a3=Volume[3],
a4=Volume[4],
a5=Volume[5],
a6=Volume[6],
a7=Volume[7],
a8=Volume[8],
a9=Volume[9],
a10=Volume[10];

int mas1[10]={a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}; // Вот здесь компилятор что-то хочет в конце строки
int mas2[10][2];


Derlerken bir hata veriyor - virgül veya noktalı virgül bekleniyor

Bana neye ihtiyacı olduğunu söyle?

 
sergeev :

hayır, sadece ihtiyacın var

OrderSend("EURUSD", OP_BUY,0.1,Ask,0,Ask-400*Puan,Ask+100*Puan);

Bu mümkün değildir, bu durumda Ask tablodan alınacaktır. Gerekli

 double newAsk = MarketInfo( "EURUSD" ,MODE_ASK);
OrderSend ( "EURUSD" , OP_BUY, 0.1 ,newAsk, 0 ,newAsk- 400 * Point ,newAsk+ 100 * Point );
 
-xlapex- :

Bir şey anlamıyorum.

Diziler bu şekilde bildirilemez ve sizin durumunuzda buna gerek yok, zaten bir Volume diziniz var, bu yüzden onu aşağıdaki gibi bir yere karşılık gelen dizine sahip bir döngüye ekleyin:

mas2[i,0]=Hacim[i];

 
Roger :

Diziler bu şekilde bildirilemez ve sizin durumunuzda buna gerek yok, zaten bir Volume diziniz var, bu yüzden onu aşağıdaki gibi bir yere karşılık gelen dizine sahip bir döngüye ekleyin:

mas2[i,0]=Hacim[i];

Çok teşekkür ederim Roger , sonunda nasıl yapacağımı anladım!
 
Roger :

Diziler bu şekilde bildirilemez ve sizin durumunuzda buna gerek yok, zaten bir Volume diziniz var, bu yüzden onu aşağıdaki gibi bir yere karşılık gelen dizine sahip bir döngüye ekleyin:

mas2[i,0]=Hacim[i];

Aynı konuyla ilgili başka bir soru.

Sıralamadan sonra, dizilerdeki verileri bir uyarıda görüntülüyorum:

ArraySort (mas2);
min_2=mas2[ 2 , 0 ];
min_V2=mas2[ 2 , 1 ];
Alert (min_2," ",min_V2," ", High [min_V2]);

Her şey güzel bir şekilde sergileniyor.

AMA, grafiklerle göstermeye çalışırsam - tepki yok! :

ArraySort (mas2);
min_1=mas2[ 1 , 0 ];
min_V1=mas2[ 1 , 1 ];
min_2=mas2[ 2 , 0 ];
min_V2=mas2[ 2 , 1 ];

ObjectCreate ( "" , OBJ_HLINE, 0 , 0 , High [min_V2]) ;
ObjectSet ( "" , OBJPROP_COLOR ,Ex_col_1);
ObjectSet ( "" , OBJPROP_STYLE , 0 );
ObjectSet ( "" , OBJPROP_WIDTH , 2 );



Ne yapmalıyız?

 
-xlapex- :

Aynı konuyla ilgili başka bir soru. Ne yapmalıyız?

рабочий пример:

void create_line( string name_line, double level, color c, int style, int w){
   if ( ObjectFind (name_line)< 0 ) {
   
   ObjectCreate (name_line, OBJ_HLINE , 0 , 0 , 0 );
  ObjectSet(name_line, OBJPROP_PRICE1, level);
  ObjectSet(name_line, OBJPROP_COLOR , c);
  ObjectSet(name_line, OBJPROP_STYLE , style);
  ObjectSet(name_line, OBJPROP_WIDTH , w);
   WindowRedraw();      }  
   
   else {
   ObjectMove (name_line, 0 ,Time[ 1 ],level);  
  WindowRedraw();      } 
                  } 
 
To :

Denemiş ve öyle, çizmek istemiyor. Bazı nedenlerden dolayı terminal, sahip olduğum gibi bu tür FİYAT koordinatını tanımıyor - Min_V2'nin bir dizi öğesi olduğu yüksek [min_V2] . Bir dizi öğesinin Yazdırma, Mesaj veya Uyarı olarak değil de grafikte bir nesne olarak nasıl görüntüleneceğini anlamıyorum. Üstelik bu örnek benim için dizilerle ilgili ilk örnek değil - bir sorun ...

Neden: