[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 698
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
telif hakkı
teşekkür ederim
Yine sorduğum soruya dönüyorum https://forum.mql4.com/en/15972/page693 - burada göstergeler ve göstergeler arasında parametre geçişi - uzmanlar. Global değişkenlerin önerilen kullanımı elbette bu sorunu kısmen çözüyor, ancak başka bir soru ortaya çıktı! Global değişkenlerin tanımına göre ......... GV değişkeni sadece double türünde olabilir, ancak bir Expert Advisor, global bir değişkenin değerini alırken değişkenin bir değişkenden alındığını nasıl bilebilir? belirli bir sembol ve belirli bir zaman dilimi?
Karakterleri kodlayın. Bunun için değişken isimleri kullanabilseniz de, örneğin EUSRUSD_H1_Var1
Martin ilavesiyle Gorando programında yapılmıştır.
//+------------------------------------------- --------------------+
//| Telif Hakkı 2005 Gordago Yazılım A.Ş. |
//| http://www.gordago.com/ |
//| sürüm 2.0 |
//+------------------------------------------- --------------------+
geçersiz OpenBuy() {
çift dStopLoss = 0, dTakeProfit = 0;
double Lots_New = Lot;
if (isLossLastPos(NULL, -1, MAGIC))
Çok_Yeni *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Çok;
eğer (dBuyStopLossPoint > 0)
dStopLoss = Teklif-dBuyStopLossPoint*Puan;
if (dBuyTakeProfitPoint > 0)
dTakeProfit = Teklif + dBuyTakeProfitPoint * Puan;
int numorder = OrderSend(Symbol(), OP_BUY, Lots_New, Ask, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenBuy);
if (sayı > -1 && lFlagUseSound)
PlaySound(sSoundFileName);
}
geçersiz OpenSell() {
çift dStopLoss = 0, dTakeProfit = 0;
double Lots_New = Lot;
if (isLossLastPos(NULL, -1, MAGIC))
Çok_Yeni *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Çok;
if (dSellStopLossPoint > 0)
dStopLoss = Sor+dSellStopLossPoint*Puan;
if (dSellTakeProfitPoint > 0)
dTakeProfit = Ask-dSellTakeProfitPoint*Puan;
int numorder = OrderSend(Symbol(),OP_SELL, Lots_New, Bid, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenSell);
if (sayı > -1 && lFlagUseSound)
PlaySound(sSoundFileName);
}
Sen
geçersiz OpenBuy() {
çift dStopLoss = 0, dTakeProfit = 0;double Lots_New = Lot;
if (isLossLastPos(NULL, -1, MAGIC))
Çok_Yeni *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Çok;
Bu bir fonksiyondur ve bu fonksiyonun en başında Lots_New değişkenine = Lot değerini atarsınız;
Her zaman orijinal durumuna geri getirirseniz daha sonra nasıl değişeceğini düşünün?
Sana nereye yazmanı söyledim? Başlatma işlevinden önce harici değişkenlerde ...
Ve parti değerini doğru boyuta normalleştirin:
Lots_New = NormalizeLot(Lot*2, False, "");
Karakterleri kodlayın. Bunun için değişken isimleri kullanabilseniz de, örneğin EUSRUSD_H1_Var1
kesinlikle! teşekkür etmek! Ama yine de net değil... olası karakter sayısının tamamına karşılık gelen tüm değişken adlarını göstergeye yazmam gerekecek. Ve belirli bir an geldiğinde göstergeden bir parametre iletmek istersem, göstergeye o anda göstergenin bulunduğu sembolü belirleme kodunu yazmam gerekecek. Ardından, karşılaştırma işlevini veya diğer durum türlerini kullanarak, parametrenin hangi adlandırılmış global değişkene yazılacağını belirleyin! Her şeyi doğru anlıyorum! ?
Ve işte başka bir retorik soru ya da fikrinizi almak için. Analizin doğasında sözde "kalıplar" vardır. Kalıplar, belirli tekrar eden anlara (veya parametrelere) dayalı kalıplardan başka bir şey değildir. Ancak ne yazık ki, piyasa istikrarsız bir maddedir ve bu nedenle, bir dereceye kadar, her bir modele, bir modelin oluşumuna sadık kalarak, yanlış bir şablon olarak yaklaşılabilir veya belirli parametrelerden biraz sapılabilir. Analiz için herhangi bir zaman dilimini temel alırsak, örneğin - üzerinde belirli koşullar altında ortaya çıkan kalıpların varlığı için 15 dakika, o zaman grafikte belirli sayıda kalıp olacağı ortaya çıkıyor. Ve kalıbın oluşmadığı belirli sayıda durum, ancak bu durumlar kalıbın oluşumuna yakındı, sadece belirli parametrelere uymadılar (biraz saptılar). Bu durum, desenleme koşullarının yumuşatılmasıyla önlenebilir. Bu durumda, pazara girmek için daha fazla kalıp ve fırsat olacaktır, ancak parametreler kesin olarak belirlenmediği için yanlış kalıpların sayısı artacaktır. (Sıkı parametrelerle, desenin bu koşullarla bir günde bile görünmeyebileceğini de hesaba katarsak).
Soru! o zaman bir modelin oluşumunu hangi parametrelerle (sert bir koşulla veya yumuşak bir koşulla) kullanacaksınız!
Sorunu çözmeye yardım edin!
Açtığım veya beklettiğim siparişler için arama yapıyorum. Eğer öyleyse, sonra bunun ne tür bir alış veya satış emri olduğunu belirlerim. Belirli koşullar altında (eğer biri diğerinden büyükse ve ayrıca üçüncüden küçükse), o zaman bu siparişi kapatmak istiyorum. İçindeki ayarları değiştirin ve tekrar açın.
Sorun, bir siparişi kapatmak ve açmak için sinyalin sürekli olarak mevcut olmasıdır. Bu nedenle siparişim kapanıyor ve tekrar açılıyor ve bu şekilde açılıp kapanıyor...)))
Bu sorun nasıl çözülür? Ha
kesinlikle! teşekkür etmek! Ama yine de net değil... olası karakter sayısının tamamına karşılık gelen tüm değişken adlarını göstergeye yazmam gerekecek. Ve belirli bir an geldiğinde göstergeden bir parametre iletmek istersem, göstergeye o anda göstergenin bulunduğu sembolü belirleme kodunu yazmam gerekecek. Ardından, karşılaştırma işlevini veya diğer durum türlerini kullanarak, parametrenin hangi adlandırılmış global değişkene yazılacağını belirleyin! Her şeyi doğru anlıyorum! ?
Ve işte başka bir retorik soru ya da fikrinizi almak için. Analizin doğasında sözde "kalıplar" vardır. Kalıplar, belirli tekrar eden anlara (veya parametrelere) dayalı kalıplardan başka bir şey değildir. Ancak ne yazık ki, piyasa istikrarsız bir maddedir ve bu nedenle, bir dereceye kadar, her bir modele, bir modelin oluşumuna sadık kalarak, yanlış bir şablon olarak yaklaşılabilir veya belirli parametrelerden biraz sapılabilir. Analiz için herhangi bir zaman dilimini temel alırsak, örneğin - üzerinde belirli koşullar altında ortaya çıkan kalıpların varlığı için 15 dakika, o zaman grafikte belirli sayıda kalıp olacağı ortaya çıkıyor. Ve kalıbın oluşmadığı belirli sayıda durum, ancak bu durumlar kalıbın oluşumuna yakındı, sadece belirli parametrelere uymadılar (biraz saptılar). Bu durum, desenleme koşullarının yumuşatılmasıyla önlenebilir. Bu durumda, pazara girmek için daha fazla kalıp ve fırsat olacaktır, ancak parametreler kesin olarak belirlenmediği için yanlış kalıpların sayısı artacaktır. (Sıkı parametrelerle, desenin bu koşullarla bir günde bile görünmeyebileceğini de hesaba katarsak).
Soru! o zaman bir modelin oluşumunu hangi parametrelerle (sert bir koşulla veya yumuşak bir koşulla) kullanacaksınız!
Sorunu çözmeye yardım edin!
Açtığım veya beklettiğim siparişler için arama yapıyorum. Eğer öyleyse, sonra bunun ne tür bir alış veya satış emri olduğunu belirlerim. Belirli koşullar altında (eğer biri diğerinden büyükse ve ayrıca üçüncüden küçükse), o zaman bu siparişi kapatmak istiyorum. İçindeki ayarları değiştirin ve tekrar açın.
Sorun, bir siparişi kapatmak ve açmak için sinyalin sürekli olarak mevcut olmasıdır. Bu nedenle siparişim kapanıyor ve tekrar açılıyor ve bu şekilde açılıp kapanıyor...)))
Bu sorun nasıl çözülür? HaRoger, teşekkürler, ama yine de doğru çalışmıyor. Başka bir izi sabitlemeye çalıştım, ancak hata hala devam ediyor :( Aynı anda bir poz ve birkaç poz için iz herhangi bir şeyde farklılık gösteriyor mu?
Po değişkenini işlevin başında tanımladığınızı anlıyorum, ancak onu herhangi bir yere atamıyorsunuz, yani. 0'a eşittir.