Kodlama yardımı - sayfa 13

 

hızlı EA değişikliği

Merhaba,

Biraz yardıma ihtiyacım var, aşağıdaki kodu değiştirmeye çalıştım ama EA MT4'ü çökertmeye devam etti.

Mevcut çubuk (yani emrin yürütüldüğü çubuk) kapandığında emrin kapanmasını istiyorum. Temel olarak bir bar ticareti yapın.

Bu orijinal koddur, sinyalden sinyale işlem yapar.

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

//| Signal Begin(Exit Buy) |

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

if (signaldown!=EMPTY_VALUE&&signaldown!=0) Order = SIGNAL_CLOSEBUY;

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

//| Signal End(Exit Buy) |

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

if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop) {

if(OrderStopLoss() < Bid - Point * TrailingStop) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

} else {

//Close

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

//| Signal Begin(Exit Sell) |

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

if (signalup!=EMPTY_VALUE&&signalup!=0) Order = SIGNAL_CLOSESELL;

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

//| Signal End(Exit Sell) |

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

if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

}

}

}

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

//| Signal Begin(Entry) |

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

//if (timeprev!=Time[0]){

// timeprev = Time[0];

if (signalup!=EMPTY_VALUE&&signalup!=0)

{

Order = SIGNAL_BUY;

}

if (signaldown!=EMPTY_VALUE&&signaldown!=0){

Order = SIGNAL_SELL;

}

// }

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

//| Signal End |

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

