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

 
drknn :


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!!!
 
Zhunko :

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.

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:

 if (RayLong!= 0 && point1s==true && point2s==true)
{
//расчет цены в будущем
if (price11s>price22s) {price11s= NormalizeDouble (price11s+((price11s-price22s)*RayLong), Digits );} 
if (price11s<price22s) {price11s= NormalizeDouble (price11s-((price22s-price11s)*RayLong), Digits );}
//расчет бара в будущем
int bis= iBarShift ( Symbol (), 0 ,time22s,true)- iBarShift ( Symbol (), 0 ,time11s,true);
Print ( "Sup " + iBarShift ( Symbol (), 0 ,time22s,true)+ " " + iBarShift ( Symbol (), 0 ,time11s,true)+ " " +bis+
" sec=" +bis* Period ()* 60 * NormalizeDouble (RayLong, Digits )+ " Time=" + TimeToStr (time11s+( Period ()* 60 *
( iBarShift ( Symbol (), 0 ,time22s,true)- iBarShift ( Symbol (), 0 ,time11s,true)+ 1 )*RayLong),TIME_DATE|TIME_SECONDS));
time11s=time11s+( Period ()* 60 *(( iBarShift ( Symbol (), 0 ,time22s,true)- iBarShift ( Symbol (), 0 ,time11s,true))*RayLong));
//time11s=time11s+((time11s-time22s)*RayLong); //альтернативный вариант предыдущей строки
}
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.
 
forexnew :
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ı?
Bu faydasız. Günlük dosyası, MT4 boşaltıldıktan sonra veya MT4'ün bunu yapmak için zamanı olduğunda doldurulur.
 
ZZZEROXXX :

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

 
Neden bir bellek sınıfına ihtiyacımız var - statik? Mümkünse, koddaki kullanımına iyi bir örnek verin ve onu diğer bellek sınıflarından - özelliklerden ayıran şeyin altını çizin? Görünüşe göre bu şey işe yaramaz, kim bilir ne?
 
myrzila :

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

önce dizinin boyutunu (ArrayResize) ayarlamanız ve ancak o zaman onunla çalışmanız gerekir.
 

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);
}




 
emilien :


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

Neden: