無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
- ビュー:
- 72
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
皆さん、こんにちは、
これは「シンプルで効果的なブレイクアウト戦略」のアップデートです。このコードでは、プロップファーム・チャレンジのためのヘルパー関数をいくつか追加しました。
一般的に、プロップファーム・チャレンジをパスするには、3つの主な基準を満たす必要がある:
- 目標利益
- 1日の最大損失に違反していないこと
- 最大損失に違反していない
このコードでは、「目標利益」と「1日の最大損失に抵触しそう」をチェックする2つの関数を組み込み、すべてのポジションを自動的に決済し、保留中の注文をすべて削除しています。最大損失」については、あなたのストラテジーとリスク管理次第なので、このMQL5スクリプトでは触れません。
//+------------------------------------------------------------------+ | プロップ・ファームのヘルパー機能| //+------------------------------------------------------------------+ // すべての未決注文を削除し、すべてのポジションを決済する。 void ClearAll(string message) { Comment(message); for (int i = OrdersTotal() - 1; i >= 0; i--) { ulong orderTicket = OrderGetTicket(i); if (OrderSelect(orderTicket)) { trade.OrderDelete(orderTicket); } } for (int i = PositionsTotal() - 1; i >= 0; i--) { ulong posTicket = PositionGetTicket(i); trade.PositionClose(posTicket); } } // 利益目標を達成したかどうかをチェックする bool isPassed() { return AccountInfoDouble(ACCOUNT_EQUITY) > PASS_CRITERIA; } // 1日の最大損失額を超えるかどうかをチェックする bool isDailyLimit() { MqlDateTime date_time; TimeToStruct(TimeCurrent(), date_time); int current_day = date_time.day, current_month = date_time.mon, current_year = date_time.year; // 現在の残高 double current_balance = AccountInfoDouble(ACCOUNT_BALANCE); // 今日の決済済み取引を取得 PL HistorySelect(0, TimeCurrent()); int orders = HistoryDealsTotal(); double PL = 0.0; for (int i = orders - 1; i >= 0; i--) { ulong ticket=HistoryDealGetTicket(i); if(ticket==0) { Print("HistoryDealGetTicket failed, no trade history"); break; } double profit = HistoryDealGetDouble(ticket,DEAL_PROFIT); if (profit != 0) { // 取引日時を取得する MqlDateTime deal_time; TimeToStruct(HistoryDealGetInteger(ticket, DEAL_TIME), deal_time); // ディールタイムをチェックする if (deal_time.day == current_day && deal_time.mon == current_month && deal_time.year == current_year) { PL += profit; } else break; } } double starting_balance = current_balance - PL; double current_equity = AccountInfoDouble(ACCOUNT_EQUITY); return current_equity < starting_balance - DAILY_LOSS_LIMIT; }
指定するパラメータは以下の通りです:
input string dd = "-------------PROP FIRM CHALLENGE-----------------"; input bool isChallenge = false; input double PASS_CRITERIA = 110100.; input double DAILY_LOSS_LIMIT = 4500.;
このスクリプトにある値が見つかるといいですね。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/49713
Click on the market chart to create a price alert
これはMetaTrader 5では初めてのことです。チャートをクリックして価格アラートを作成できます。
Count consecutive no. of bull or bear bars
強気または弱気バーの連続数をカウントするサンプルコード。