私たちのファンページに参加してください
Nevalyashka_BreakdownLevel - MetaTrader 5のためのエキスパート
- 発行者:
- Vladimir Karputov
- ビュー:
- 1036
- 評価:
- パブリッシュ済み:
- 2017.09.11 09:00
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
アイデアの著者は-Vladimir Khlystovで、 MQL5 コードの著者-は barabashkakvnです。
トレーディング戦略: 選択した時間間隔で高値/安値のブレイクアウト。 失われたポジションを回復するために、EA は "Nevalyashka" 戦略とゲール技術を使用します。
このEA は、指定された時間間隔で高値と安値を計算し、" 時間の開始 " から " 時間の終了" にします。
価格がこの期間の高値を超えると、買いポジションを開きます。 価格が安値を下回る場合は、売りポジションを開きます。 ストップロスは、期間の反対側の境界線に設定されています。 すなわち、買いポジションの場合安値で、売りポジションの場合高値です. テイクプロフィットは、制御期間の高さに基づいて設定されます。
"時間決済の使用" が 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 のテストの例:
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/18645
インプットパラメータで使用できるタイムフレームの選択オプションを持つ Boa_ZigZag_Arrows インジケーター。
AutoTradeLevelsインジケーターは、短い水平線ですべての実行されたトレードをマークします。