Kodlama yardımı - sayfa 95

 

Sevgili Herkes, forex ile ilgili bir gönderiye ilk adımım, bu yüzden çok yanlış bir şey söylersem lütfen nazik olmaya çalışın...

Bu web sitesi forex hakkında bilgi edinmek için en iyi yerlerden biri ve birkaç yıldan beri hakkında okuyorum. Bu bağlantıya dikkat çekmek istiyorum: codebase.mql4.com/5900

Bir adet RUBBERBANDS_2 EA Yazar: StJojo (2009.08.17 11:30). Herhangi bir döviz çiftinde (minimum bir optimizasyon çalışmasından sonra) çalışma şekli oldukça ilginçtir. Temelde (bana izin verin ..) yarı otomatik otomatik startegy olarak kullanılabilir. Aslında, yan pazarda çok iyi çalıştığı için, yan pazar olasılığının daha yüksek olduğu Haber aralıklarında etkinleştirilebileceğini keşfettim. Kodun yazar tarafından açık kaynak kodlu hale getirildiğini düşündüğüm için, fikri beğenen varsa, değişkeni belirli bir saat/dakikadan belirli bir saat/dakikada "sessizliğe" çalışmasını sağlamak için eklemek isterim ( yani :mevcut oturum sona erdiğinde bu EA'yı susturmak için). Bu, bir sonraki gün için, nispeten sonraki günlerde Haberlerin "ön programlama" çalışma süresini çok daha kolaylaştıracaktır. Dosyayı yukarıdaki linkten ekledim.

Grafikte yeniyi okumak için kullandığım "forex_news_market_clock" göstergelerini de ekledim.

Bu sitede (ve tabii ki internetin her yerinde) yapılan çalışmalar için herkese teşekkürler. Umarım birileri yardımcı olur, çok teşekkürler.

 
vitoingletto:
Sevgili Herkes, forex ile ilgili bir gönderiye ilk adımım, bu yüzden çok yanlış bir şey söylersem lütfen nazik olmaya çalışın...

Bu web sitesi forex hakkında bilgi edinmek için en iyi yerlerden biri ve birkaç yıldan beri hakkında okuyorum. Bu bağlantıya dikkat çekmek istiyorum: codebase.mql4.com/5900

Bir adet RUBBERBANDS_2 EA Yazar: StJojo (2009.08.17 11:30). Herhangi bir döviz çiftinde (minimum bir optimizasyon çalışmasından sonra) çalışma şekli oldukça ilginçtir. Temelde (bana izin verin ..) yarı otomatik otomatik startegy olarak kullanılabilir. Aslında, yan pazarda çok iyi çalıştığı için, yan pazar olasılığının daha yüksek olduğu Haber aralıklarında etkinleştirilebileceğini keşfettim. Kodun yazar tarafından açık kaynak kodlu hale getirildiğini düşündüğüm için, fikri beğenen varsa, değişkeni belirli bir saat/dakikadan belirli bir saat/dakikada "sessizliğe" çalışmasını sağlamak için eklemek isterim ( yani :mevcut oturum sona erdiğinde bu EA'yı susturmak için). Bu, bir sonraki gün için, nispeten sonraki günlerde Haberlerin "ön programlama" çalışma süresini çok daha kolaylaştıracaktır. Dosyayı yukarıdaki linkten ekledim.

Grafikte yeniyi okumak için kullandığım "forex_news_market_clock" göstergelerini de ekledim.

Bu sitede (ve tabii ki internetin her yerinde) yapılan çalışmalar için herkese teşekkürler. Umarım birisi yardımcı olur, çok teşekkürler.

Merhaba Vitoingletto,

EA için teşekkürler, bir zaman filtresi ve Cuma günü kapanış işlevi ve ayrıca EA'nın siparişler arasında bir şekilde ayrım yapmasına yardımcı olacak sihirli bir sayı eklendi.

Dosyalar:
 

merhaba ...

Verileri bir kerede doğrudan dışa aktaran işlevi (m1, m5, m30, m15, h1, h4, d1 ...) koda açıkça ayrı dosyalara yerleştirip koyamayacağınızı merak ediyorum. Şu anda ve bunu birçok kez başlatmanız gerekiyor ... (her bir kare için).

Verileri dışa aktarmak için önemli bir zaman tasarrufum olurdu.

Bu işlevi kodunuza ekleyebilir misiniz? bir fikir bu ekli komut dosyasına benzer olabilir ( Periyod_converter_auto - MQL4 Kod Tabanı ), bu verileri tek bir volta'ya dönüştürür.Uzmanda oynayabilir mi?

Teşekkürler

 
dr.feelgood1989:
merhaba ...

Verileri bir kerede doğrudan dışa aktaran işlevi (m1, m5, m30, m15, h1, h4, d1 ...) koda açıkça ayrı dosyalara yerleştirip koyamayacağınızı merak ediyorum. Şu anda ve bunu birçok kez başlatmanız gerekiyor ... (her bir kare için).

Verileri dışa aktarmak için önemli bir zaman tasarrufum olurdu.

Bu işlevi kodunuza ekleyebilir misiniz? bir fikir bu ekli komut dosyasına benzer olabilir ( Periyod_converter_auto - MQL4 Kod Tabanı ), bu verileri tek bir volta'ya dönüştürür.Uzmanda oynayabilir mi?

Teşekkürler

dr.hisset1989

Bunu kullanın ve dışa aktarmak istediğiniz tüm zaman dilimlerine ekleyin. Baktığınız her zaman çerçevesi için sembol+"_"+zaman çerçevesi adında bir dosya oluşturacaktır. Özel gösterge dışa aktarmalarınız için şablon olarak kullanabilirsiniz

Dosyalar:
 

cevap için teşekkürler .. Mladen

aslında zaten öyleydim. Gönderdiğim komut dosyası (referans örneği), işi tüm zaman dilimlerinde (dönüşüm) bir kez alır.

uzman, onun değiştirilmiş "tek bir zaman dilimini (dosyayı ayırt etmek için) tek bir kez kullanıldığında "yeniden yazar"

Tek bir uzmana başlamanın diğer tüm zaman dilimlerinde yeniden yazılıp yazılmadığını merak ediyordum (örnek:ea1m test cihazında başlatıldı ve ayrıca dosyalar başka zaman dilimlerinde m5, m15 ...)

Teşekkürler : )

 
mladen:
sayfa ipuçları,

Ana döngü neye benziyor (veya bunu yapmaya çalıştığınız yere bir kod gönderin)

Not: iOpen() ve iClose()'un son parametresini, seçilen bir çubuk için doğru günü gösterecek şekilde değiştirmelisiniz.

Merhaba Mladen,

Buna oldukça takıldım, bu yüzden aynı şeyi yapmanın başka bir yolunu denemeye çalıştım.

Birkaç günlük aramadan sonra bu göstergeyi, ihtiyacım olana yakın buldum, ancak farklı hale getirildi.

Mevcut mumu (günlükten itibaren) görüntüler, ancak bir gün geri görüntülemek için seçilecek iopen/close değişkeni yoktur, yani vardiya -1

Bana bunun x gün için bir vardiya olmasını nasıl sağlayabileceğimi söyler misin? ? Bu nedenle, önceki gün çubuğu kırmızıysa mevcut kutuyu kırmızı yapın, önceki gün yeşilse mevcut kutuyu yeşil yapın.

Bunun üzerine koparma kutusu göstergesini yerleştirebilirim ama bunun zamanla sınırlı olması gerçekten iyi olurdu.

Meşgul olduğunuzu anlıyorum ve zamanınızı ücretsiz olarak verin ama yardımcı olabilirseniz gerçekten minnettar olurum.

Çok teşekkürler

PG

Dosyalar:
 

Merhaba,

Bu konuda hala kafa yoruyorum.

Ekte, önceki gün kapanışına, yani önceki gün yeşil gün veya kırmızıya göre günde renk değişikliği elde etmek için pivot göstergesi kullanmayı başardım.

Şimdi bir dikdörtgen yapmam ve onu saat 11.00 ile 17.00pm arasında görüntülenmesini istediğim süreye göre doldurmam gerekiyor, en yüksek ve en düşük bu süre boyunca ne olursa olsun.

ayarladım //

ObjectCreate("Dikdörtgen", OBJ_RECTANGLE , 0, Zaman[periodBegin], Düşük[1], Zaman[periodEnd], Yüksek[1]);

ancak hata oluştu, hiçbir şey görüntülenmiyor.

extern int periodBegin = 11; //sabah 11:00

extern int periodEnd = 17; // 17:00

extern bool Plot_rectangles=true; bu yüzden her gün için bir şey 'planlamalıdır'.

Burada neyi özlüyorum?

Teşekkür ederim

PG

Dosyalar:
 

Sanırım sorumun cevabını biliyorum ama... yine de onaylamak istiyorum

a. gösterge daha yüksek bir zaman dilimidir

b. geçerli zaman çerçevesidir.

a tabanlı bir trend b kullanmak istiyorum gibi. giriş olarak bu yapılabilir mi?

 
mtuppers:
Sanırım sorumun cevabını biliyorum ama... yine de onaylamak istiyorum

a. gösterge daha yüksek bir zaman dilimidir

b. geçerli zaman çerçevesidir.

a tabanlı bir trend b kullanmak istiyorum gibi. giriş olarak bu yapılabilir mi?

Evet yapabilirsin.

Basitçe timeFrame parametresinde daha yüksek zaman çerçevesine sahip bir a çağırın ve hepsi bu. Çoklu zaman çerçevesi EA'nın geriye dönük test tuzaklarından kaçınmak için, çoklu zaman çerçevesi göstergesinde (0 yerine dizin 1) kapalı çubuğu kullanın, aksi takdirde metatrader'ın geriye dönük testte mevcut zaman çerçeveleri dışındaki aramaları nedeniyle gerçekçi olmayan şekilde iyi sonuçlar alırsınız.

 

merhaba,

Umarım bana bu konuda yardımcı olabilirsiniz. İkinci penceredeki noktaların (oklar; su&sarı) birinci pencerede (ana grafik penceresi) kapanışta (veya satın alma sinyali için yüksek/ satış sinyali için düşük) noktalar (oklar) olarak gösterilmesini istiyorum. Saatlerce denedim ama asla kodlayıcı olmayacağım ;-)