//Buy

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (100 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("BUY order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");

} else {

Print("Error opening BUY order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

//Sell

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (100 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("SELL order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");

} else {

Print("Error opening SELL order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

if (!EachTickMode) BarCount = Bars;

return(0);

}

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

Biri bana yardım edebilir mi?

 

Lütfen yardım et!!!!!

Aşağıdakileri yapan bir ea'ya ihtiyacım var

belirli bir zamanda 4 adet al veya sat emri ayarla

fonksiyonlar:

sipariş açma zamanı (00-24 değişkeni)

emir1 lot sat veya al (0.01 .0,02... 1) TP (Açmadan + xx pip) SL (- Açıktan xx pip)

sipariş2 lot sat veya al (0.01 .0,02... 1) TP (Açmadan + xx pip) SL (-Açmadan xx pip)

sipariş3 lot sat veya al (0.01 .0,02... 1) TP (Açmadan + xx pip) SL (- Açıktan xx pip)

emir4 lot sat veya al (0.01 .0,02... 1) TP (Açmadan + xx pip) SL (- Açıktan xx pip)

TEŞEKKÜRLER

 

Belirli bir fiyat seviyesinde devre dışı bırakmak için EA'ma bir kod eklemem gerekiyor

Merhaba,

Ea'ma belirli fiyat seviyelerinde devre dışı bırakmak ve etkinleştirmek için bir kod eklemem gerekiyor.

Araştırdım ve yapabileceğimi buldum

# iclude<WinUser32mqh

extern bool Ea'yı Devre Dışı Bırak = true // X'ten (örnek 1.4420) Y'ye(örnek 1.4380) ve Z'den (örnek 1.4480) N(örnek 1.4520) //

extern bool Ea'yı Etkinleştir = true // R(örnek -1.4420)'den T'ye(örnek -1.4480)

Bu koşulları bir koda çevirmek için yardıma minnettar olacağım, bu nedenle EA'nın iletişim kutusunda EA'yı devre dışı bırakmak / etkinleştirmek için fiyat seviyesini girebilirim.

 

Biraz araştırma ve çalışmadan sonra, EA'nın başlatma işlevine bir kod yazmanın belirli koşullarda onu başlatacağını buldum.

Bu yüzden uzman başlatma işlevi altında aşağıdakileri yazdım:

if(PRICE_MEDIAN (Satış Düzeyi Noktası*TamponPip))

dönüş (0)

-------------------------------------------------- -------------------------------------------------- --------------

BufferPips'i harici çifte ekledim, böylece iletişim kutusunda değerini değiştirebilirim.

PRICE_MEDIAN iyi bir seçimse ben değilim.

Derleme hatası alıyorum - dengesiz sol parantez.

Yardım takdir edildi

 

otomatik ticaret bana yardım et

Merhaba, Bay Guru!

Otomatik ticaretim var ama çalışmıyor, lütfen bana yardım edin!

Dosyalar:
auto_me.mq4  4 kb
 

Merhaba Mario,

Bence bu koşul if(current_shortEma == current_longEma)

asla doğru değildir. genellikle bir haçı tespit etmek için bunu yapmanız gerekir

if(current_shortEma > current_longEma && last_shortEma < last_longEma){

// alttan çapraz

}

if(current_shortEma last_longEma){

//üstten çapraz

}

Daha detaylı bilgi burada:

https://www.mql5.com/en/forum/trading_systems

teşekkürler

MIkhail

 

Benim de bir kodlama isteğim var ---- bir kodlayıcıya ihtiyacım var (çok basit bir görev)

HA'yı biliyoruz -- henki ashi nadiren yanılır

konsolidasyon sırasında veya neredeyse U dönüşü sırasında kısalır ve kısalırdı

trend hala güçlüyken, bu çubuk için HA UZUN olacaktır

ÖYLEYSE

Bize trendin gücünü söyleyen bir göstergemiz olsa Neat olur muydu?

fikir kolay

--- ilk olarak, herhangi bir HA'nın yapacağı herhangi bir şey olmalıdır (yalnızca ex4'ümü ekliyorum, ancak bir MQ4 - HA için bulmam gerekiyor) ve onu değiştirin (sanırım basit bir görev)

HA için sadece 2 renk vardır, bir mavi *yukarı ---- + ---- ve bir pembe/mor *aşağı

-- ikincisi, HA'nın çizelgede HA öğelerini çizmesi gerektiğinde, UZUNLUK vardır - bu HA'nın uzunluğu

--- üçüncüsü, U dönüşüne yaklaşırken, HA çubuğu giderek kısalır

HA çubuğunun UZUNLUĞU (deneme yanılarak) 0,4 cm'den kısa olduğunda, SİYAH çizdiğimizi varsayalım (yani mavi / pembe değil)

yakında GİRMEMİZ ve çıkmamız konusunda bizi uyaracak

Bu şekilde, HA trend gücüne göre (korkmadan) girmemiz gerekiyor --- tıpkı diğer fikrim gibi, çok BASİT, son derece faydalı

kodlayıcı -- lütfen eklediğim ex4'ü kullanmayın, forumda [ARA] tuşuna basın ve henki ashi yazın, tüm kodu içeren bir MQ4 arayın

------

tamamladığınızda veya 3 ila 4 renge değiştirdikten sonra (4 renk yerine 3 renk olabilir)

lütfen bana LINK ile özel bir PM gönderin, böylece siz başladıktan sonra yükleyebilirim, isterseniz size rengi SİYAH olarak değiştirmek için en iyi zamanın ne olduğunu söyleyen başka bir gösterge verebilirim -- siyah bir tür uyarı rengidir

----- yani, eklediğim ex4'ü İNDİREBİLİRSİNİZ, ancak başka bir MQ4 kullanın lütfen ---

teşekkürler, hepimiz için iyi bir gösterge olacak ve kodlama oldukça basit ve anlaşılır olmalı

kod, yukarıdaki şemaya benzer şekilde başlangıçtadır

tahminim doğruysa, g_ibuf_## HA çubuğunun uzunluğunu kontrol edin

sadece "yorum" adlı işlevle tüm g_ibuf değerini yazdırmamız gerekiyor

sonra grafiği birkaç gün çalıştırın ve küçüldüğünde g_ibuf değerine bir göz atın ve bu değişkenin DEĞERİNİ not edin

o zaman kodlamak için bir zaman dilimimiz olduğunda, sadece 1 ila 2 rengi kodluyoruz -- diyelim ki, kodlamaya siyah ve koyu gri, g_ibuf histogramı belirli bir not edilen değerden KÜÇÜK olduğunda

bu yüzden basit olduğunu varsayalım - aksi takdirde, en uygun DEĞER'i bulmak için deneme yanılma deneyebilir (ŞTANDAN KÜÇÜK olmak için)

samimi olarak

xx3xxx - Sürüm 4 için MQ4'ümü oraya yüklüyorum, sanırım bunu kullanabilirsiniz , bu, sahip olduğum diğer HA'dan daha uzun ve daha kalın görünüyor

Dosyalar:
 
 
Dosyalar:
lsma_nrp.mq4  5 kb
 

Trix göstergesinin uyarılması gerekiyor

Coder Guru veya başka biri, bu Trix göstergesinde uzun süreli veya kısa süreli Trix satırı kırmızıdan yeşile veya tam tersine renk değiştirdiğinde bir ses, bildirim uyarısı ve t3_trix_x2roc_clr_nrp_mtf.mq4 t3_trix_x2roc_clr_nrp_mtf.mq4 e-posta uyarısı programlayabilir misiniz? teşekkürler

Neden: