Kodlama yardımı - sayfa 281

 
mladen:
stevenpun Al 0.1 lot + 0.2 lot var ve satışın 0.4 lot olması gerektiğini söylüyorsunuz. Bunu açıklığa kavuşturmak ister misin?

Merhaba mladen , geç cevap verdiğim için kusura bakmayın .

Çünkü birkaç gündür hasta.

resim yaptım

Örneğin, satın almada 2 açık sipariş (0,1 Lot + 0,2 Lot) olduğunda, ancak aniden tren satmak için değişiklik yaptı.

Bir adet 0,1 Lot'luk bir satış açacak, ancak ben bunun 0,4 Lot'a açılmasını istiyorum.

Bunu değiştirmek mümkün mü?

Dosyalar:
lot_explain.jpg  121 kb
 
hermes:
Tekrardan Merhaba,

Yukarıdakileri bir yorumla kullanmayı denedim ama yalnızca Max'i gösteriyordu. Belki iki işlevle yardımcı olabilir misiniz? Biri Bid üzerindeki hemen satır fiyatını ve ikincisi Bid altındaki satırı gösterir. Teşekkür ederim.

İşte kod.

//+------------------------------------------- -------------------+

//| SimpleGrid.mq4+

//+------------------------------------------- -------------------+

#Dahil etmek

#Dahil etmek

#mülkiyet katı

// dışa aktarılan değişkenler

extern string GridStartingPrice = " Satırları Yerleştirmek için Başlangıç Fiyatı ";

harici çift GSP = 0.0;

harici int GR = 5;

harici çift GridStep = 5;

dış renk CGL = Altın;

dış renk BGL = Yeşil;

dış renk SGL = Kırmızı;

extern bool ClearAllObjects = False;

// yerel değişkenler

çift PipValue=1; // bu değişken 5 basamaklı aracıları desteklemek için burada

bool Sonlandırılmış = yanlış;

string LF = "\n"; // bunu, satır beslemelerine ihtiyaç duyduğunuz özel veya yardımcı program bloklarında kullanın

int NDigits = 4; // Flex tipi bloklarda çoğunlukla NormalizeDouble için kullanılır

int NesneSayısı = 0; // grafikte oluşturulan tüm nesnelerin sayısı, benzersiz adlara sahip nesnelerin oluşturulmasına izin verir

int akım = 0;

int init()

{

NDigits = Rakamlar;

if (yanlış) ObjectsDeleteAll(); // grafiği temizle

Yorum(""); // grafiği temizle

dönüş(0);

}

// Uzman başlangıç

int başlangıç()

{

if (Çubuk < 10)

{

Comment("Yeterli çubuk yok");

dönüş (0);

}

if (Sonlandırılmış == doğru)

{

Comment("EA Sonlandırıldı.");

dönüş (0);

}

OnEveryTick7();

dönüş (0);

}

geçersiz OnEveryTick7()

{

PipDeğeri = 1;

if (NDigits == 3 || NDigits == 5) PipValue = 10;

CentreGridLine();

}

geçersiz CentreGridLine()

{ if (ObjectFind("CGL") == (-1) )

{

{

string nesneAdı = "CGL" ;

ObjectCreate(objName, OBJ_HLINE, 0, Zaman[0],GSP);

ObjectSet(objName, OBJPROP_PRICE1, GSP);

ObjectSet(objName, OBJPROP_COLOR,CGL);

}

Ticaret hattı();

UprBnd();

LwrBnd();

}

}

geçersiz Ticaret Hattı()

{

int i;

double GridStep1= (GridStep*2);

çift BGSP= (GSP+((GridStep/2)*PipValue*Nokta)) ;

çift SGSP= (GSP-((GridStep/2)*PipValue*Nokta));

double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;

çift SSGSP= (SGSP+((GridStep*(GR))*PipValue*Nokta));

{

for(i=0; i<GR;i++)

{

SGL("Sat"+i,BBGSP+GridStep1*i*PipValue*Puan);

}

}

{

for(i=0; i<GR;i++)

{

BGL("Satın Al"+i,SSGSP-GridStep1*i*PipValue*Puan);

}

}

}

void BGL(dize nesneAdı, çift fiyat)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, fiyat);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, BGL);

}

void SGL(dize nesneAdı, çift fiyat)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, fiyat);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, SGL);

}

geçersiz UprBnd()

{ if (ObjectFind("UPRBND") == (-1) )

{

çift BGSP= (GSP+((GridStep/2)*PipValue*Nokta)) ;

çift fiyat= (BGSP+((GridStep*(GR))*PipValue*Puan)) ;

string nesneAdı = "UPRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Zaman[0], fiyat );

ObjectSet(objName, OBJPROP_PRICE1,fiyat);

ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);

ObjectSet(objName, OBJPROP_WIDTH,3);

}

}

geçersiz LwrBnd()

{ if (ObjectFind("LWRBND") == (-1) )

{

çift SGSP= (GSP-((GridStep/2)*PipValue*Nokta));

çift fiyat= (SGSP-((GridStep*(GR))*PipValue*Puan));

string nesneAdı = "LWRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Zaman[0], fiyat );

ObjectSet(objName, OBJPROP_PRICE1,fiyat);

ObjectSet(objName, OBJPROP_COLOR, Domates);

ObjectSet(objName, OBJPROP_WIDTH, 3);

}

}

int tanım()

{

if (ClearAllObjects) ObjectsDeleteAll();

dönüş (0);

}

//+------------------------------------------- -------------------+

Hermes

mq4 dosyasını ekleyebilir misiniz?

 
mladen:
Hermes mq4 dosyasını ekleyebilir misiniz?

İşte burada. teşekkürler