#özellik göstergesi_separate_window

#özellik göstergesi_minimum -100.0

#özellik göstergesi_maksimum 100.0

#özellik göstergesi_levelcolor SlateGray

#özellik göstergesi_düzey stili 1

#özellik göstergesi_tamponları 8

#özellik göstergesi_color1 Kireç

#özellik göstergesi_renk2 Kırmızı

#özellik göstergesi_color3 Siyah

#özellik göstergesi_color4 Siyah

#özellik göstergesi_color5 Siyah

#özellik göstergesi_color6 Siyah

#özellik göstergesi_color7 Su

#özellik göstergesi_color8 Sarı

#özellik göstergesi_width1 1

#özellik göstergesi_düzey1 60.0

#özellik göstergesi_width2 1

#özellik göstergesi_düzey2 50.0

#özellik göstergesi_düzey3 -50.0

#özellik göstergesi_level4 -60.0

harici int WavePeriod = 10;

harici int AvgPeriod = 21;

harici bool SoundAlert = YANLIŞ;

harici bool EmailAlert = YANLIŞ;

çift g_ibuf_92[];

çift g_ibuf_96[];

çift g_ibuf_100[];

çift g_ibuf_104[];

çift g_ibuf_108[];

çift g_ibuf_112[];

çift g_ibuf_116[];

