İkinci sorumun cevabını buldum. Ancak, BİRİNCİ VE ÜÇÜNCÜ SORULARA CEVAP YOKTUR.
Ben de onlara sahip olmak isterim.
Diğer tüccarların sonuçlarını ve oranlarını bilmek istiyorum. Çünkü aldığım sonuçlar çok rahatsız edici. Piyasadaki fiyat hareket tablosunu da içeren DURAĞAN OLMAYAN SÜREÇLERİN SİMÜLASYONU ve otomatik kontrolü alanında bilim insanıyım. Uzun yıllardır durağan olmayan süreçleri simüle ediyorum ve test cihazının nasıl çalıştığı, uzun yıllara dayanan deneyimime hiçbir şekilde yatırım yapmıyor. Burada bir şeyler yanlış. Test cihazını ya yanlış kullanıyorum ya da düzgün çalışmıyor. Gelin birlikte çözelim.
Benim için kesinlikle optimizasyon dönemine göre bir geriye dönük test yapmak, aynı parametrelerle optimizasyon sırasında elde ettiğimiz kârın %200'ünü gösteriyor. Ve diğer optimizasyon parametrelerini seçerken, optimizasyon periyoduna göre tekrar test ederek birkaç kat daha az kar elde ediyoruz. Prensipte durum böyle olmamalı. Bu yüzden sorularım var.
xyz999 : İkinci sorumun cevabını buldum. Ancak, BİRİNCİ VE ÜÇÜNCÜ SORULARA CEVAP YOKTUR. Ben de onlara sahip olmak isterim.
Eh, artık benim için değil. "Ne yapabilirim" dedikleri gibi (c). Konunun kendisinden uzağım. Forumda arama yapmayı deneyin, belki de ileriye dönük testlerin tartışıldığı yerlerde. Veya konunun çok önemli olduğunu düşünüyorsanız, yeni bir konu başlığı oluşturun. Ve sonra genel iş parçacığında sorular hızla kaybolacak.
Özel Hareketli Ortalama göstergesinin gövdesini aldım ve MFI arabelleğini içine yerleştirdim.
Gerektiğinde fiyatı değiştirdi, hepsi bu.
Bir uzman olarak sizin için yaptım, sadece bir hindi ve doğrulama için bir yorum.Normalde.
Mesajınızı cevapsız bırakmadığınız için teşekkür ederiz. Ne yazık ki, test cihazı hala diğer göstergelerin yumuşatılmasını reddediyor. Uzman Danışmanımın koşulu, aynı anda MFI ve DEMA olmak üzere iki göstergenin değerleridir. Algoritmanızı MFI ile Expert Advisor'a uyguladım - boşuna - global değişkenleri optimize etmek için çalıştıramadım.
bool Buy_opened= false ; // переменные, в которых будет храниться информация bool Sell_opened= false ; // о наличии соответствующих открытых позицийif ( PositionSelect ( _Symbol )== true ) // есть открытая позиция
{
if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_BUY )
{
Buy_opened= true ; //это длинная позиция
}
elseif ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_SELL )
{
Sell_opened= true ; // это короткая позиция
}
}
bool Buy_Condition_1=...
bool Buy_Condition_2=...
bool Buy_Condition_3=...
if (Buy_Condition_1 || Buy_Condition_2)
{
if (Buy_Condition_3)
{
// есть ли в данный момент открытая позиция на покупку?if (Buy_opened)
{
Alert ( "Уже есть позиция на покупку!!!" );
return ; // не добавлять к открытой позиции на покупку
}
mrequest.action = TRADE_ACTION_DEAL ; // немедленное исполнение
mrequest.price = NormalizeDouble (latest_price.ask, _Digits ); // последняя цена ask
mrequest.sl = NormalizeDouble (latest_price.ask - STP* _Point , _Digits ); // Stop Loss
mrequest.tp = NormalizeDouble (latest_price.ask + TKP* _Point , _Digits ); // Take Profit
mrequest.symbol = _Symbol ; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_BUY ; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK ; // тип исполнения ордера - все или ничего
mrequest.deviation= 10 ; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend (mrequest,mresult);
// анализируем код возврата торгового сервераif (mresult.retcode== 10009 || mresult.retcode== 10008 ) //запрос выполнен или ордер успешно помещен
{
Alert ( "Ордер Buy успешно помещен, тикет ордера #:" ,mresult.order, "!!" );
}
else
{
Alert ( "Запрос на установку ордера Buy не выполнен - код ошибки:" , GetLastError ());
return ;
}
}
}
bool Buy_Close_1=....
bool Buy_Close_2=...
bool Buy_Close_3=...
if (Buy_Close_1 || Buy_Close_2)
{
if (Buy_Close_3)
{
// есть ли в данный момент открытая позиция на покупку?if (????)
{
Alert ( "Позицию на покупку закрываю!!!" );
return ; // закрыл
}
mrequest.action = TRADE_ACTION_DEAL ; // немедленное исполнение
mrequest.price = NormalizeDouble (latest_price.bid, _Digits ); // последняя цена bid
mrequest.sl = 0 ;
mrequest.tp = 0 ;
mrequest.symbol = _Symbol ; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_SELL ; // ордер на продажу // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK ; // тип исполнения ордера - все или ничего
mrequest.deviation= 10 ; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend (mrequest,mresult);
Soru işaretleri yerine PositionSelect(_Symbol) değerini gerçek değerle koydum. Yardım etmedi.
Soru. Pozisyonları kapatmak için koşulları belirleyebilmek için en az ne değiştirilebilir?
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
Cevabın çok basit olduğunu ve yakın olduğunu hissettiğiniz için teşekkür ederim. Ancak soru işaretleriyle ilgili bir soru daha ortaya çıktı.
Algoritma ile.
Uygun koşullar altında + pozisyon yok - pozisyon açılır ve diğer şartlar altında ve açık pozisyonun varlığı - açık pozisyon kapatılır.
Yanılmıyorsam - Buy_opened adlı bir pozisyonun varlığı
if (Buy_Condition_1 || Buy_Condition_2)
{
if (Buy_Condition_3)
{
// есть ли в данный момент открытая позиция на покупку?if (Buy_opened)
{
Alert ( "Уже есть позиция на покупку!!!" );
return ; // не добавлять к открытой позиции на покупку
}
bire eşittir - bir uyarıya neden olur ve geri döner (başa döner) ve sıfıra eşittir - bir satın alma emri açar.
Soru. Soru işaretleri yerine ne yazılmalıdır - danışmanın pozisyon açmaması için mevcut açık emrin durumu (benim durumumda - satış emri açma)?
bool Buy_Close_1=....
bool Buy_Close_2=...
bool Buy_Close_3=...
if (Buy_Close_1 || Buy_Close_2)
{
if (Buy_Close_3)
{
// есть ли в данный момент открытая позиция на покупку?if (????)
{
Alert ( "Позицию на покупку закрываю!!!" );
return ; // закрыл
}
mrequest.action = TRADE_ACTION_DEAL ; // немедленное исполнение
mrequest.price = NormalizeDouble (latest_price.bid, _Digits ); // последняя цена bid
mrequest.sl = 0 ;
mrequest.tp = 0 ;
Bu tanımın koşulları PositionSelect (_Symbol) ile ilişkili olduğundan, şu anda Buy_opened'ı da kaydettim.
Tüm olası mantıksal seçenekleri hızlı bir şekilde deneyip test edebileceğiniz için soruların hiçbir şey ifade etmediğini anlıyorum, ancak sorun şu ki test cihazı hatası bunu yapmama izin vermiyor, ancak gerçek ticarette M1'de gerçekten teşhis koymak mümkün modu.
Tüm olası mantıksal seçenekleri hızlı bir şekilde deneyip test edebileceğiniz için soruların hiçbir şey ifade etmediğini anlıyorum, ancak sorun şu ki test cihazı hatası bunu yapmama izin vermiyor, ancak gerçek ticarette M1'de gerçekten teşhis koymak mümkün modu.
Sorunuzu pek anlamadım.
Ve test cihazında test etmenize izin vermeyen ne tür bir hata buldunuz?
Ve test cihazında test etmenize izin vermeyen ne tür bir hata buldunuz?
Daha önce veya gösterge dalında açıklanmıştır. MFI göstergesinin tutamağına atıfta bulunan Dema, MFI penceresinde görüntülenmez ve bu nedenle test cihazı çalışmaz, ancak EA'nın kendisi çalışır. MA ile aynı, AMA...!
Soru hakkında. Danışmanın açık bir pozisyon olduğunu "anlaması" ve emir açmaması için soru işaretleri yerine ne yazılmalıdır!
bool Buy_Close_1=....
bool Buy_Close_2=...
bool Buy_Close_3=...
if (Buy_Close_1 || Buy_Close_2)
{
if (Buy_Close_3)
{
// есть ли в данный момент открытая позиция на покупку?if (????)
{
Alert ( "Позицию на покупку закрываю!!!" );
// Return убрал благодаря форуму ))
}
Lester : Daha önce veya gösterge dalında açıklanmıştır. MFI göstergesinin tutamağına atıfta bulunan Dema, MFI penceresinde görüntülenmez ve bu nedenle EA çalışmaz. MA ile aynı, AMA...!
Soru hakkında. Danışmanın açık bir pozisyon olduğunu "anlaması" ve emir açmaması için soru işaretleri yerine ne yazılmalıdır!
Bir pozisyon varsa (PositionSelect(_Symbol)) ve diğer tüm koşullar karşılanıyorsa, pozisyonu kapatın. Örneğinizden return kaldırılmazsa, koşul şöyle görünmelidir:
if (! PositionSelect ( _Symbol ))
{
return;
}
yani pozisyon yoksa çıkın. Çıkılmazsa, program bu bloğu takip eden kodu yürütecektir.
Ancak kapanış koşullarını kontrol etmeden önce bir pozisyonun varlığını / yokluğunu kontrol ederdim.
İstemci terminali / Strateji test cihazı / Test cihazıyla çalışma / İleriye dönük test
Teşekkür ederim.
evet bu linkte
http://www.metatrader5.com/ru/terminal/help/tester/tester_using/forward_testing
İkinci sorumun cevabını buldum. Ancak, BİRİNCİ VE ÜÇÜNCÜ SORULARA CEVAP YOKTUR.
Ben de onlara sahip olmak isterim.
Diğer tüccarların sonuçlarını ve oranlarını bilmek istiyorum. Çünkü aldığım sonuçlar çok rahatsız edici. Piyasadaki fiyat hareket tablosunu da içeren DURAĞAN OLMAYAN SÜREÇLERİN SİMÜLASYONU ve otomatik kontrolü alanında bilim insanıyım. Uzun yıllardır durağan olmayan süreçleri simüle ediyorum ve test cihazının nasıl çalıştığı, uzun yıllara dayanan deneyimime hiçbir şekilde yatırım yapmıyor. Burada bir şeyler yanlış. Test cihazını ya yanlış kullanıyorum ya da düzgün çalışmıyor. Gelin birlikte çözelim.
Benim için kesinlikle optimizasyon dönemine göre bir geriye dönük test yapmak, aynı parametrelerle optimizasyon sırasında elde ettiğimiz kârın %200'ünü gösteriyor. Ve diğer optimizasyon parametrelerini seçerken, optimizasyon periyoduna göre tekrar test ederek birkaç kat daha az kar elde ediyoruz. Prensipte durum böyle olmamalı. Bu yüzden sorularım var.
Eh, artık benim için değil. "Ne yapabilirim" dedikleri gibi (c). Konunun kendisinden uzağım. Forumda arama yapmayı deneyin, belki de ileriye dönük testlerin tartışıldığı yerlerde. Veya konunun çok önemli olduğunu düşünüyorsanız, yeni bir konu başlığı oluşturun. Ve sonra genel iş parçacığında sorular hızla kaybolacak.
Terminalde ayrıca referans materyalleri bulunmaktadır. F1.
Yapıldı, çok aptalca yapıldı.
Özel Hareketli Ortalama göstergesinin gövdesini aldım ve MFI arabelleğini içine yerleştirdim.
Gerektiğinde fiyatı değiştirdi, hepsi bu.
Bir uzman olarak sizin için yaptım, sadece bir hindi ve doğrulama için bir yorum.Normalde.
Bir kez daha, mesajlar için teşekkürler.
Soru işaretleri yerine PositionSelect(_Symbol) değerini gerçek değerle koydum. Yardım etmedi.
Soru. Pozisyonları kapatmak için koşulları belirleyebilmek için en az ne değiştirilebilir?Uzman Danışman ile ilgili makale https://www.mql5.com/en/articles/100 , pozisyon açma koşullarından bahseder, ancak bunları kapatmak için herhangi bir koşul yoktur.
Soru işaretleri yerine PositionSelect(_Symbol) değerini gerçek değerle koydum. Yardım etmedi.
Soru. Pozisyonları kapatmak için koşulları belirleyebilmek için en az ne değiştirilebilir?Uyarıdan sonra geri dönüşünüz var. Görünüşe göre bu dönüş nedeniyle pozisyon kapatılmadı. Kaldır ve tekrar dene.
Ancak soru işaretleriyle ilgili bir soru daha ortaya çıktı.
Algoritma ile.
Uygun koşullar altında + pozisyon yok - pozisyon açılır ve diğer şartlar altında ve açık pozisyonun varlığı - açık pozisyon kapatılır.
Yanılmıyorsam - Buy_opened adlı bir pozisyonun varlığı
bire eşittir - bir uyarıya neden olur ve geri döner (başa döner) ve sıfıra eşittir - bir satın alma emri açar.
Soru. Soru işaretleri yerine ne yazılmalıdır - danışmanın pozisyon açmaması için mevcut açık emrin durumu (benim durumumda - satış emri açma)?
Bu tanımın koşulları PositionSelect (_Symbol) ile ilişkili olduğundan, şu anda Buy_opened'ı da kaydettim.
Tüm olası mantıksal seçenekleri hızlı bir şekilde deneyip test edebileceğiniz için soruların hiçbir şey ifade etmediğini anlıyorum, ancak sorun şu ki test cihazı hatası bunu yapmama izin vermiyor, ancak gerçek ticarette M1'de gerçekten teşhis koymak mümkün modu.
...
Tüm olası mantıksal seçenekleri hızlı bir şekilde deneyip test edebileceğiniz için soruların hiçbir şey ifade etmediğini anlıyorum, ancak sorun şu ki test cihazı hatası bunu yapmama izin vermiyor, ancak gerçek ticarette M1'de gerçekten teşhis koymak mümkün modu.
Sorunuzu pek anlamadım.
Ve test cihazında test etmenize izin vermeyen ne tür bir hata buldunuz?
Sorunuzu pek anlamadım.
Ve test cihazında test etmenize izin vermeyen ne tür bir hata buldunuz?
Soru hakkında. Danışmanın açık bir pozisyon olduğunu "anlaması" ve emir açmaması için soru işaretleri yerine ne yazılmalıdır!
Daha önce veya gösterge dalında açıklanmıştır. MFI göstergesinin tutamağına atıfta bulunan Dema, MFI penceresinde görüntülenmez ve bu nedenle EA çalışmaz. MA ile aynı, AMA...!
Soru hakkında. Danışmanın açık bir pozisyon olduğunu "anlaması" ve emir açmaması için soru işaretleri yerine ne yazılmalıdır!
Bir pozisyon varsa (PositionSelect(_Symbol)) ve diğer tüm koşullar karşılanıyorsa, pozisyonu kapatın. Örneğinizden return kaldırılmazsa, koşul şöyle görünmelidir:
yani pozisyon yoksa çıkın. Çıkılmazsa, program bu bloğu takip eden kodu yürütecektir.
Ancak kapanış koşullarını kontrol etmeden önce bir pozisyonun varlığını / yokluğunu kontrol ederdim.