İyi! Daha ilginç özellikler alalım! Örneğin, piyasa ile en yakın konum arasındaki nokta cinsinden mesafeyi döndüren. Kontrol edilen konumların daha doğru seçimi, harici parametreler tarafından belirlenir:
sy - Araç adı. Bu parametreyi ayarlarsanız, fonksiyon sadece belirtilen enstrümanın pozisyonlarını kontrol edecektir. "" veya NULL, geçerli enstrüman anlamına gelir.
op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY, OP_SELL veya -1. Varsayılan değer -1, herhangi bir konum anlamına gelir.
mn - Konum Kimliği (MagicNumber). Varsayılan değer -1 - herhangi bir büyü.
satop :
DistMarketAndPos() işlevi.
İyi! Daha ilginç özellikler alalım! Örneğin, piyasa ile en yakın konum arasındaki nokta cinsinden mesafeyi döndüren. Kontrol edilen konumların daha doğru seçimi, harici parametreler tarafından belirlenir:
sy - Araç adı. Bu parametreyi ayarlarsanız, fonksiyon sadece belirtilen enstrümanın pozisyonlarını kontrol edecektir. "" veya NULL, geçerli enstrüman anlamına gelir.
op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY, OP_SELL veya -1. Varsayılan değer -1, herhangi bir konum anlamına gelir.
mn - Konum Kimliği (MagicNumber). Varsayılan değer -1 - herhangi bir büyü.
SevgiliIgorKim, bu çok iyi bir işlev, onu ileri geri çalıştırmaya çalışıyorum ve onunla ileri geri emirler açmaya çalışıyorum, bir hatam var, ondan kurtulamıyorum, düzeltmeme yardım et. aşağıdaki hata yorumu
SevgiliIgorKim, bu çok iyi bir işlev, onu ileri geri çalıştırmaya çalışıyorum ve onunla ileri geri emirler açmaya çalışıyorum, bir hatam var, ondan kurtulamıyorum, düzeltmeme yardım et. aşağıdaki hata yorumu
İşlev çalışıyor, ancak danışman koduna eklenmesi gereken ModifyOrder işlevini çağırıyor ve LevelWLoss ve LevelProfit değişkenleri de danışmana eklenmelidir, bunun gibi bir şey
Bu forum başlığı için çok teşekkür ederim. Özellikler için lurii Tokman'a çok teşekkürler. Şahsen, onu neredeyse Stroustrup ile eşitlemeye hazırım. Teşekkür ederim!
Bu işlev, birçok açık pozisyonun toplamını döndürür. Dikkate alınacak pozisyonların daha doğru seçimi harici parametreler tarafından belirlenir:
sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer "" herhangi bir piyasa aracı anlamına gelir. NULL , geçerli enstrüman anlamına gelir.
op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.
dönmüyor!!!
ne yaparsam yapayım, ya sıfırlar ya da "olay işleme işlevi bulunamadı 4.mq4 1 1 "
Bu forum başlığı için çok teşekkür ederim. Özellikler için lurii Tokman'a çok teşekkürler. Şahsen, onu neredeyse Stroustrup ile eşitlemeye hazırım. Teşekkür ederim!
DistMarketAndPos() işlevi.
İyi! Daha ilginç özellikler alalım! Örneğin, piyasa ile en yakın konum arasındaki nokta cinsinden mesafeyi döndüren. Kontrol edilen konumların daha doğru seçimi, harici parametreler tarafından belirlenir:
DistMarketAndPos() işlevi.
İyi! Daha ilginç özellikler alalım! Örneğin, piyasa ile en yakın konum arasındaki nokta cinsinden mesafeyi döndüren. Kontrol edilen konumların daha doğru seçimi, harici parametreler tarafından belirlenir:
Sevgili Igor Kim, bu çok iyi bir işlev, onu ileri geri çalıştırmaya çalışıyorum ve onunla ileri geri emirler açmaya çalışıyorum, bir hatam var, ondan kurtulamıyorum, düzeltmeme yardım et. aşağıdaki hata yorumu
harici int TakeProfit = 150;
harici çift Parti = 0.01;
harici int MAGIC=1234;
int başlangıç()
{
if (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,Ask+TakeProfit*Puan);
}
dönüş(0);
}
int DistMarketAndPos(dize sy="", int op=OP_BUY, int mn=-1)
{
çift d,p;
int i, k=SiparişToplam(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0.00001; başka p=0.01;
(i=0; i<k; i++) için
{
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
{
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
if (mn<0 || OrderMagicNumber()==dk)
{
if (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeÇift(d, 0);
}
if (OrderType()==OP_SEL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeÇift(d, 0);
}
}
}
}
}
//------------------------------------------------ -------------------------------------------------- --------------------------------------------------
if (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_SELL,Lot,Ask,3,0,Ask-TakeProfit*Puan);
}
dönüş(0);
{
int DistMarketAndPos(string sy="", int op=OP_SELL, int mn=-1) //bu satır 1 hata veriyor,
// bu satır kaldırılırsa,
//sonra derler ama sonra
//op=OP_SELL ayarlamayacağım,
// ve onsuz, danışman düşünecek
// hesaplamanın sırası nedir
//mesafe - OP_BUY
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0.00001; başka p=0.01;
(i=0; i<k; i++) için
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
if (mn<0 || OrderMagicNumber()==dk)
{
if (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeÇift(d, 0);
}
if (OrderType()==OP_SEL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeÇift(d, 0);
}
}
}
}
}
dönüş(r);
dönüş(r);
}
}
//------------------------------------------------ -------------------------------------------------
TEŞEKKÜR EDERİM
Sevgili Igor Kim, bu çok iyi bir işlev, onu ileri geri çalıştırmaya çalışıyorum ve onunla ileri geri emirler açmaya çalışıyorum, bir hatam var, ondan kurtulamıyorum, düzeltmeme yardım et. aşağıdaki hata yorumu
TEŞEKKÜR EDERİM
Denemek:
Ve burada sorularla ...
MovingInWL() işlevi.
Çalışmayan işlevlerin neden gönderildiğini açıklayan var mı?
'LevelWLoss' - bildirilmemiş tanımlayıcı
'LevelProfit' - bildirilmemiş tanımlayıcı
'ModifyOrder' - işlev tanımlı değil
'LevelWLoss' - bildirilmemiş tanımlayıcı
'LevelProfit' - bildirilmemiş tanımlayıcı
'ModifyOrder' - işlev tanımlı değil
6 hata(lar), 0 uyarı(lar)
ve bu işlevin kendi içinde
Çalışmayan işlevlerin neden gönderildiğini açıklayan var mı?
'LevelWLoss' - bildirilmemiş tanımlayıcı
'LevelProfit' - bildirilmemiş tanımlayıcı
'ModifyOrder' - işlev tanımlı değil
'LevelWLoss' - bildirilmemiş tanımlayıcı
'LevelProfit' - bildirilmemiş tanımlayıcı
'ModifyOrder' - işlev tanımlı değil
6 hata(lar), 0 uyarı(lar)
ve bu işlevin kendi içinde
İşlev çalışıyor, ancak danışman koduna eklenmesi gereken ModifyOrder işlevini çağırıyor ve LevelWLoss ve LevelProfit değişkenleri de danışmana eklenmelidir, bunun gibi bir şey
harici int LevelProfit = 1000;
harici int SeviyeWKayıp = 50;
Bu forum başlığı için çok teşekkür ederim. Özellikler için lurii Tokman'a çok teşekkürler. Şahsen, onu neredeyse Stroustrup ile eşitlemeye hazırım.
Teşekkür ederim!
GetAmountLotFromOpenPos() işlevi.
Bu işlev, birçok açık pozisyonun toplamını döndürür. Dikkate alınacak pozisyonların daha doğru seçimi harici parametreler tarafından belirlenir:
dönmüyor!!!
ne yaparsam yapayım, ya sıfırlar ya da "olay işleme işlevi bulunamadı 4.mq4 1 1
"
Bu forum başlığı için çok teşekkür ederim. Özellikler için lurii Tokman'a çok teşekkürler. Şahsen, onu neredeyse Stroustrup ile eşitlemeye hazırım.
Teşekkür ederim!