çift g_ibuf_120[];

int gi_124 = -50;

int gi_128 = 50;

int gi_132;

int init() {

GöstergeShortName("TrendWave");

SetIndexBuffer(0, g_ibuf_100);

SetIndexLabel(0, "ESA");

SetIndexStyle(0, DRAW_NONE);

SetIndexDrawBegin(0, 0);

SetIndexBuffer(1, g_ibuf_112);

SetIndexLabel(1, "DD Değerleri");

SetIndexStyle(1, DRAW_NONE);

SetIndexDrawBegin(1, 0);

SetIndexBuffer(2, g_ibuf_104);

SetIndexLabel(2, "DD");

SetIndexStyle(2, DRAW_NONE);

SetIndexDrawBegin(2, 0);

SetIndexBuffer(3, g_ibuf_108);

SetIndexLabel(3, "CI");

SetIndexStyle(3, DRAW_NONE);

SetIndexDrawBegin(3, 0);

SetIndexBuffer(4, g_ibuf_92);

SetIndexLabel(4, "Boğa");

SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 1, Kireç);

SetIndexDrawBegin(4, 0);

SetIndexBuffer(5, g_ibuf_96);

SetIndexLabel(5, "Ayı");

SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, 1, Kırmızı);

SetIndexDrawBegin(5, 0);

