Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Harika, teşekkürler!
adam, diziler ve işlevler , benim fincan çayım değil.
EA için Yardım
Aşağıdakileri yapmak istiyorum:
M15 çerçevelerini kullanma ve bu aralıkta en fazla iki emir açma, mevcut fiyatı önceki M15 kapama(kapatma[1]) ile karşılaştırarak. Ancak bunun kodunu nasıl yazacağımı bilmiyorum çünkü bu prosedürün her sonraki M15 çerçevesinde gerçekleşmesini istiyorum. Başlatma işlevi her zaman kendi kendini yürüttüğü için her M15'te maksimum 2 sipariş saymak için doğru değişkenler nasıl tutulur?
Teşekkür ederim
Açık Bekleyen Siparişler komut dosyasıyla ilgili Yardıma ihtiyacınız var.
Burada emirleri açan ve kapatan birçok komut dosyası olduğunu biliyorum ama bekleyen emirleri açacak bir tane bulamıyorum.
İhtiyacım olan 2 komut dosyası, 1 Sellstop ve 1 Buystop.
Buystop'un günlük Pivot'un 15 pip üzerinde bir Buystop emri açmasını ve SellStop'un Günlük pivotun 15 pip altında açmasını istiyorum.
Onunla oynadım ve bir SellStop için aşağıdaki kodu aldım, ancak kodlayıcı değilim ve çalışmıyor. Sanırım bir şeyi dışarı saldım.
Biri bana bu konuda yardım edebilir mi lütfen.
not. boşver, anladım. Teklif fiyatımı PVTGreen olarak değiştirmek zorunda kaldım. 130 hatası alıyorum..
Şu an çalışıyor...
Tamam, Bir sorun daha, Birisi bana Son Kullanma süresini 24 saat sonra aynı gün 22:00'ye nasıl değiştireceğimi söyleyebilir mi?
//| script "send pending order with expiration data" |
//+------------------------------------------------------------------+
int start()
{
int ticket,expiration;
double point;
double PVTYellow = iCustom(NULL, 0, "pivot_alllevels", 0, 0, 0);
double PVTBlue = iCustom(NULL, 0, "pivot_alllevels", 0, 1, 0);
double PVTGreen = iCustom(NULL, 0, "pivot_alllevels", 0, 2, 0);
double PVTRed = iCustom(NULL, 0, "pivot_alllevels", 0, 3, 0);
double PVTMagenta = iCustom(NULL, 0, "pivot_alllevels", 0, 4, 0);
//----
point=MarketInfo(Symbol(),MODE_POINT);
expiration=TimeCurrent()+PERIOD_D1*60;
//----
while(true)
{
ticket = OrderSend(Symbol(),OP_SELLSTOP, 0.10, PVTGreen-15*Point, 3, PVTGreen+20*Point, PVTGreen-20*Point, 0,0,expiration,Red);
if(ticket<=0) Print("Error = ",GetLastError());
else { Print("ticket = ",ticket); break; }
//---- 10 seconds wait
Sleep(10000);
}
//----
return(0);
}
//+------------------------------------------------------------------+Son kullanma tarihini 22:00 yapmak için bunu yapabilirsin...
int iHour = TimeHour(TimeCurrent());
int iMinute = TimeMinute(TimeCurrent());
int iDiff = 22%iHour;
datetime dtExpiryDate = (TimeCurrent()+(iDiff*60*60))-(iMinute*60);
Print(TimeToStr(dtExpiryDate));
Hata denetimi yok, bu yüzden ihtiyacınız olacağını düşünüyorsanız, eklediğinizden emin olun.
Lüks
Piyasa İzleme Sembollerini Yakalayın
Herkese selam,
EA'yı manuel olarak beslemek yerine izleme için piyasa saatinde bulunan tüm sembolleri almanın bir yolu olup olmadığını merak ediyordum.
diğer bir deyişle, EA'mın piyasa izleme penceresinde mevcut olan herhangi bir sembolden geçmesini ve belirli bir kriter için onları izlemesini istiyorum.
herhangi bir yardım büyük beğeni topluyor.
Bana yardım et - Hesap Bakiyesi Pazar
Merhaba,
Pazar günkü Hesap Bakiyesi (piyasa başarısı Açılışı) ortaya çıktığından beri dünden beri tüm haftamın önbelleğini düzeltmeye çalışıyorum.
Pazar günü EA Hesap Bakiyesi'ni piyasa başarısında Özkaynak Yöneticisine doğru bir şekilde açmam gerekiyor.
çift kullanılmışacc = 0;
...
if (usedacc == 0 | | DayOfWeek () == 0) useacc = Hesap Bakiyesi ();
...
sadece çalışmıyor
Belki biri bana elimden geldiğince yardım edebilir.
Kötü İngilizce için üzgünüm
lütfen bu gönderiyi silin - thx
göstergeden nasıl veri alırım
Herkese selam,
göstergeden FIBO100 ve FIBO0 değerleri için bir EA'ya ihtiyacım var. Onu nasıl alırım ?
teşekkürler
delirmek
Nasıl alırsın?
dostum benzer bir sorunla karşılaştım
Scott
MQL'deki "komut dosyaları arası" iletişim (veya "göstergeler arası" iletişim) yalnızca düşünülen arabelleklere gider. Bu kod:
trendset = iCustom(NULL,0,"VGA HISTOGRAM~",0,0);
"VGA HISTOGRAM~" göstergesinin ilk (genel) ara belleğinden mevcut çubuğun değerini almak istediğiniz anlamına gelir. Diğer göstergede bildirilen değişkenlerin değerlerini alamazsınız (ve harici olarak bildirilmiş olmaları önemli değildir) Global değişkenlerle deneyebilirsiniz, ancak global değişkenler çalışmak için sürüklenir ve çalışmaktan daha fazla hata yapma şansı sunar. onlarla düzgün bir şekilde çalışabilir veya bir DLL yazabilirsiniz (metatrader, parametrelerden bağımsız olarak grafik başına yalnızca bir DLL örneği kullanır, böylece herhangi bir türdeki kimliklere bağlı olarak değerleri tutacak ve döndürecek bir tür "semafor" yapabilirsiniz. - bu, mql arası kod iletişimini sağlayacak ve yanlış değişkenlerin okunmasını önleyecektir (örneğin küresel değişkenler kolayca yanılabilir ve siz farkında bile olmadan tamamen farklı bir grafikten değişkenleri okuyabilirsiniz))
Saygılarımızla
Mladen
Aslında bunun için bir çalışma yaptım, sizinle paylaşacağım.
Göstergenizde yeni bir işlev yapın, böylece işler karışmaz.
geçersiz PASSINFO() {
int trendcondtemp; // bunu istediğin isimle değiştir, önemli değil, tembelsen bırak
if (Close[1] > Open[2] && Volume[1] < Volume[2]) trendcondtemp=1; // boğa - bu sadece değişkene bir değer ayarlar, kodunuzu kullanın
if (Close[1] < Open[2] && Volume[1] < Volume[2]) trendcondtemp=2; // ayı - aynı şey farklı koku
if (Hacim[1] > Hacim[2])trendcondtemp=3; // her şey oluyor - meh
if (Symbol()=="USDCHF") GlobalVariableSet("TRENDSETUSDCHF ",trendcondtemp);
if (Symbol()=="GBPUSD") GlobalVariableSet("TRENDSETGBPUSD",trendcondtemp);
if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);
if (Symbol()=="USDJPY") GlobalVariableSet("TRENDSETUSDJPY",trendcondtemp);
if (Symbol()=="USDCAD") GlobalVariableSet("TRENDSETUSDCAD",trendcondtemp);
if (Symbol()=="NZDUSD") GlobalVariableSet("TRENDSETNZDUSD",trendcondtemp);
if (Symbol()=="AUDUSD") GlobalVariableSet("TRENDSETAUDUSD",trendcondtemp);
if (Symbol()=="AUDNZD") GlobalVariableSet("TRENDSETAUDNZD",trendcondtemp);
if (Symbol()=="AUDCAD") GlobalVariableSet("TRENDSETAUDCAD",trendcondtemp);
if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);
if (Symbol()=="AUDCHF") GlobalVariableSet("TRENDSETAUDCHF",trendcondtemp);
if (Symbol()=="AUDJPY") GlobalVariableSet("TRENDSETAUDJPY",trendcondtemp);
if (Symbol()=="CHFJPY") GlobalVariableSet("TRENDSETCHFJPY",trendcondtemp);
if (Symbol()=="EURGBP") GlobalVariableSet("TRENDSETEURGBP",trendcondtemp);
if (Symbol()=="EURAUD") GlobalVariableSet("TRENDSETEURAUD",trendcondtemp);
if (Symbol()=="EURCHF") GlobalVariableSet("TRENDSETEURCHF",trendcondtemp);
if (Symbol()=="EURJPY") GlobalVariableSet("TRENDSETEURJPY",trendcondtemp);
if (Symbol()=="EURNZD") GlobalVariableSet("TRENDSETEURNZD",trendcondtemp);
if (Symbol()=="GBPCHF") GlobalVariableSet("TRENDSETGBPCHF",trendcondtemp);
if (Symbol()=="GBPAUD") GlobalVariableSet("TRENDSETGBPAUD",trendcondtemp);
if (Symbol()=="GBPCAD") GlobalVariableSet("TRENDSETGBPCAD",trendcondtemp);
if (Symbol()=="GBPJPY") GlobalVariableSet("TRENDSETGBPJPY",trendcondtemp);
if (Symbol()=="NZDJPY") GlobalVariableSet("TRENDSETNZDJPY",trendcondtemp);
//petrol/altın/şekil ekle/bundan sonra ne yaparsan yap, komisyoncunun yaptığı her şeyi kapsadım
}
Tamam şimdi para birimine bağlı olduğu için başka bir para birimiyle kesişme ve değerleri doldurma şansı yok. Şimdi, değeri çağırmadan önce bunu başlangıç/ne olursa olsun işlevinize koymalısınız.
int trend seti;
if (Symbol()=="USDCHF") trendset= GlobalVariableGet("TRENDSETUSDCHF");
if (Symbol()=="GBPUSD") trendset= GlobalVariableGet("TRENDSETGBPUSD");
if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD");
if (Symbol()=="USDJPY") trendset= GlobalVariableGet("TRENDSETUSDJPY");
if (Symbol()=="USDCAD") trendset= GlobalVariableGet("TRENDSETUSDCAD");
if (Symbol()=="NZDUSD") trendset= GlobalVariableGet("TRENDSETNZDUSD");
if (Symbol()=="AUDUSD") trendset= GlobalVariableGet("TRENDSETAUDUSD");
if (Symbol()=="AUDNZD") trendset= GlobalVariableGet("TRENDSETAUDNZD");
if (Symbol()=="AUDCAD") trendset= GlobalVariableGet("TRENDSETAUDCAD");
if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD");
if (Symbol()=="AUDCHF") trendset= GlobalVariableGet("TRENDSETAUDCHF");
if (Symbol()=="AUDJPY") trendset= GlobalVariableGet("TRENDSETAUDJPY");
if (Symbol()=="CHFJPY") trendset= GlobalVariableGet("TRENDSETCHFJPY");
if (Symbol()=="EURGBP") trendset= GlobalVariableGet("TRENDSETEURGBP");
if (Symbol()=="EURAUD") trendset= GlobalVariableGet("TRENDSETEURAUD");
if (Symbol()=="EURCHF") trendset= GlobalVariableGet("TRENDSETEURCHF");
if (Symbol()=="EURJPY") trendset= GlobalVariableGet("TRENDSETEURJPY");
if (Symbol()=="EURNZD") trendset= GlobalVariableGet("TRENDSETEURNZD");
if (Symbol()=="GBPCHF") trendset= GlobalVariableGet("TRENDSETGBPCHF");
if (Symbol()=="GBPAUD") trendset= GlobalVariableGet("TRENDSETGBPAUD");
if (Symbol()=="GBPCAD") trendset= GlobalVariableGet("TRENDSETGBPCAD");
if (Symbol()=="GBPJPY") trendset= GlobalVariableGet("TRENDSETGBPJPY");
if (Symbol()=="NZDJPY") trendset= GlobalVariableGet("TRENDSETNZDJPY");
Lütfen aklınızda bulundurun!!! (muhtemelen bunu zaten anlamışsınızdır) ancak değerlerin değişmesi için kendi para biriminizde çalışan göstergeye sahip olmalısınız, aksi takdirde mt4'te haftalarca saklanan eski değişkeni alırsınız.