理論から実践へ - ページ 105

 
Alexander_K2:
非常によく似ています。
datetime cur_time=0;//сюда пишем время
int time_returns=1;// сюда пишем через сколько следующий тик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(1);
   srand((uint)TimeCurrent());
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick(){ }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(CheckTimerTick())
     {
      //---
      MqlTick tick={0};
      SymbolInfoTick(_Symbol,tick);// получили данные тика в сруктуру
      Print(TimeCurrent()," : ",tick.ask,"|",tick.bid);// сбрасываем данные в историю
      //---
     }   
  }
//+------------------------------------------------------------------+
bool CheckTimerTick()
  {   
   if(TimeCurrent()-cur_time>=time_returns)
     {
      time_returns=(int)round(-1*log((rand()+1.)/32768.)+1);
      cur_time=TimeCurrent();
      return(1);
     }
   else return(0);
  }
ファイル:
 
Nikolay Demko:
ニコライ、これを持っていてくれ。私の実際の結果を見ると、自分のロボットを書くのに必要になりますよ。もう、いつまでもVisSimに埋もれているのは...。
 
Nikolay Demko:

tick構造体は変数ではなく、配列として宣言し、すべての楽器のデータを一度に取得することができますが、SymbolInfoTickでは、現在の楽器の名前を返す変数_Symbolの代わりに、要求した楽器の名前を上書きする必要があります。

 
Nikolay Demko:

ティック構造体を変数ではなく、配列として宣言することで、すべての楽器のデータを一度に取得することができます。 SymbolInfoTickにおいてのみ、現在の楽器の名前を返す変数_Symbolの代わりに、要求された楽器の名前を上書きする必要があります。

MQLクリエイター全般の一人だと思います :))))))こんなに速くプログラムを書くことができるのでしょうか?しかし!
 
Alexander_K2:
MQLの生みの親の一人だと思います^)))ゞ)こんなに早くプログラムをつぶすことができるのでしょうか?どうですか?

ずっとここに座っていました )) MT5のベータテストに参加しています。

昔のスレを読んだ連中は、MT4のベータ版のテストに参加してたんだろ。

実はMT2用に書いていたのです

 
Alexander_K2:
アレクサンダー、もう一つ答えてくれ(そうすれば、君の背中から離れる)、どうせランダムな間隔で来るのなら、なぜランダムな間隔でチックを取るんだ?
 
Nikolay Demko:
アレキサンダー、もう1つ答えてくれ(そうすれば私は君を放っておく)、とにかくチックがランダムな間隔でやってくるのに、なぜチックを取るのか?

そうなんです!私もそれが言いたかったんです。
市場のランダムな間隔の上に、自分のランダムな間隔を置く。

 

そろそろこの掲示板を去ることにしようかな...。本当のプロがやってくる...。えー、ウラジミールがいない のは残念です。おそらく、コインを投げて追いかけて どこに投げれば男が腹をくくるか知っている)、それっきり、見かけも音もしない...。

 
Nikolay Demko:
アレキサンダー、もう1つ答えてくれ(そうすれば私は君を放っておく)、すでにランダムな間隔でチックが来ているのに、なぜランダムな間隔でチックを取るんだ?
なぜいきなりランダムなのか?ティック間の時間間隔のヒストグラムはご覧になりましたか?
 
Alexander_K2:
なぜいきなりランダムなのか?ティック間の時間間隔のヒストグラムをご覧になりましたか?

分布の話ではなく、プロセスそのものがランダムで、そこにパターンがないのは確かです。

小刻みにはあるが、時間間隔にはない(セッショナリズムを考慮しない場合)。