Nasıl kodlanır? - sayfa 24

 

teşekkür ederim

teşekkür ederim. sen bir hayat tadısın

 
BC Brett:
Keşke cevabım olsaydı.

İlk EA'mı yazmayı yeni bitirdim ve onu Strategy Tester'da test etmeye çalıştım.

ST günlüğünde hatalar alıyordum, bu yüzden sorunları ayıklamak için EA'mdaki Yazdır işlevini kullanmayı denedim. Şimdiye kadar birkaç hatayı bu şekilde çözdüm ama bu yavaş bir süreç.

düzenleme menüsünün altındaki meta düzenleyicide kesme noktası kullanmak için "kesme noktasını değiştir" var mı?

 

Sadece bilgi için:

- e-posta işlevi hakkında konu (nasıl kodlanır) https://www.mql5.com/en/forum/174336

- bazı araçlarla iyi makale https://www.mql5.com/en/forum/176053

 

Brokerlardan Görünmez TP ve SL Kodu

Herkese merhaba,

SL'leri avlayan brokerlerin paranoyası ve TP'lerden kaçınmak için spreadleri genişletirken, TP ve SL'yi brokerlerden nasıl gizleyeceğime dair bilgi arıyorum.

Komisyoncuya bir TP ve SL göndererek, bağlantınızın kesilmesi durumunda siparişinizin "güvenli" olduğunu biliyorum. Bilgileri uzaktan tutarken, bağlantının kesilmesi durumunda büyük kayıplar tehlikesi vardır.

TP ve SL'nin komisyoncudan nasıl gizleneceğine dair bir EA veya kod örneği olan var mı?

Teşekkürler!

Mike

 

Bu EA var

Merhaba MikeP

Bu EA aradığınızı içerdiğini düşünüyorum. Aradığınız buysa lütfen bana PM atın, bununla ilgili başka bir fikrim var.

Dosyalar:
jlpigrid.mq4  8 kb
 

Bir kod parçasını basitleştirmek için yardım

Merhaba!

Ben profesyonel bir kodlayıcı değilim (aşağıya bakın!). Bu kod iyi çalışıyor ancak basitleştirmek mümkün mü? Örneğin bir süre/döngü ile? En hafif kodu diliyorum! Bu çok "ağır" ve "dahili yığın taşması-programı basitleştirin, lütfen" hatası alıyorum!!!

Ayrı bir pencerede bir göstergedir.

Örnek kodda, çoklu TF için MA için yukarı veya aşağıyı görüntüler.

Yardımın için teşekkürler.

int start()

{

string MAfast_Trend_1, MAfast_Trend_5, MAfast_Trend_15;

double x;

color color_indic;

// period M1

double FastMA_1_1 = iMA(NULL,PERIOD_M1,FastMAPeriod,0,MAMethod,MAPrice,MAShift);

double FastMA_2_1 = iMA(NULL,PERIOD_M1,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);

if ((FastMA_1_1 > FastMA_2_1)) { MAfast_Trend_1 = "UP"; x = 256; color_indic = Lime; }

if ((FastMA_1_1 < FastMA_2_1)) { MAfast_Trend_1 = "DOWN"; x = 246; color_indic = Red; }

ObjectCreate("Trend_MAfast_1", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);

ObjectSetText("Trend_MAfast_1",MAfast_Trend_1,7, "Verdana", color_indic);

ObjectSet("Trend_MAfast_1", OBJPROP_CORNER, 0);

ObjectSet("Trend_MAfast_1", OBJPROP_XDISTANCE, x);

ObjectSet("Trend_MAfast_1", OBJPROP_YDISTANCE, 22);

// period M5

double FastMA_1_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift);

double FastMA_2_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);

if ((FastMA_1_5 > FastMA_2_5)) { MAfast_Trend_5 = "UP"; x = 256; color_indic = Lime; }

if ((FastMA_1_5 < FastMA_2_5)) { MAfast_Trend_5 = "DOWN"; x = 246; color_indic = Red; }

ObjectCreate("Trend_MAfast_5", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);

ObjectSetText("Trend_MAfast_5",MAfast_Trend_5,7, "Verdana", color_indic);

ObjectSet("Trend_MAfast_5", OBJPROP_CORNER, 0);

ObjectSet("Trend_MAfast_5", OBJPROP_XDISTANCE, x);

ObjectSet("Trend_MAfast_5", OBJPROP_YDISTANCE, 37);

// period M15

double FastMA_1_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift);

double FastMA_2_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);

if ((FastMA_1_15 > FastMA_2_15)) { MAfast_Trend_15 = "UP"; x = 256; color_indic = Lime; }

if ((FastMA_1_15 < FastMA_2_15)) { MAfast_Trend_15 = "DOWN"; x = 246; color_indic = Red; }

ObjectCreate("Trend_MAfast_15", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);

ObjectSetText("Trend_MAfast_15",MAfast_Trend_15,7, "Verdana", color_indic);

ObjectSet("Trend_MAfast_15", OBJPROP_CORNER, 0);

ObjectSet("Trend_MAfast_15", OBJPROP_XDISTANCE, x);

ObjectSet("Trend_MAfast_15", OBJPROP_YDISTANCE, 52);

etc ...............

return(0);

}
 

Kod Yardımı? Mum Başına Sadece Bir İşlem

Adetimi mum başına sadece bir işlem almakla sınırlamaya çalışıyorum. Göstergeler geciktiğinden, trende karşı fiyat artışlarında birden fazla kaybeden işlem aldığımı görüyorum.

Kodu daha önce görmüştüm ama bulamıyorum. Herhangi biri beni doğru koda sahip bir ea'ya yönlendirebilir veya nasıl yapıldığını gösterebilirse.

UniversalMa ea'da yapılıyor ama orada benim için o kadar net değil.

Herhangi bir yardım takdir edilecektir.

 

Burada https://www.mql5.com/en/forum/173026

Bu konudaki tüm fonksiyonları topluyorum https://www.mql5.com/en/forum/174329

 

Tekrar teşekkürler

Merhaba NewDigital, her zamanki gibi hızlı cevabınız için teşekkürler.

şerefe

 

Kodunuzu basitleştirmenin birkaç yolu:

BİREYSEL GÖSTERGE DEĞERLERİNİ FONKSİYON İLE DEĞİŞTİRİN

double FastMA_1_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift);

double FastMA_1_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift);

.... eklenen bir işlevle buna dönüş

maVal(5,1);

maVal(15,1);

ARADIĞLARI İŞLEV AŞAĞIDADIR:

çift maVal(int tf, int shift)

{

dönüş ( iMA(NULL,tf,FastMAPeriod,0,MAMethod,MAPrice,shift) );

}

* * * * * * * * * * * * * * * * * * * * * *

Ayrıca, dize değişkenlerini beğendiğiniz diğer bireysel değişkenleri bir dize dizisiyle değiştirin. Diziler döngülerde çok iyi çalışacak ve yapacak daha az bildiriminiz olduğundan kodunuzu basitleştirecektir.

string MAfast_Trend_1, MAfast_Trend_5, MAfast_Trend_15;

.... bu olur .....

string MAfast_Trend [3];

Neden: