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

 
NayTmeR :

Örneğin, val1[c] satırı 0.45 yukarıyı kestiğinde, TimeBegin değişkenine zaman değeri atanır.

Soru nedir? geçerken zaman nasıl hatırlanır? önce bir kavşak olup olmadığını kontrol edin, sonra hatırlayın
 

Ve bu süre bir değişkene nasıl atanır?

 
eddy :
iyi ve oklar açılış çubuğunda. sen onlara bir renk ver

Anladığımdan pek emin değilim. açılış çubuğunda oklar var, ancak karşılık gelen işlev - OrderSend() tarafından çiziliyor. Bu oklar OrderModify() tarafından çizilen oklara ait değil mi? OrderModify() yardımıyla sadece okların rengini ayarlamakla kalmayıp, aynı zamanda SL değişkeninin değerini değiştirerek stop loss seviyesini de değiştirdiğimi anlıyorum. Yardım diyor ki:

bool OrderModify ( int bilet, çift fiyat, çift stoploss, çift kâr, tarih saat sona erme, color arrow_color=CLR_NONE)

Daha önce açılmış pozisyonların veya bekleyen emirlerin parametrelerini değiştirir.

Yani sadece okun rengi değişmekle kalmaz, aynı zamanda "önceden açılmış olan" emirlerin parametrelerini de değiştirir. Yani teorik olarak durakları değiştirmeli VE okları çizmelidir. Ve nedense olmuyor.

 

"yalnızca" sözcüğü okla ilgiliydi ve işlevin genel olarak ne yaptığıyla ilgili değildi.

стрелки на баре открытия есть, но нарисованные соответствующей функцией - OrderSend(). Эти стрелки же не относятся к стрелкам, рисуемым OrderModify()?

ne hakkında konuşuyorum. Sonuçta, bir dur ve/veya bir SİPARİŞ alıyorsunuz, böylece okları değişiyor. daha fazla ok oluşturulması gerektiğini nereden aldınız? fonksiyon renklerini ayarlar

 
NayTmeR :

Ve bu süre bir değişkene nasıl atanır?

Kim'in koleksiyonunda böyle bir işlev var
 
todem :
Kim'in koleksiyonunda böyle bir işlev var

Daha fazla ayrıntı verebilir misiniz? Onu nerede bulabilirim? Kim'in koleksiyonunu nerede bulabilirim?
 
eddy :

"yalnızca" sözcüğü okla ilgiliydi ve işlevin genel olarak ne yaptığıyla ilgili değildi.

ne hakkında konuşuyorum. Sonuçta, bir dur ve/veya bir SİPARİŞ alıyorsunuz, böylece okları değişiyor. daha fazla ok oluşturulması gerektiğini nereden aldınız? fonksiyon renklerini ayarlar

OrderModify() için yardım şunları söylüyor:

ok_color - Grafikteki stoploss ve/veya kar alma modifikasyon oklarının rengi. Parametre yoksa veya değeri CLR_NONE'a eşitse, grafikteki oklar görüntülenmez.

Yani OrderModify() benim anladığım kadarıyla stickler çiziyor çünkü "MODIFICATION arrow" yazıyor yani OrderSend tarafından oluşturulan sadece aç/kapat okları değil, OrderModify tarafından oluşturulan modifikasyon okları da var. Ve bu MODIFICATION okları, yalnızca parametre yoksa veya CLR_NONE değerine eşitse eksik olabilir. Ve bir parametrem var ve "Yeşil"e eşit. Değişiklik oklarının varlığından veya yokluğundan sorumlu özel bir parametre olmadığını anlıyorum, bu, CLR_NONE öğesinin yokluğu veya eşitliği ile kontrol edilir. Aynı yardımda OrderSend ile benzetme yaparak yargılıyorum:

ok_color - Grafikteki açılış okunun rengi. Parametre yoksa veya değeri CLR_NONE'a eşitse, açılış oku grafikte görüntülenmez.

 

Lütfen isCloseLastPosByStop işleviyle ilgili yardım edin ().

isCloseLastPosByStop işlevini MetaEditor'a ekliyorum () (ancak yalnızca https://www.mql5.com/ru/forum/107476/page21 sayfasında yazılanlar).

Başarısız bir derlemeden sonra aşağıdaki hatalar görüntülenir:

'(' - işlev tanımı beklenmeyen

't' - değişken tanımlanmadı

't' - değişken tanımlanmadı

'}' - dengesiz parantezler

Mesele bu fonksiyonda çünkü. Kodun geri kalanını yorumladım.

 

Herkese merhaba! Lütfen aşağıdaki şeyleri birleştirmeme yardım edin. Sonuç olarak, ortaya çıkmalı: fiyatı takip eden iki satır, 20p'ye kadar Sor'un altında bir satır,

