アイデアの提供者: Yuri、mq5コードの作成者: barabashkakvn。
このエキスパートアドバイザー(EA)は、ラウンド価格のステップに基づいて、最も近い上位および下位の「ラウンド」価格を計算します。ラウンド価格の計算方法を確認するには、OnDeinitの行をコメントアウトしてください:
//+------------------------------------------------------------------+ //| エキスパートの非初期化関数 | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Math()関数の動作: return; }
EAをチャートからアンロードすると、エキスパートタブに例が表示されます。このEAは、価格の位置とiAMA(適応移動平均)インディケーターを確認して、初期の指値注文を配置します。
- バー#0のクローズ価格がインディケーターより上にある場合、上位ラウンド価格でBuy Stop注文が置かれます。
- バー#0のクローズ価格がインディケーターより下にある場合、下位ラウンド価格でSell Stop注文が置かれます。
各指値注文には有効期限が設定されており、指値注文の有効期限(時間単位)が最後の既知のサーバー時間に加算されます。
買いと売りのポジションにはそれぞれ異なるトレーリング手法が適用され、トレーリングストップBUYおよびトレーリングストップSELLで設定されます。
入力パラメータ
- ロット数 - ボリューム;
- ストップロスBUY - Buy Stop注文のストップロス;
- ストップロスSELL - Sell Stop注文のストップロス;
- トレーリングストップBUY - 買いポジション用のトレーリングストップ;
- トレーリングストップSELL - 売りポジション用のトレーリングストップ;
- ラウンド価格のステップ - ラウンド価格のステップ値;
- 指値注文の有効期限(時間単位) - 指値注文の有効期限;
- AMA: 計算期間 - AMAの期間;
- AMA: 高速MAの期間 - 高速移動平均の期間;
- AMA: 遅延MAの期間 - 遅延移動平均の期間;
- AMA: 水平シフト - インディケーターの水平シフト;
- AMA: 使用する価格の種類 - インディケーター計算に使用する価格の種類;
- マジックナンバー - EAのユニークな識別子。
EURUSD、H1でのテスト結果:
