無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
- ビュー:
- 82
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
このコード・ブロックは、ニュー・バー またはニュー・キャンドルを 受信したときに検出する。
コードの基本原理は非常にシンプルです。まず、コードは 前のバー/キャンドルの時間を 保存します。(その後、60秒(1 分に等しい。 あなたが望むように時間を追加することができます)を 現在のバー/キャンドルの終値の値を 与える前のバーの時間に追加します 。
一度
現在の時間 = 現在のバー/ローソクの終値。 つまり、新しいバーが受信された/現在のバーが閉じていることを意味します。
このコードでは、フラグ(bool型変数'NewBarRecived')。 つまり、このコード・ブロックはバー/ローソクごとに一度だけ実行されます。Comment(); とplaysound("ok.wav"); は、コード・ブロックの正確さをチェックするために使用されています。必要なら削除してもよい。
このフラグは、現在の時間が現在のローソク足の終値より上になると、次のバーの到着を確認するためにfalseにリセットされます。(コメントを見てください)。
//+------------------------------------------------------------------+ //|新しいバーの検出mq5||新しいバーの検出。 //|H・A・T・ラクマール著|電子書籍で漫画(マンガ)を読むならコミック.jp //|https://t.me/Lakmal846 //+------------------------------------------------------------------+ bool NewBarRecived = false; // コントロールのためのファルグ。 //+------------------------------------------------------------------+ //| エキスパート初期化関数| //+------------------------------------------------------------------+ int OnInit() { //--- タイマーを作成する EventSetTimer(60); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ |エキスパート初期化関数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- タイマーを破壊する EventKillTimer(); } //+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1); datetime TimeCurrentClose = TimePreviousBar + 60; // 現在のバーの終値。 datetime Time_Current = TimeCurrent(); if(Time_Current == TimeCurrentClose && NewBarRecived == false) { PlaySound("ok.wav"); // notのステートメント作業について。 NewBarRecived = true; // 複数回の呼び出しを避けるため、フラグを更新する。 // あなたのコードはここにある ----- (何かをする) } else if(Time_Current > TimeCurrentClose) { NewBarRecived = false; // 次のバーオープンのフラグを休ませる。 // あなたのコードはここにある ----- (何かをする) } Comment("\n" + "\n" + "Time Current Bar -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" + "Time Current Close -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" + "Time Current -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" +"\n" + "A New Bar Recived -: " + NewBarRecived); // チェックのための計算 } //+------------------------------------------------------------------+ //| タイマー機能| //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ //| トレード機能| //+------------------------------------------------------------------+ void OnTrade() { //--- } //+------------------------------------------------------------------+ //| チャートイベント機能| //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/49018
Code Block for "Trailing Stop" based on current market price. (Ask / Bid)
このコード・ブロックは、すべての建玉をループし、売値と買値に基づいてトレールする。
ConvertServerTime
サーバーの時間をブローカーのタイムゾーンから別のタイムゾーンに変換する関数。