無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
エキスパート

Nevalyashka_BreakdownLevel - MetaTrader 5のためのエキスパート

発行者:
Vladimir Karputov
ビュー:
1036
評価:
(29)
パブリッシュ済み:
2017.09.11 09:00
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

アイデアの著者は-Vladimir Khlystovで、 MQL5 コードの著者-は barabashkakvnです。

トレーディング戦略: 選択した時間間隔で高値/安値のブレイクアウト。 失われたポジションを回復するために、EA は "Nevalyashka" 戦略とゲール技術を使用します。

このEA は、指定された時間間隔で高値と安値を計算し、" 時間の開始 " から " 時間の終了" にします。

Nevalyashka BreakdownLevel

価格がこの期間の高値を超えると、買いポジションを開きます。 価格が安値を下回る場合は、売りポジションを開きます。 ストップロスは、期間の反対側の境界線に設定されています。 すなわち、買いポジションの場合安値で、売りポジションの場合高値です. テイクプロフィットは、制御期間の高さに基づいて設定されます。

"時間決済の使用" が true に設定されている場合は、"時間決済" パラメータ (すべてのポジションを閉じる時間) がアクティブになります。

時間と分だけのパラメータを考慮して"開始時間"、 "終了時間"と "時間決済" が取られます。

StopLoss による決済は OnTradeTransaction で監視されます。

"DEAL_ENTRY_OUT" (en: "エントリアウト") が見つかった場合は、このコントラクトのコメント欄を確認してください。 コメントに "sl" が含まれている場合、コントラクトが StopLoss によって決済されたことを意味します。

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            MqlDateTime str1;
            TimeToStruct(TimeCurrent(),str1);
            //--- there is a chance that this was a closure on the TakeProfit
            if(StringFind(deal_comment,"tp",0)!=-1 || deal_profit>=0.0)
              {
               TradeDey=str1.day;
               return;
              }
            //--- there is a chance that this was a closure on the StopLoss
            if(StringFind(deal_comment,"sl",0)!=-1)
              {
               if(TradeDey!=str1.day)
                 {
                  Print("A StopLoss closure has been detected!");

                  double loss=MathAbs(deal_profit/m_symbol.TickValue()/deal_volume);

                  if(deal_type==DEAL_TYPE_SELL) //買いのポジションを閉じる
                    {
                     double SL=m_symbol.Bid()+loss*m_symbol.Point();
                     double TP=m_symbol.Bid()-loss*m_symbol.Point();
                     double Lot=LotCheck(deal_volume*InpK_martin);
                     if(Lot==0.0)
                        return;
                     OpenSell(SL,TP,Lot,"Nevalyashka");

                    }
                  if(deal_type==DEAL_TYPE_BUY) //売りポジション決済
                    {
                     double SL=m_symbol.Ask()-loss*m_symbol.Point();
                     double TP=m_symbol.Ask()+loss*m_symbol.Point();
                     double Lot=LotCheck(deal_volume*InpK_martin);
                     if(Lot==0.0)
                        return;
                     OpenBuy(SL,TP,Lot,"Nevalyashka");
                    }
                  return;
                 }
              }
           }

決済されたものとは反対のポジションを開く (コントラクトタイプが "DEAL_TYPE_SELL" の場合、買いポジションは決済。"DEAL_TYPE_BUY" は、売りポジションが決済されたことを意味します) 。 martin. 正の利益でポジションがクローズされた場合、EAは、次の期間の開始時刻を待機して「 時間の決済を行い、上記の手順を繰り返します。

 No lossパラメータは、損益を意味します。 ポジション利益の半分に達すると、StopLoss は始値に移動されます。

EURUSD、M30 のテストの例:

Nevalyashka BreakdownLevel テスト EURUSD M30

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/18645

Boa_ZigZag_Arrows_HTF Boa_ZigZag_Arrows_HTF

インプットパラメータで使用できるタイムフレームの選択オプションを持つ Boa_ZigZag_Arrows インジケーター。

AutoTradeLevels AutoTradeLevels

インジケーターは、短い水平線ですべての実行されたトレードをマークします。

Boa_ZigZag_channel Boa_ZigZag_channel

Boa_ZigZag の天井とトラフに基づくチャネル

ZigZag_channel ZigZag_channel

ジグザグインジケーターの天井とトラフに基づくチャネル。