[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 326
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
Sorun ifadesinden.
- Grafikte bir çizginin varlığını komut dosyasından tanıyın.
- Satır varsa, başlangıç ve bitiş fiyatını değişkenlere yazdırın; değişkenlerde çubuk numaralarını (veya zamanı) görüntüleyin.
- Programlı olarak gerekli hesaplamaları yapın.
- Sonuçları ekranda (veya bir metin belgesinde veya bir uzman günlüğünde) görüntüleyin
Bu 4 görev hemen çözülemiyorsa işe dili öğrenerek başlamalısınız.
d nkn! teşekkür etmek! Bunu halledeceğim!!!
Bir sır değil. Burada bununla ilgili çok şey yazılıp çiziliyor. Hikayenin nasıl oluşturulduğu önemli değil. Buradaki nokta, Uzman Danışmanın üzerinde çalışması için grafiği güncellemektir.
WinAPI kullanılarak yapılabilir. Burada defalarca anlatıldı. Kendi kitaplığımı yazdım. Burada yayınlandı .
Grafiğin çevrimdışı güncellemesini yönetme işlevlerine sahiptir. Herhangi bir komut dosyası veya uzman gerektirmez. Ama herkes için değil. Herkesin bir Uzman Danışmandan veya bir komut dosyasından veya bir göstergeden grafiği güncellemesi için kullanılabilen işlevler de vardır. Kullanımları daha zordur. Çünkü hangi programlarınızın zamanlamayı güncelleyeceğini bulmanız gerekecek. Örnekler test komut dosyasındadır.
Bir noob'a yardım et. konuyu güncelleyeceğim.
Grafikte iki nokta var, 2. nokta sıfır çubuğuna daha yakın ve 1. nokta tarihte sıfır çubuğuna daha uzak olan nokta. Bu iki noktadan bir trend çizgisi oluşturmaya çalışıyorum,
segmenti bu noktalar arasında uzatarak N (değişken int RayLong) ileri aralıklar. Kod aşağıdaki gibidir:
Sorun - hesaplanan nokta tarihe göre yüzüyor. Fiyat için her şey yolunda. Ancak tarihe göre normalde yüzer. Print aracılığıyla, bunun tahmini tarihin grafikte olmadığı durumlarda - hafta sonları veya tatil günleri - olduğu sonucuna vardım. Lütfen soruna bir çözüm önerin.Yorumlarda görüntülenmek üzere günlük dosyasının son satırını "yalıtmak" için hazır bir çözümünüz var mı?
Bir noob'a yardım et. konuyu güncelleyeceğim.
Grafikte iki nokta var, 2. nokta sıfır çubuğuna daha yakın ve 1. nokta tarihte sıfır çubuğuna daha uzak olan nokta. Bu iki noktadan bir trend çizgisi oluşturmaya çalışıyorum,
segmenti bu noktalar arasında uzatarak N (değişken int RayLong) ileri aralıklar. Kod aşağıdaki gibidir:
Sorun - hesaplanan nokta tarihe göre yüzüyor. Fiyat için her şey yolunda. Ancak tarihe göre normalde yüzer. Print aracılığıyla, bunun tahmini tarihin grafikte olmadığı durumlarda - hafta sonları veya tatil günleri - olduğu sonucuna vardım. Lütfen soruna bir çözüm önerin.Sorunu anlamıyorum... Fiyat ve çubuklara göre inşa ederseniz, o zaman... sonuçta, grafikte hafta sonu ve çalışma dışı gün çubukları yok. Bu, işlem günlerinin tarihlerine karşılık gelen sonraki çubuklar için trend çizgisinin devam etmesi gerektiği anlamına gelir.
Yoksa farklı bir şey mi var?
lütfen bana dizinin aşağıdaki kodda bekleyen sipariş biletleriyle doldurulup doldurulmayacağını söyleyin:
int bilet[];
int SetFunk()
{
(i=0; i<=k-1; i++) için
{
bilet[i]=OrderSend(Symbol(),OP_BUYSTOP,0.01*Lot,Ask+Step*i*Puan,3,Bid-S_Loss*Puan,0,"",10000,0,Yeşil);
bilet[i+k]=OrderSend(Symbol(),OP_SELLSTOP,0.01*Lots,Bid-Step*i*Puan,3,Ask+S_Loss*Puan,0,"",10000,0,Yeşil);
}
}
?????
Print() ile yazdırmaya çalışırken sıfırlar döndürülür
lütfen bana dizinin aşağıdaki kodda bekleyen sipariş biletleriyle doldurulup doldurulmayacağını söyleyin:
int bilet[];
int SetFunk()
{
(i=0; i<=k-1; i++) için
{
bilet[i]=OrderSend(Symbol(),OP_BUYSTOP,0.01*Lot,Ask+Step*i*Puan,3,Bid-S_Loss*Puan,0,"",10000,0,Yeşil);
bilet[i+k]=OrderSend(Symbol(),OP_SELLSTOP,0.01*Lots,Bid-Step*i*Puan,3,Ask+S_Loss*Puan,0,"",10000,0,Yeşil);
}
}
?????
Print() ile yazdırmaya çalışırken sıfırlar döndürülür
Merhaba.
Danışman var.
Resimde gösterilen hareketli ortalama seviyelerini nasıl gösterebilirim?
Şimdi sadece sıfırları gösteriyor.
//+------------------------------------------- --------------------+//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0)-0.0015,0),Kırmızı,10,20,0,20);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0),0),Kırmızı,10,50,0,20);
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
void SetLabel(dize nm, dize tx, renk cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm,tx,fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
Merhaba.
Danışman var.
Resimde gösterilen hareketli ortalama seviyelerini nasıl gösterebilirim?
Şimdi sadece sıfırları gösteriyor.
//+------------------------------------------- --------------------+//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- ------ ----------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(), 13,30,8 ,MODE_SMA,PRICE_CLOSE,0)-0.0015,0),Red,10,20,0,20);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(), 13,30,8 ,MODE_SMA,PRICE_CLOSE,0),0),Kırmızı,10,50,0,20);
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
void SetLabel(dize nm, dize tx, renk cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm,tx,fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
double iMA ( string sembolü, int zaman çerçevesi , int periyodu, int ma_shift, int ma_method, int uygulanan_fiyat, int shift)
13. zaman dilimi hakkında henüz bir şey duymadım