Kodlama yardımı - sayfa 406

 
elfural:
Sevgili mrtools ve mladen

Herhangi biri yardımcı olabilir mi? Tom Demark Hareketli Ortalama, stratejimdeki önemli bir göstergedir, ancak yeni bir raf belirtildiğinde bir alarm çok faydalı olabilir; Göstergeye bir alarm kodlanabilirse çok minnettar olurum. Nazik yardımlarınızı bekliyorum.

Çok teşekkürler

Elfural, yayınladığınız sürüme bir uyarı ekledi ve Mladen tarafından düzeltilmiş bir sürümü size buradan göstermek istiyor, ilginizi çekebilir: https://www.mql5.com/en/forum/178551/page2 eklenmiş olabilir. bu sürüm için de uyarılar.

 

Merhaba millet,

Bu göstergeyi kodlama konusunda yardıma ihtiyacım var. 4-5 mum geciktirmesine rağmen harika bir gösterge. Lütfen yardım et.

grail_indic.ex4

Dosyalar:
 
mrtools:
Elfural, yayınladığınız sürüme bir uyarı ekledi ve Mladen tarafından düzeltilmiş bir sürümü size buradan göstermek istiyor, ilginizi çekebilir: https://www.mql5.com/en/forum/178551/page2 eklenmiş olabilir. bu sürüm için de uyarılar.

Şimdi tam olarak ihtiyacım olanı yapıyor.

Büyük yardımın için çok teşekkürler.

 

Sinyal başına 1 işlem. Merhaba MQL pro-kodlayıcıları,

Birinin bana yardım edip edemeyeceğini merak ediyorum. "Sinyal başına bir işlem" uygulamak istiyorum

benim EA içine. EA kar hedefine ulaşırsa, EA'nın açılması iyi olabilir.

aynı trend yönünde başka bir ticaret. Bu, kaybedilen bir ticarete yol açabilir çünkü

sinyal değişmek üzere (lütfen ekteki ekran görüntülerine bakın).

"Sinyal başına bir işlem" işlevini uygulamanın en iyi yolu ne olabilir?

EA'nın başka bir ticaret açmasını önlemek için elbette kar hedefini artırabilirim,

ama bu muhtemelen en iyi yol değil.

Bunu uygulamaya çalıştım ama kod derleniyor ve bir uyarı veriyor:

" Olası hata için operatör önceliğini kontrol edin; önceliği netleştirmek için parantez kullanın "

Bu özelliği uygulamanın en iyi yolu ne olabilir? Şimdiden teşekkür ederim!

extern int maxshorttrades = 1;

harici int maxlongtrades = 1;

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

//| SİPARİŞ Mantığı / Göstergeler |

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

if(açıkSiparişler<=0)

{

double CCIFilter = iCCI(NULL,0,CCIPperiod,CCIMethod,0);

double trendc = iCustom(Symbol(),0,"Gövde hareketli ortalama 2 katı nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp = iCustom(Symbol(),0,"Gövde hareketli ortalama 2 katı nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

//+-----+

//| SATIN AL |

//+-----+

for (i=SiparişToplam()-1;i>=0; i--)

if(OrderType()==OP_BUY<maxlongtrades) ara; // Pozisyonu ve Uzun İşlemleri Kontrol Edin.

{

if(trendc!=trendp)

{

if(trendc==1 && CCIFilter<-80) // satın alma kodu

OpenBuy();

dönüş(0);

}

açılanSiparişler++;

}

//+------+

//| SAT |

//+------+

for (i=SiparişToplam()-1;i>=0; i--)

if(OrderType()==OP_SELL<maxshorttrades) ara; // Pozisyonu ve Kısa İşlemleri Kontrol Edin.

{

if(trendc==-1 && CCIFilter>80) // satış kodu

{

OpenSell();

dönüş(0);

}

açılanSiparişler++;

}

}

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

//| Pozisyonları Kapat |

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

geçersiz CheckForClose()

{

Yenileme Oranları();

double CCIFilter_c = iCCI(NULL,0,CCIPperiod,CCIMethod,0);

double trendc_c = iCustom(Symbol(),0,"Gövde hareketli ortalama 2 katı nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp_c = iCustom(Symbol(),0,"Gövde hareketli ortalama 2 katı nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

for(int i=0;i<SiparişToplam(); i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;

if(OrderMagicNumber()!= MAGIC) devam ediyor;

if(OrderSymbol() != s_symbol) devam ediyor;

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

//| Kapat SATIN AL |

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

if(trendc_c!=trendp_c) // Trendi kontrol edin

{

if(OrderType()==OP_BUY)

{

if(trendc_c==-1 && CCIFilter_c>80) // SATIŞ ve CCI filtresi?

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);

if(satın alKapat==yanlış)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Satın Alma Siparişini Kapat - Hata ",ErrorCode,": ",ErrDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Teklif: ",MarketInfo(s_symbol,MODE_BID)," Lot: ",OrderLots()," Ticket: ",OrderTicket());

Yazdır(ErrLog);

}

kırmak; }

}

}

Dosyalar:
signal1.jpg  19 kb
 

Merhaba!

