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
Merhaba mladen, üzülerek söylüyorum ki tekrar denedim ve hala çalışmıyor.
İşlemimi belirli bir zamanlamaya göre kapatabilmemin başka bir yolu var mı?
Saygılarımızla
RyanBu kodu kullandım:
int init() { return(0); }
int deinit() { return(0); }
void start(void)
{
bool result;
if(OrdersTotal()>0)
{
if (TimeCurrent()>= StrToTime("07:00:00"))
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
double pBid=MarketInfo(OrderSymbol(),MODE_BID);
result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);
}
if (OrderType()==OP_SELL)
{
double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);
}
}
}
}
return;
}
Test etmek için siparişi kapattı (örneğe bakın)
Bu kodu kullandım:
int init() { return(0); }
int deinit() { return(0); }
void start(void)
{
bool result;
if(OrdersTotal()>0)
{
if (TimeCurrent()>= StrToTime("07:00:00"))
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
double pBid=MarketInfo(OrderSymbol(),MODE_BID);
result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);
}
if (OrderType()==OP_SELL)
{
double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);
}
}
}
}
return;
}
Test etmek için siparişi kapattı (örneğe bakın)
Merhaba mladen, teşekkürler. sorun tarafımca çözülmüştür. sadece bir yan not, kodlamanızdaki bu birkaç liner'ın amacının ne olduğunu bana abit açıklayabilir misiniz?
extern bool UseCurrSymbol = false; ve
if (!UseCurrSymbol || OrderSymbol()==Symbol())
Saygılarımızla
Ryan
Merhaba mladen, teşekkürler. sorun tarafımca çözülmüştür. sadece bir yan not, kodlamanızdaki bu birkaç liner'ın amacının ne olduğunu bana abit açıklayabilir misiniz?
extern bool UseCurrSymbol = false; ve
if (!UseCurrSymbol || OrderSymbol()==Symbol())
Saygılarımızla
RyanUseCurrSymbol değişkenini ve kodunuzda tam olarak bu satırı kullandınız
Kodun, kodunuzla aynı değişkenleri kullanması için bu değişkeni yapmak zorunda kaldım.
UseCurrSymbol değişkenini kullandınız ve kodunuzdaki tam satırı, kodun kodunuzla aynı değişkenleri kullanması için bu değişkeni yapmak zorunda kaldım.
Merhaba mladen, kodun bu kısmını bana daha önce sağladığınız kaynaklardan aldığım için üzgünüm.
demek istediğim, neden bir bool UseCurrSymbol'u false olarak ayarlamamız gerektiği ve 2. satırın --> if (!UseCurrSymbol || OrderSymbol()==Symbol()) için amacının ne olduğuydu.
Merhaba mladen, kodun bu kısmını bana daha önce sağladığınız kaynaklardan aldığım için üzgünüm. demek istediğim, neden bir bool UseCurrSymbol'u false olarak ayarlamamız gerektiği ve 2. satırın --> if (!UseCurrSymbol || OrderSymbol()==Symbol()) için amacının ne olduğuydu.
false olarak ayarlamamıza gerek yok
Bunu true olarak ayarlarsanız, siparişler için yalnızca mevcut sembol kontrol edilir . Böylece hangi siparişleri işlemek istediğinizi seçmenize olanak tanır.
Merhaba millet!
Aşağıdaki problemim var.
Bir icustom indi değerinin örneğin iCustom(NULL,0,"MACD",12,26,9,0,i) gibi bir alt işlevde kullanılmasını istiyorum:
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
"iCustom(NULL,0,"MACD",12,26,9,0,i)" momentumunu elde etmek için...
Annemle normal dediğimde(Yüksek,22,Barlar,i)
bu çalışıyor, ancak "Yüksek" yerine özel indi kullandığımda, elbette çalışmıyor.
Öyleyse sorum şu, kodun çalışmasını sağlamak için bunu nasıl uygulayabilirim?
Herhangi bir yardım için teşekkürler!
hoşçakal, AT
Merhaba millet!
Aşağıdaki problemim var.
Bir icustom indi değerinin örneğin iCustom(NULL,0,"MACD",12,26,9,0,i) gibi bir alt işlevde kullanılmasını istiyorum:
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
"iCustom(NULL,0,"MACD",12,26,9,0,i)" momentumunu elde etmek için...
Annemle normal dediğimde(Yüksek,22,Barlar,i)
bu çalışıyor, ancak "Yüksek" yerine özel indi kullandığımda, elbette çalışmıyor.
Öyleyse sorum şu, kodun çalışmasını sağlamak için bunu nasıl uygulayabilirim?
Herhangi bir yardım için teşekkürler!
hoşçakal, AT120'de
Göstergeler klasöründe "macd" adında bir göstergeniz var mı (yerleşik macd'yi kastetmiyorum, ancak bazı özel macd'leri kastediyorum)? Evet ise, parametrelerin doğru olup olmadığını kontrol edin
Merhaba Mladen!
Hızlı tekrar için teşekkürler!
Üzgünüm MACD kötü bir örnekti, başka herhangi bir indi'yi özel bir MACD veya bunun gibi bir şey alın.
Çıktıyı ekstra pencereden kontrol ettim ve doğru ayarları yapmak için indi /output'u test ettim,
"iCustom(NULL,0,"myIndi",0,i)"nin doğru parametrelere sahip olduğundan emin olmak için. Corse'nin derlenmesi, doğru klasör vb.
Her zaman hatayı alıyorum (bir değişken kullandığımda) - ör.
double mom1 = iCustom(NULL,0,"myIndi",0,i); -> anne(anne1,Barlar,20,i)
-> "anne" - parametre görüşmesine izin verilmiyor veya doğrudan kullandığımda ->
mom( iCustom(NULL,0,"myIndi",0,i),Barlar,20,i)
Hata: iCustom - parametre referans olarak iletildi, değişken bekleniyor
Yardım ve bilgi için teşekkürler!
hoşçakal, AT
Merhaba Mladen!
Hızlı tekrar için teşekkürler!
Üzgünüm MACD kötü bir örnekti, başka herhangi bir indi'yi özel bir MACD veya bunun gibi bir şey alın.
Çıktıyı ekstra pencereden kontrol ettim ve doğru ayarları yapmak için indi /output'u test ettim,
"iCustom(NULL,0,"myIndi",0,i)"nin doğru parametrelere sahip olduğundan emin olmak için. Corse'nin derlenmesi, doğru klasör vb.
Her zaman hatayı alıyorum (bir değişken kullandığımda) - ör.
double mom1 = iCustom(NULL,0,"myIndi",0,i);-> mom(mom1,Bars,20,i)
-> "anne" - parametre görüşmesine izin verilmiyor veya doğrudan kullandığımda ->
mom( iCustom(NULL,0,"myIndi",0,i),Barlar,20,i)
Hata: iCustom - parametre referans olarak iletildi, değişken bekleniyor
Yardım ve bilgi için teşekkürler!
hoşçakal, ATBen basit iCustom() çağrısı kullanıyorum, o zaman hata sadece parametrelerde olabilir
iCustom()'u mom() işlevi için bir parametre olarak kullanamazsınız (mom işlevi başlığını kontrol edin ve mom() işlevinin hangi parametreleri ve ne tür parametreleri kabul ettiğini göreceksiniz). iCustom()'un sonucu "double" olarak tanımlanır - referansla geçen bir dizinin hızını alamaz. Bu konuyu da kontrol edin: https://www.mql5.com/en/forum/173108 - belki yardımcı olur
Merhaba Mladen!
iCustom'ımın çağrısının doğru olduğunu düşünüyorum, çünkü testte ve normalde (verileri dışa aktarma veya indi olarak kullanma)
şimdiye kadar iyi çalışıyor. Bence sorun bahsettiğiniz gibi double/array değerinde.
Şimdi kullandığımda
çift anne1[];
mom1 = iCustom(NULL,0,"myIndi",0,i);
ve a -> mom(mom1,Bars,20,i);
-> "anne" - parametre görüşmesine izin verilmiyor
Bunu nasıl doğru yazarım?
Çok teşekkürler ve hoşçakalın, AT