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

 
ANDREY :

Test cihazında, 2008'den beri ve hala tutarlı bir şekilde kabul edilebilir düşüşlerle kâr sağlayan istikrarlı bir istatistiksel model buldum. Ve farklı çiftler ve çerçeveler vb. üzerinde test etmem gerekiyor.
Ancak aynı anda birkaç parametre üzerinde test etmeniz gerekir. Optimizasyon gerçekçi olmayacak kadar uzun zaman alır. Ve ihtiyacım olanı çok daha hızlı test eden bir kod yazdım. Ve şimdi kodumu geliştiriyorum, yani test cihazında daha hızlı, daha doğrusu olabildiğince hızlı çalışmasını istiyorum. Ve kodumun ana algoritması, her yerel minimumdan 30 puan sonra siparişlerin açılmasıdır. Bu yüzden mümkün olduğunca çabuk yapmaya çalışıyorum.

Yerel bir ekstremumu nasıl tanımladığınızı açıklayabilirseniz, probleminizi çözmeniz daha kolay olacaktır.

Fraktallar göstergesi buna uygunsa, ikinci çubukta bir fraktalın olup olmadığını kontrol edin ve bu değerden gerekli 30 puan veya pip'i hesaplayın ... canınız ne isterse.

 
MakarFX :

Kodunuzu kontrol etmek bir yük taşımaz, ancak gerçekten denemek istiyorsanız

Denedim. Yanlış siparişleri tekrar açar (zamana, fiyata ve miktara göre)

senin kodun

 double LoU;
int OnInit ()
  {
   LoU=Bid;
  }
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (Low[ 1 ]<LoU) {LoU=Low[ 1 ];}
   if ((Bid- 30 * Point )>=LoU)
     {
       if ( OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 3 , 0 , 0 , "300" , 0 )) LoU=Bid;
     }
  }


Yardım için teşekkürler.

 
Alexey Viktorov :

Yerel bir ekstremumu nasıl tanımladığınızı açıklayabilirseniz, probleminizi çözmeniz daha kolay olacaktır.

Fraktallar göstergesi buna uygunsa, ikinci çubukta bir fraktalın olup olmadığını kontrol edin ve bu değerden gerekli 30 puan veya pip'i hesaplayın ... canınız ne isterse.

Bir ekstremum, bir emir açıldıktan sonra yerel bir minimum ise, bu minimum, her bir tik veya mum üzerindeki minimum fiyat değeri kontrol edilerek belirlenir. Ve tam olarak bununla mücadele ediyorum. İhtiyacım olan yerlerde siparişleri açabilmek için her şeyin kat kat daha hızlı olmasını istiyorum.

 
ANDREY :

Bir ekstremum, bir emir açıldıktan sonra yerel bir minimum ise, bu minimum, her bir tik veya mum üzerindeki minimum fiyat değeri kontrol edilerek belirlenir. Ve tam olarak bununla mücadele ediyorum. İhtiyacım olan yerlerde siparişleri açabilmek için her şeyin kat kat daha hızlı olmasını istiyorum.

Ekstremum, yerel bir minimum veya yerel bir maksimumdur. Nasıl tanımlarsınız?

 
Alexey Viktorov :

Yerel bir ekstremumu nasıl tanımladığınızı açıklayabilirseniz, probleminizi çözmeniz daha kolay olacaktır.

Fraktallar göstergesi buna uygunsa, ikinci çubukta bir fraktalın olup olmadığını kontrol edin ve bu değerden gerekli 30 puan veya pip'i hesaplayın ... canınız ne isterse.

Bana öyle geliyor ki fraktal gösterge bana uymuyor. Birçok siparişi kaçıracak.

Kodum tarafından açılan sipariş, her tikte fiyat kontrolü ile mavi renkle vurgulanır. Bana öyle geliyor ki fraktal bu durumda benim için gerekli hiçbir şeyi söylemiyor.

 
Alexey Viktorov :

Ekstremum, yerel bir minimum veya yerel bir maksimumdur. Nasıl tanımlarsınız?

Benim durumumda, minimum.

 
ANDREY :

Ne

Pr

nasıl başlatılır?

 
MakarFX :
nereye kayıt ettireceğimi arıyorum

Örneğin, iki bitişik siparişin açılması arasında. Yani, son açık emrin çubuğunu hatırlayın ve fiyat, bu fonksiyonun 30 p ile belirleyeceği düşük seviyenin üzerine çıkar çıkmaz - bir emir açın. Ancak daha sonra bu işlevin her onayda çağrılması gerekecektir. Bızı sabunla değiştirin .......

 
ANDREY :

Bızı sabunla değiştirin .......

Daha da kötüsü ... hala çubuk sayısını bilmeniz gerekiyor


ince ayar yaptım... dene

 
MakarFX :

Ne

nasıl başlatılır?

 double LoU, Pr ;
void OnTick () //484
{
Tick++;
if (Bid<LoU)
LoU=Bid;
//**************************************************************||TimeCurrent()==1262568096
if (Bid-LoU>= 0.0030 && Pr !=LoU)
{
OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 3 , 0 , 0 , "300" , 0 );
Print ( "---------------------КАЖДЫЙ ТИК ------Tick---------=     "     ,   Tick);
Pr =LoU;
LoU=Bid;
}
}
Pr, 30 pipten sonra sadece 1 emir açmak için kullanılan bir değişkendir. Ve bu değişken olmadan, her tikte açılırlar.