//+------------------------------------------------------------------+//| Функция проверки и добавления индикатора на график |//+------------------------------------------------------------------+bool AddIndicator()
{
//--- выводимое сообщениеstring message;
//--- проверим на совпадение символ индикатора и символ графикаif(_Symbol!=_Symbol)
{
message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
message=message+"\r\n";
message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
message=message+"\r\n";
message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
Alert(message);
//--- досрочный выход, не будем добавлять индикатор на графикreturnfalse;
}
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графикаif(_Period!=_Period)
{
message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
message=message+"\r\n";
message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
Alert(message);
//--- досрочный выход, не будем добавлять индикатор на графикreturnfalse;
}
//--- все проверки прошли, символ и период индикатора соответствуют графикуif(indicator_handle==INVALID_HANDLE)
{
Print(__FUNCTION__," Создаем индикатор");
indicator_handle=iCustom(_Symbol,_Period,Inpshort_name);
if(indicator_handle==INVALID_HANDLE)
{
Print("Не удалось создать индикатор. Код ошибки ",GetLastError());
}
}
//--- сбросим код ошибкиResetLastError();
//--- накладываем индикатор на графикPrint(__FUNCTION__," Добавляем индикатор на график");
Print("Индикатор построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикаторint subwindow=(int)ChartGetInteger(0,-1);
PrintFormat("Добавляем индикатор на окно %d графика",subwindow);
if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
{
PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки %d",
subwindow,GetLastError());
}
//--- добавление индикатора на график прошло успешноreturn(true);
}
//+------------------------------------------------------------------+
Люди. Граждане! Огромная просьба - заполняйте свой профиль на сайте и пользуйтесь стандартными программами - устанавливайте Skype. У Skype есть очень полезная функция - показ рабочего стола. В таком случае можно оперативно подсказать по возникшей проблеме. Помните - время - деньги! Древняя народная мудрость гласит: если хочешь помочь...
GannZIGZAG_Fibo_Grand_xN_Din Зигзаг Ганна с графическим объектом "Уровни Фибоначчи", построенными на двух, последних вершинах с расширенными настройками для отображения фибо-уровней. XKPrmSt_NRTR_HTF
ユーティリティ(「ユーティリティコマンド」)にこの機能を追加 #property version "1.004"
をクリックすると、この機能に関する設定が表示されます。
トレンドラインや水平線の名前 - Indicatorをインストールする。
インディケータ名 - チャートにインストールするインディケータを指定します。
指標の水平線またはトレンドラインの名前。
-------------------------- 作業の原則は、次のとおりとする。
----------------------- インジケータは、水平線(青)を移動します - それが突破した場合、それは売りで開き、別の指標によってピックアップされ、指標の紫色のレベルにラインを移動します黄色の線を削除し、設定します - 後 、水平 黄色の線は、再び指標を設定します。
コードの細かい修正点//| チャートにインジケータをチェックし、追加する関数 | である。
#property version "1.005"
コードの細かい修正点//| チャートへのインジケータのチェックと追加を行う関数 | である。
#property version "1.005"
コードに少し手を加えた
#property version "1.006"
AVERAGE 0 " からは、指定した距離に 水平線 "POT "と"REWOL " を設定 する =0;// Obj: グリッドステップ、pips("0" -> false)
if set =true( = false; // Avto Line Chart Indicators ) は、ライン"AVERAGE 0" から与えられた距離で繰り返されます。
昼も夜も、欲しいものが手に入りました。ありがとうございました!ウラジーミル・カルプトフ 氏
一回一回の信号で !!!以下はその機能です。
コードを少し修正しました
#property version "1.006"
AVERAGE 0" からは、 水平線 "POT" と"REWOL" を任意の 距離で表示します = 0;// Obj: Grid Step, pips("0" -> false)
if set =true( = false; // Avto Line Chart Indicators ) は、ライン"AVERAGE 0" から設定された距離で繰り返されることになります。
#property version "1.007"
追加 - 時間で、価格から、どの距離に設定されているインジケータ、水平線を設定します。
のように、すべてのポジションをクローズし、Expert Advisor を削除してチャートを変更するか、または、オープンポジションを削除せずに、Expert Advisor を削除し、チャートテンプレートを変更します。
以下はその設定です。
水平の青い線から、上に1本、下にもう1本引いて、青い線が交差したらAlertを発動し、線を消すというものです。
- この機能をUtility_Command.mq5225 kbに 追加する予定です。
IndicatorウィンドウでHorizontal Lineを機能させるのは簡単ではない
が、なんとなくわかってきました。以下、素案です。 macd nullラインより(SELLボトムラインブレイクBUYトップライン)
-------------------------
専門家および指標原案
IndicatorウィンドウでHorizontal Lineを機能させるのは簡単ではない
が、なんとなくわかってきました。ざっとこんな感じです。 macdゼロラインから(SELLボトムラインブレイクBUYトップライン)
-------------------------
エキスパートとインジケーターのドラフト
実際、Expert AdvisorはIndicator Windowで動作します。LOWが水平線であれば、BUYとSELLラインの間で、それはポジションを開きませんが、BUYより 高く移動すると、それは BUYポジションを開くことになります。
逆に、SELLラインより 下にある場合は、売り ポジションを 持つことになります。
水平の青い線から、上に1本、下にもう1本引いて、青い線が交差したらAlertを発動し、線を削除する。
- この機能をUtility_Command.mq5225 kbに 追加する予定です。
私はこの機能を追加しました - それは非常に単純ですが、私はそれを実装する方法を見つけただけです。
#property version "1.008"
この関数のインジケータを添付します。
はい!ユーティリティにこんなのも追加してくださいhttps://www.mql5.com/ru/code/23939
はい!ユーティリティにこんなのも追加してくださいhttps://www.mql5.com/ru/code/23939
#property version "1.009"
機能追加
インジケーターの下で、1つの名前が必要 - LOW