Dosyalar:
simpleg.mq4  4 kb
 

Merhaba,

Yaptığım bir Ea ile ilgili yardıma ihtiyacım var, trendi filtrelemek için 2 Hareketli ortalama ve 2 farklı zaman dilimi ile ilgili, işlemleri filtrelemek için bir RSI göstergesi eklemek istiyorum, örneğin kurulum RSI dönemi 8 seviye 50, eğer geçişte RSI seviyesi 50'den yüksekse, sadece satış piyasa emri açarız, geçişte RSI seviyesi 50'den düşükse sadece alım piyasa emirleri açarız. Ea'yı ekliyorum, ilk başta keltnerchannels ile ilgiliydi, ama şimdi sadece Ma1 ve Ma2 olarak kullanılmak istiyorum.

Bazı vücut bu değişikliklerle bana yardımcı olabilir mi?

Teşekkür ederim

Dosyalar:
 
hermes:
İşte burada. teşekkürler

Hermes

Bunu deneyin:simpleg_1.mq4

Dosyalar:
simpleg_1.mq4  6 kb
 
daniel1983:
Merhaba,

Yaptığım bir Ea ile ilgili yardıma ihtiyacım var, trendi filtrelemek için 2 Hareketli ortalama ve 2 farklı zaman dilimi ile ilgili, işlemleri filtrelemek için bir RSI göstergesi eklemek istiyorum, örneğin kurulum RSI dönemi 8 seviye 50, eğer geçişte RSI seviyesi 50'den yüksekse, sadece satış piyasa emri açarız, geçişte RSI seviyesi 50'den düşükse sadece alım piyasa emirleri açarız. Ea'yı ekliyorum, ilk başta keltnerchannels ile ilgiliydi, ama şimdi sadece Ma1 ve Ma2 olarak kullanılmak istiyorum.

Bazı vücut bu değişikliklerle bana yardımcı olabilir mi?

Teşekkür ederim

daniel1983

Aynı anda asla mas ve rsis çaprazlarını alamayacağınız neredeyse kesindir (yani - neredeyse hiçbir zaman sinyal almayacaksınız). Deneyin: tanımladığınız şeyi yapan basit bir gösterge yapın ve bu koşulların aynı anda ne kadar nadir olduğunu göreceksiniz.

 
mladen:
daniel1983 Aynı anda asla mas ve rsis çaprazlarını alamayacağınız neredeyse kesindir (yani - neredeyse hiçbir zaman sinyal almayacaksınız). Deneyin: tanımladığınız şeyi yapan basit bir gösterge yapın ve bu koşulların aynı anda ne kadar nadir olduğunu göreceksiniz.

Merhaba Mladen,

Demek istediğim

- 0 ile 50 arasındaki herhangi bir seviyede sadece sat

- 50 ile 100 arasında herhangi bir seviyede sadece satın alın,

aynı kesişme noktasında değil, alım piyasası emirleri için geçiş herhangi bir seviyede olabilir (43, 41, 18, 25), bu da daha yüksek zaman çerçevesi eğilimini teyit eder. Bunu test ettim ve bu filtre ile açılan siparişlerin yaklaşık %80'i ters yönde açılmayacak gibi görünüyor.

Şu anda Ea, geçiş düşüş trendi başladığında alım emri açar, bu filtre ile vakaların %80'inde bu noktada emir girmeden bu geçişi filtreler. o Ma'nın kesiştiği yer.

Bu Ea'da daha yüksek zaman dilimi girdisine sahibim, ancak filtreleme eğilimi için daha düşük zaman çerçevesi kullanarak daha iyi sonuçlarla test yaptım.

Yapılandırılan bir test örneğinin resmini ekliyorum:

EURUSD için

Bu durumda EMA 2 ve EMA 67 ve RSI (8) zaman çerçevesi 1dk ve Hitimeframe 5dk kullanıyorum, bu durumda kârsız bir satın alma piyasa emriniz var, bu alış piyasası emri EMa'ların kesiştiği yerde ama RSI ile 50'nin altında bir seviye.

O zaman, geçişlerde açılan ancak RSI 50'nin altında olan bir satış piyasa emriniz var ve bu emir, tüm sinyallerden filtrelemek istediğim doğru piyasa emri.

Bunu yapmak mümkün mü?

Teşekkür ederim

Daniel

Dosyalar:
rsi_filter.png  32 kb
 
mladen:
Hermes Bunu deneyin:simpleg_1.mq4

Merhaba Mladen,

Sonunda bunu kullanarak çalışıyor. Teşekkür ederim

geçersiz DöngüBS()

{

double max =(ObjectGet("UPRBND",OBJPROP_PRICE1));

double min =(ObjectGet("LWRBND",OBJPROP_PRICE1));

for (int i =ObjectsTotal()-1; i>=0; i--)

{

dizi adı = NesneAdı(i);

if (StringSubstr(name,0,3)=="Satın Al")

{

double BS=ObjectGet(ad,OBJPROP_PRICE1);

if ((Sor<BS) && (BSmin))

{

max = ObjectGet(ad,OBJPROP_PRICE1);

{

Comment(DoubleToStr(BS,Rakamlar)," ");

}

}

}

}

}

 

Yanlış sinyaller

Yanlış sinyaller

Sevgili zanaatkarlar! Daha iyi yapmak için sinyal verebilir misiniz? M1, M5, M15

Dosyalar:
.......png  31 kb
 
DMNIK:
Yanlış sinyaller Sayın zanaatkarlar! Daha iyi yapmak için sinyal verebilir misiniz? M1, M5, M15

Sadece son 3 kapanışın son 3 açılıştan daha büyük veya daha küçük olduğunu gösteriyor. Bunda iyileştirilecek bir şey yok