SetIndexBuffer(6, g_ibuf_116);

SetIndexLabel(6, "Nokta Satın Al");

SetIndexStyle(6, DRAW_OK, STYLE_SOLID, 2, Aqua);

SetIndexArrow(6, 108);

SetIndexDrawBegin(6, 0);

SetIndexBuffer(7, g_ibuf_120);

SetIndexLabel(7, "Sat Nokta");

SetIndexStyle(7, DRAW_OK, STYLE_SOLID, 2, Sarı);

SetIndexArrow(7, 108);

SetIndexDrawBegin(7, 0);

ArrayResize(g_ibuf_100, Çubuklar);

ArrayResize(g_ibuf_112, Çubuklar);

ArrayResize(g_ibuf_104, Çubuklar);

ArrayResize(g_ibuf_108, Çubuklar);

ArrayResize(g_ibuf_92, Çubuklar);

ArrayResize(g_ibuf_96, Çubuklar);

ArrayResize(g_ibuf_116, Çubuklar);

ArrayResize(g_ibuf_120, Çubuklar);

dönüş (0);

}

int start() {

çift l_ima_on_arr_0;

int li_12 = IndicatorCounted();

if (li_12 < 0) (-1);

if (li_12 > 0) li_12--;

int li_8 = Çubuklar - li_12;

for (int li_16 = li_8; li_16 > 0; li_16--) {

g_ibuf_100[li_16] = iMA(NULL, 0, WavePeriod, 0, MODE_EMA, PRICE_TYPICAL, li_16);

ArraySetAsSeries(g_ibuf_100, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

g_ibuf_112[li_16] = MathAbs((iHigh(NULL, 0, li_16) + iClose(NULL, 0, li_16) + iLow(NULL, 0, li_16)) / 3.0 - g_ibuf_100[li_16]);

ArraySetAsSeries(g_ibuf_112, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

l_ima_on_arr_0 = iMAOnArray(g_ibuf_112, 0, WavePeriod, 0, MODE_EMA, li_16);

g_ibuf_104[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_104, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

if (g_ibuf_104[li_16] > 0.0) g_ibuf_108[li_16] = ((iHigh(NULL, 0, li_16) + iClose(NULL, 0, li_16) + iLow(NULL, 0, li_16)) / 3.0 - g_ibuf_100[li_16] ) / (0.015 * g_ibuf_104[li_16]);

başka g_ibuf_108[li_16] = 0;

ArraySetAsSeries(g_ibuf_108, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

l_ima_on_arr_0 = iMAOnArray(g_ibuf_108, 0, AvgPeriod, 0, MODE_EMA, li_16);

g_ibuf_92[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_92, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

l_ima_on_arr_0 = iMAOnArray(g_ibuf_92, 0, 4, 0, MODE_SMA, li_16);

g_ibuf_96[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_96, DOĞRU);

}

for (li_16 = li_8; li_16 > 0; li_16--) {

if (g_ibuf_92[li_16] >= g_ibuf_96[li_16] && g_ibuf_92[li_16 + 1] <= g_ibuf_96[li_16 + 1] && g_ibuf_92[li_16] < gi_124) {

g_ibuf_116[li_16] = g_ibuf_92[li_16];

SendAlert("satın al");

} else g_ibuf_116[li_16] = -1000;

if (g_ibuf_92[li_16] = g_ibuf_96[li_16 + 1] && g_ibuf_92[li_16] > gi_128) {

g_ibuf_120[li_16] = g_ibuf_96[li_16];

SendAlert("satış");

} else g_ibuf_120[li_16] = -1000;

}

dönüş (0);

}

geçersiz SendAlert(string as_0) {

if (Zaman[0] != gi_132) {

if (SoundAlert) {

if (as_0 == "satın al") Alert(Symbol() + " => " + TimeToStr(TimeCurrent()) + " satın al");

if (as_0 == "sat") Alert(Symbol() + " => " + TimeToStr(TimeCurrent()) + " sat");

}

if (EmailAlert) {

if (as_0 == "satın al") SendMail("TrendWave Uyarısı", Symbol() + " => " + TimeToStr(TimeCurrent()) + " satın al");

if (as_0 == "sat") SendMail("TrendWave Uyarısı", Symbol() + " => " + TimeToStr(TimeCurrent()) + " sat");

}

gi_132 = Zaman[0];

}

}