Birisi bana Doğrusal Fiyat Çizgisi göstergesi konusunda yardımcı olabilir mi? Yüksek olanı düşükten çıkaran değiştirilmiş bir versiyonunu yapmaya çalışıyorum. Düşük, yüksekten daha büyükse veya yüksek açık fiyatla aynıysa ve dolayısıyla sıfırsa (çünkü yüksek olmadığı için) çıktı negatif bir değer olmalıdır (göstergedeki çizgi 0,00 seviyesinin altında çekim yapmalıdır) Doğru şimdi, mum çubuğunun yüksek kısmı, mum çubuğunun alt kısmından daha büyük olsa da olmasa da, pozitif bir sayı olarak kalır.

İşte normal sürüm ve hatalı fark göstergesi. linear_price_bar.zip

linear_price_bartestdiff.mq4

Şimdiden teşekkür ederim

 
tfi_markets:

Sinyal başına 1 işlem. Merhaba MQL pro-kodlayıcıları,

Birinin bana yardım edip edemeyeceğini merak ediyorum. "Sinyal başına bir işlem" uygulamak istiyorum

benim EA içine. EA kar hedefine ulaşırsa, EA'nın açılması iyi olabilir.

aynı trend yönünde başka bir ticaret. Bu, kaybedilen bir ticarete yol açabilir çünkü

sinyal değişmek üzere (lütfen ekteki ekran görüntülerine bakın).

"Sinyal başına bir işlem" işlevini uygulamanın en iyi yolu ne olabilir?

EA'nın başka bir ticaret açmasını önlemek için elbette kar hedefini artırabilirim,

ama bu muhtemelen en iyi yol değil.

Bunu uygulamaya çalıştım ama kod derleniyor ve bir uyarı veriyor:

" Olası hata için operatör önceliğini kontrol edin; önceliği netleştirmek için parantez kullanın "

Bu özelliği uygulamanın en iyi yolu ne olabilir? Şimdiden teşekkür ederim!

bunu dene :

bool Result;

int openedOrders = 0;

for (i=OrdersTotal()-1; i>=0; i--)

{

Result = OrderSelect(i, SELECT_BY_POS,MODE_TRADES);

if (OrderSymbol() != Symbol()) continue;

if (OrderMagicNumber() != MagicNumber) continue;

openedOrders++;

}

if (openedOrders <= 0)

{ .....

 
mrcodix:
Merhaba!

Birisi bana Doğrusal Fiyat Çizgisi göstergesi konusunda yardım edebilir mi? Yüksek olanı düşükten çıkaran değiştirilmiş bir versiyonunu yapmaya çalışıyorum. Düşük, yüksekten daha büyükse veya yüksek açık fiyatla aynıysa ve dolayısıyla sıfırsa (çünkü yüksek olmadığı için) çıktı negatif bir değer olmalıdır (göstergedeki çizgi 0,00 seviyesinin altında çekim yapmalıdır) Doğru şimdi, mum çubuğunun yüksek kısmı, mum çubuğunun alt kısmından daha büyük olsa da olmasa da, pozitif bir sayı olarak kalır.

İşte normal sürüm ve hatalı fark göstergesi. linear_price_bar.zip

linear_price_bartestdiff.mq4

Şimdiden teşekkür ederim

mrcodix

Düşük asla aynı çubuğun yüksekliğinden daha büyük olamaz

 

Evet anlıyorum ama göstergemde çizmek istediğim şey YÜKSEK - AÇIK ve DÜŞÜK - AÇIK arasındaki fark. Açılacak mutlak düşük sayısı, açılacak mutlak yüksek sayısı daha büyükse, o zaman bu 2 arasındaki farkın negatif olmasını istiyorum, böylece sıfır çizgisinin altına çizilir. Öyleyse, ikincisi öncekinden daha büyük olduğunda (Yüksek - açık)-(Düşük-açık) çıktısını nasıl negatif yapabilirim.

Saygılarımla

 

şimdi denedim bunu

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

{

BarH = Yüksek Açık;

BarL = Düşük-Açık;

BarC = Kapat-Aç;

if(BarC>0) UpDays += 1;

else if(BarC<0) DownDays +=1;

else if(BarC==0) NeutralDays +=1;

if (BarL > BarH) ExtMapBuffer7 = 0-(BarH-BarL);

else if (BarL < BarH) ExtMapBuffer7 =(BarH-BarL);

Çıktı yine de pozitif bir sayıdır! lütfen yardım et.

 
mrcodix:
Evet anlıyorum ama göstergemde çizmek istediğim şey YÜKSEK - AÇIK ve DÜŞÜK - AÇIK arasındaki fark. Açılacak mutlak düşük sayısı, açılacak mutlak yüksek sayısından büyükse, o zaman bu 2 arasındaki farkın negatif olmasını istiyorum, böylece sıfır çizgisinin altına çizilir. Öyleyse, ikincisi öncekinden daha büyük olduğunda (Yüksek - açık)-(Düşük-açık) çıktısını nasıl negatif yapabilirim. Saygılarımla

Ne yapmaya çalıştığından emin değilim. Belki bu ?