MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 96

 
Vadim Podoprigora :

Merhaba!

Lütfen bir danışman yazmama yardım edin.

Danışmanın özü: 1 lot için 4 sipariş açar.

2 satılık: usdchf; eurosd;

2 satın almak için: gbpusd; usdjpy;

Toplam 5 puan kar elde ettiğinizde tüm işlemleri kapatın. Ve yeniden başla.

toplam 4 lot mu?

peki ya kar olmazsa? hiç kelimeden.

 
Vadim Podoprigora :

Merhaba!

Lütfen bir danışman yazmama yardım edin.

Danışmanın özü: 1 lot için 4 sipariş açar.

2 satılık: usdchf; eurosd;

2 satın almak için: gbpusd; usdjpy;

Toplam 5 puan kar elde ettiğinizde tüm işlemleri kapatın. Ve yeniden başla.

Sorunuzu farklı başlıklarda tekrar etmenize gerek yok.

Freelance ile iletişime geçin.

 
Andrey Sokolov :

Selamlar.

Geçerli çizelgede yeni bir mum açıldığında eylemin gerçekleşmesi için nasıl bir koşul yazacağımı söyle?

https://www.mql5.com/ru/articles/159
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 

Merhaba! Dizilerle ilgili yardım!

Diziyi MACD göstergesi ile doldurmak gereklidir. Anladığım kadarıyla veri var: bar indeksi, MODE_MAIN değeri, MODE_SIGNAL değeri , yani dizi üç boyutlu bir tür olmalı ( a [] [] []), ya da ne? Mümkünse bir örnek.

 

Sergey, bu kodu hiç kendin kullandın mı?

Makale genellikle iyidir, ancak kullanmak için

datetime lastbar_time= SeriesInfoInteger ( Symbol (), Period (), SERIES_LASTBAR_DATE );

çok tehlikeli. Bunun işe yaraması için kuzunun tavsiyesi üzerine hikayeyi periyodik olarak "seğirmek" gerekir. Konum belirtilmedi.

Genel olarak, çok fazla acı çektikten sonra CopyRates () işlevini kullanmanın daha iyi olduğu sonucuna vardım.

Olası hatalarla ilgili mesajlar, her biri istediği zaman kendisine eklenir.

bool newBar()
{
static datetime timeLastBar;
   MqlRates mqlRates[];
   int s = 0 ;
     do
     {
      s++;
     }
     while ( CopyRates ( _Symbol , PERIOD_CURRENT , 0 , 1 , mqlRates) < 0 && s < 7 );
   bool ret = timeLastBar != mqlRates[ 0 ].time;
   if (ret)
    timeLastBar = mqlRates[ 0 ].time;
   return (ret);
} /*******************************************************************/
 
Alexey Viktorov :

Sergey, bu kodu hiç kendin kullandın mı?

Makale genellikle iyidir, ancak kullanmak için

datetime lastbar_time= SeriesInfoInteger ( Symbol (), Period (), SERIES_LASTBAR_DATE );

çok tehlikeli. Bunun işe yaraması için kuzunun tavsiyesi üzerine hikayeyi periyodik olarak "seğirmek" gerekir. Konum belirtilmedi.

Alexey, söyle bana, bunu kullanırken ne zaman hatalarla karşılaştın? En az bir kere miydi?

Sadece bu yöntemi kendim kullanıyorum ve henüz başım belaya girmedi. Ancak, belki daha fazlası gelir?

Bir açıklama istiyorum - öyle dememek için... :)

Ve davulcu bunu nerede söyledi?

 
Artyom Trishkin :

Alexey, söyle bana, bunu kullanırken ne zaman hatalarla karşılaştın? En az bir kere miydi?

Sadece bu yöntemi kendim kullanıyorum ve henüz başım belaya girmedi. Ancak, belki daha fazlası gelir?

Bir açıklama istiyorum - öyle dememek için... :)

Ve davulcu bunu nerede söyledi?

https://www.mql5.com/ru/forum/89213

8 sayfalık bir çatışma var. Ve sadece bir kuzu değil, Slava diyorlar ki

Slava :

İşlevin uygunsuz davranışını nerede görüyorsunuz? Belgeleri dikkatlice okudunuz mu?

Geçmiş verilerin durumu hakkında bilgi verir . Bilgileri güncellemez, veri sayfalamayı başlatmaz. Sadece şu anda ne olduğunu döndürür

 
Artyom Trishkin :

Alexey, söyle bana, bunu kullanırken ne zaman hatalarla karşılaştın? En az bir kere miydi?

Sadece bu yöntemi kendim kullanıyorum ve henüz başım belaya girmedi. Ancak, belki daha fazlası gelir?

Bir açıklama istiyorum - öyle dememek için... :)

Ve davulcu bunu nerede söyledi?

Ve seğirme hakkında

Vladimir Karputov :
Bir terminalde (M15 döneminde Uzman Danışmanlar vardı) tek bir sembol üzerinde çalışmadı - Sorunun, başka birinin zaman çerçevesini kullanırken, geçmişi her zaman "bükmeniz" gerektiğinden %99 eminim. CopyTime() ile yapmanın daha iyi olduğunu düşünüyorum.
nedensel bir yer için kedi.
 
Artyom Trishkin :

Alexey, söyle bana, bunu kullanırken ne zaman hatalarla karşılaştın? En az bir kere miydi?

Hatırladığım kadarıyla, TF mevcut olandan daha büyükse bekleneni vermeyebilir.
 
Merhaba! MT5 ile ilgili bir sorum var.

Örneğin, MT5 terminalinin danışmanları (MACD Örneği ve Hareketli Ortalamalar) vardır, bu nedenle bu EA'ların kodundaki gösterge tutamağına belirli bir TF eklerseniz, örneğin "_Period" yerine PERIOD_H4, o zaman açılışta test ederken daha yüksek TF'lerde fiyatlar, gösterge yükleme hatası oluşur: 'MACD' [4805] göstergesi yüklenemiyor ve sonuç olarak: OnInit başarısız olduğu için test cihazı durduruldu. Görüşler nelerdir? Belki yanlış bir şey yapıyorum? Herhangi bir zaman diliminde açık fiyatlarla test edilebilmesi için bir EA'yı kodlamak mümkün müdür?

Göstergeyi özel olarak eklemeye çalıştım, hata aynı.

Yanıtınız için şimdiden teşekkür ederiz.

int OnInit ( geçersiz )
{
//--- riskten korunma modu etkinse pozisyonları kontrol etmek için ticaret sınıfını hazırlayın
ExtHedging=(( ENUM_ACCOUNT_MARGIN_MODE ) AccountInfoInteger ( ACCOUNT_MARGIN_MODE )== ACCOUNT_MARGIN_MODE_RETAIL_HEDGING );
ExtTrade.SetExpertMagicNumber(MA_MAGIC);
ExtTrade.SetMarginMode();
//--- Hareketli Ortalama göstergesi
ExtHandle= iMA ( _Symbol , PERIOD_H4 ,MovingPeriod,MovingShift, MODE_SMA , PRICE_CLOSE );
if (ExtHandle== INVALID_HANDLE )
{
printf ( "MA göstergesi oluşturulurken hata" );
dönüş ( INIT_FAILED );
}
//--- tamam
dönüş ( INIT_SUCCESSED );
}