[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 187
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Örneğin, val1[c] satırı 0.45 yukarıyı kestiğinde, TimeBegin değişkenine zaman değeri atanır.
Ve bu süre bir değişkene nasıl atanır?
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:
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
Ve bu süre bir değişkene nasıl atanır?
Kim'in koleksiyonunda böyle bir işlev var
Daha fazla ayrıntı verebilir misiniz? Onu nerede bulabilirim? Kim'in koleksiyonunu nerede bulabilirim?
"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ı);
}
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