diğeri daha yüksektir ve fiyat 20p değiştiğinde sesli bir sinyal de verilir. 1 tik için.

Ayrı ayrı her şey akıllıca çalışıyor ama bir araya getiremiyorum. Şimdiden teşekkürler!

1) Hat, 20p'ye kadar Sor'un altındadır.

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask-20*Puan) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask-20*Puan);
dönüş(0);
}

//+------------------------------------------- --------------------+

2) Hat, 20p'ye kadar Sor'un üzerindedir.

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask+20*Puan) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask+20*Puan);
dönüş(0);
}

//+------------------------------------------- --------------------+

3) Zaman içinde fiyat değişim oranı.

#özellik show_inputs

harici int pip=2; // soruyu değiştir
dış çift Zaman_=0.1; //c. ~tik
extern bool all_from_market_watch=true; // sadece geçerli karakter yanlış

int i, l, p, karakter_sayısı;
string val[], to_screen;
int Ask_save[];

//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
geçersiz başlangıç(){
number_of_symbols=SymbolsList(val, true);//val dizisi araçlarına ve onların NumbersList işlevini çağıran numaralarına yaz
ArrayResize(Ask_save,number_of_characters);
if(number_of_symbols == -1){ Alert("SembolsList'te dosya açılırken hata oluştu(string &Symbols[], bool Selected)"); dönüş;}
if(!all_from_market_watch){
number_of_characters=1;
ArrayResize(Ask_save,number_of_characters);
ArrayResize(val,number_of_characters);
val[0]=Sembol();
}

while(true&&!IsStopped()){ //eğer etkinse ve betiği durdurmuyorsak devam edeceğiz

Alert("+Süre_+" saniye içinde yeniden hesaplayın.");

for(i=0;i<number_of_symbols;i++){//piyasadan alınan enstrümanlar için spread maliyetini hesaplayın
if((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT))>=pipler){
Alert(val[i]+","+Period()+", "+DoubleToStr((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)) olarak değiştirildi, 0)+"pip");
PlaySound("zaman aşımı.wav");
}
if((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pipler){
Alert(val[i]+","+Period()+", "+DoubleToStr((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i]) olarak değiştirildi, 0)+"pip");
PlaySound("email.wav");
}
Ask_save[i]=MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT);
}
Uyku(Zaman_*1000);//duraklat sn.
}

/*
number_of_symbols=SymbolsList(val, true);//val dizisi araçlarına ve onların NumbersList işlevini çağıran numaralarına yaz
if(number_of_symbols == -1){ Alert("SembolsList'te dosya açılırken hata oluştu(string &Symbols[], bool Selected)"); dönüş;}

while(true&&!IsStopped()){ //eğer etkinse ve betiği durdurmuyorsak devam edeceğiz
to_screen="\r\n"; // girinti
for(i=0;i<number_of_symbols;i++)//piyasa saatinden enstrümanlar için spread maliyetini hesaplayın
to_screen=to_screen+val[i]+" spread value = " + DoubleToStr(MarketInfo(val[i],MODE_SPREAD)*MarketInfo(val[i],MODE_TICKVALUE),0)+"\r\n";
Yorum(to_screen);//görüntüle
Alert("Yeniden hesapla");//sinyal
Uyku(3000);//duraklat 3 sn.
}
*/
}
void deinit(){Yorum("");}
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=


//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
// fonksiyon, piyasaya genel bakıştan tüm finansal enstrümanları okur
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
int SymbolsList(string &Symbols[], bool Selected){
int Ofset, SymbolsNumber; string SembollerDosyaAdı;
if(Seçili) SymbolsFileName = "symbols.sel"; else SymbolsFileName = "symbols.raw";
int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ);
if(hFile < 0) dönüş(-1); if(Seçili) { SymbolsNumber = (FileSize(hFile) - 4) / 128; ofset = 116; }
else { SymbolsNumber = FileSize(hFile) / 1936; ofset = 1924; }
ArrayResize(Semboller, SymbolsNumber);
if(Seçili) FileSeek(hFile, 4, SEEK_SET);
for(int i = 0; i < SymbolsNumber; i++){Symbols[i] = FileReadString(hFile, 12); FileSeek(hFile, Ofset, SEEK_CUR);}
FileClose(hFile);
dönüş(SembolSayısı);
}

 
globad :

Herkese merhaba! Lütfen aşağıdaki şeyleri birleştirmeme yardım edin. Sonuç olarak, ortaya çıkmalı: fiyatı takip eden iki satır, 20p'ye kadar sor.,..

Bu sorduğun kişilere saygısızlıktır. Kodu nasıl düzgün şekilde düzenleyeceğinizi öğrenin -> SRC