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
Bilgi için teşekkürler.
Anlayamıyorum. MarketInfo() ile elde edilen tarihi kullanırsak,
3 hafta boyunca pozisyon açmayı yasaklamak için bir koşul nasıl belirlenir? Peki ve buna göre doğru anladıysam mevcut pozisyonları kapatmak mantıklı. Son kullanma tarihi ile şaka yapmamak daha iyidir ve buna ne kadar yakınsa, DC'ler açısından mücbir sebep riski o kadar yüksek olur.
İşte son teklifin yayılmasını izleyen bir komut dosyası (özellikle DC Broco için).
Dalın ortasında daha yüksek bir yerde aynı versiyon var, ancak bir gösterge şeklinde.
Senaryo beni tüketiyor. işlemci kaynağı (-loop), bu nedenle açmadan / kapatmadan hemen önce koymak ve ardından hemen kaldırmak daha iyidir.
6NZ0 , M1
Ve eğer goldtrader'ın önerdiği yapıyı betiğinizdeki kodla kullanırsanız
//Задаем цены аск и бид тикера Ask_Tiker = MarketInfo(_tiker,MODE_ASK); Bid_Tiker = MarketInfo(_tiker,MODE_BID);
EA'daki bir filtre gibi. Ve bir senaryoya ihtiyacınız yok.Bilgi için teşekkürler.
Anlayamıyorum. MarketInfo() ile elde edilen tarihi kullanırsak,
3 hafta boyunca pozisyon açmayı yasaklamak için bir koşul nasıl belirlenir? Peki ve buna göre doğru anladıysam mevcut pozisyonları kapatmak mantıklı. Son kullanma tarihi ile şaka yapmamak daha iyidir ve buna ne kadar yakınsa, DC'lerin mücbir sebep riski o kadar yüksek olur.
Ve eğer goldtrader'ın önerdiği yapıyı betiğinizdeki kodla kullanırsanız
EA'daki bir filtre gibi. Ve bir senaryoya ihtiyacınız yok.Peki açık! Komut dosyası yalnızca manuel ticaret için gereklidir.
Ayrıca Expert Advisor'a açılış/kapanış koşullarını ticker ile ekleyebilirsiniz. Gerçekten de bir zorluk var. Danışmanın işini döngüye sokmanız (ve dolayısıyla - gereksiz yere işlemciyi yüklemeniz) gerekecek, aksi takdirde bu filtre düşük likit sözleşmelerde kesinlikle işe yaramaz.
Tünaydın! Soru tam konuyla ilgili.
ÖZELLİKLERİ'ndeki yayılma göstergesi, aletlerin adlarını ayarlamanıza olanak tanır.
harici dize Symbol_1 = "GCG1";
harici string Symbol_2 = "SIF1";
nasıl yazabilirim o zaman
dize sembolü, int zaman çerçevesi,
- hangi araç ayarlanacak - birinci mi yoksa ikinci mi? Ya da bu ikisinden biri?
icustom burada uygulanamaz
kodu danışmana gömmeniz ve koşulu oraya yazmanız gerekir.
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j=0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
icustom burada uygulanamaz
kodu danışmana gömmeniz ve koşulu oraya yazmanız gerekir.
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j}0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
Tekrar teşekkürler. İşte sorularımın cevabı.
Düşünmek için yemek...
MC - YM (4^9)
Düşünmek için yemek...
MC - YM (4^9)
=================================