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
Dave,
Kodunuzu aşağıdaki snippet olarak değiştirmeyi deneyin ve bunun işe yarayıp yaramadığını bana bildirin.
Yannis
int i=0;
for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0 ) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Puan),Bid-(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0 ) )
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Puan),Ask+(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
dönüş(0);
}
}Backtester'daki işlemleri her zaman tekrar tekrar değiştirmekle ilgili bir sorunum var. İşlemleri bir kez değiştirmesini nasıl sağlayabilirim. Program uyku moduna geçeceğinden, değiştirilmesi gereken tek işlem, hala açık olan işlemlerdir.
Lütfen Backtest sonuçlarının ekteki .Gif'ine bakın. Bunu düzeltmeye çok yakınım - Lütfen tavsiyede bulunun!! Bu Kar Al ve Zararı Durdur modifikasyonunu uyku moduyla birlikte kullanıyorum. Lütfen aşağıdaki koda bakın
int başlangıç()
{
if (UseHourTrade)
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Yorum(
"\n"," * GÜNEŞ RÜZGÂR UZMAN DANIŞMANI *",
"\n",
"\n", " - UYKU DÖNGÜSÜNDE PROGRAM - ",
"\n",
"\n"," > İŞLEM YAPILMAYAN SAATLER! <");
///////////////////UYKU DÖNGÜSÜNÜN BAŞLANGICINDA ZARAR DURDUR & KAR AL DEĞİŞTİR /////////////////
int h=0;
for (int cnt1=SiparişlerToplam()-1;cnt1>=0;cnt1--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Puan),Bid-(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Puan),Ask+(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
dönüş(0);
}
}
LÜTFEN EKLİ KÜÇÜK RESME BAKINIZ!
for (int cnt1 =OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect( cnt1 , SELECT_BY_POS, MODE_TRADES);
aynı sayıyı saymasını sağlayın
Anlamadım. Bu hatayı nasıl düzeltirim?? Belki görüyorum - cnt1'i h olarak değiştirmeme izin verin. Doğrumuyum?
Dave
<<
OrderSelect()'iniz çalışan döngüde temel saymadı
int başlangıç()
{
if (UseHourTrade)
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Yorum(
"\n"," * GÜNEŞ RÜZGÂR UZMAN DANIŞMANI *",
"\n",
"\n", " - UYKU DÖNGÜSÜNDE PROGRAM - ",
"\n",
"\n"," > İŞLEM YAPILMAYAN SAATLER! <");
///////////////////UYKU DÖNGÜSÜNÜN BAŞLANGICINDA ZARAR DURDUR & KAR AL DEĞİŞTİR /////////////////
//int h=0;
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Puan),Bid-(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Puan),Ask+(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
dönüş(0);
}
}
///////////////////////////////////////////// /////////////////////////////////
Değişiklikleri yaptı, ancak tek seferlik bir değişikliğe karşı hala sabit bir değişiklik döngüsü alıyor.
Lütfen tekrar tavsiye verin, lütfen!
Dave
<<<
Lütfen kodunuzu [PHP][/PHP] kodları içinde gönderin. Biçimlendirilmiş kodu okumak ve hatalarını ayıklamak çok daha kolaydır.
Gösterge Giriş Sekmesi
Giriş Sekmesinin grafiğe eklendiğinde artık gösterilmemesi için bir göstergeyi nasıl ve nerede kodlayabilirim?
Teşekkürler,
solaris
int başlangıç()
{
if (UseHourTrade)
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Yorum(
"\n"," * GÜNEŞ RÜZGÂR UZMAN DANIŞMANI *",
"\n",
"\n", " - UYKU DÖNGÜSÜNDE PROGRAM - ",
"\n",
"\n"," > İŞLEM YAPILMAYAN SAATLER! <");
///////////////////UYKU DÖNGÜSÜNÜN BAŞLANGICINDA ZARAR DURDUR & KAR AL DEĞİŞTİR /////////////////
//int h=0;
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{ if( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() == 0 )
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Puan),Bid-(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
if( OrderStopLoss() < Teklif - Puan * 15 )
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Puan),Ask+(20*Puan),Cyan); // Zarar durdurmayı değiştir ve kar al
dönüş(0);
}
dönüş(0);
}
}
///////////////////////////////////////////// /////////////////////////////////
Değişiklikleri yaptı, ancak tek seferlik bir değişikliğe karşı hala sabit bir değişiklik döngüsü alıyor.
Lütfen tekrar tavsiye verin, lütfen!
Dave
<<<mor çizgiyi eklemeyi deneyin ..yardımcı olabilir
Giriş Sekmesinin grafiğe eklendiğinde artık gösterilmemesi için bir göstergeyi nasıl ve nerede kodlarım?
Teşekkürler,
solarisbunun yerine neden bir şablon olarak kaydetmeyi denemiyorsunuz... o zaman tüm göstergelerinizi yeni grafiğe çağırdığınızda herhangi bir parametreyi yeniden ayarlamanıza gerek yok
Önerdiğin gibi yaptım! (Sabrınız için teşekkür ederim)
for (int cnt1=SiparişlerToplam()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
** Ama yine de eskisi gibi tek bir ticarette büyük döngü değişiklikleri alıyorum!
Dave
<<Lütfen en son geriye dönük test sonuçlarına bakın. Affedersiniz logo.htm - Ondan kurtulamazsınız.
Önerdiğin gibi yaptım! (Sabrınız için teşekkür ederim)
for (int cnt1=SiparişlerToplam()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
** Ama yine de eskisi gibi tek bir ticarette büyük döngü değişiklikleri alıyorum!
Dave
<<Yukarıdaki moru eklemeyi denediniz mi?
if( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() == 0 )
ve if( OrderStopLoss() < Bid - Point * 15 )