初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 605 1...598599600601602603604605606607608609610611612...1504 新しいコメント Vladimir Karputov 2016.08.22 09:24 #6041 Alexander Antoshkin: ウラジミールさん、こんにちは。私の質問の仕方が悪かったのでしょう。サブウィンドウは必要ない、インジケータは標準チャートとして価格チャートに配置する必要がある私はそれを一例としてとらえ、理解しようと努めています。チャートに搭載するインジケーターに番号をつけて、「Add」ボタンで必要な枚数をチャート上に作成できるようにしたいのですが・・・・。十字」ボタンで選択したものを削除したいのですが・・・・・・(まだ記述しません))。メインチャートウィンドウにインジケータを追加する場合サブウィンドウ[0 はメインチャートウインドウを意味 します。新しいウィンドウにインジケータを追加するには、パラメータは最後に存在したウィンドウのインデックスより1つ多く、つまりCHART_WINDOWS_TOTALと 同じである必要があります。パラメータ値がCHART_WINDOWS_TOTALを 超える場合、新しいウィンドウは作成されず、インジケータも追加されません。この段階ではエキスパートがまだ形成されていないため、OnInit()にインジケータを追加することはできません。しかし、関数 - OnTick()はExpert Advisorが完全に動作していることを示すものです。//+------------------------------------------------------------------+ //| 0000.mq5 | //| Copyright 2016, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" input int MA_Period=21; input int MA_Shift=0; input ENUM_MA_METHOD MA_Method=MODE_SMA; //--- variables int MA_handle=INVALID_HANDLE; bool first_start=false; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { Print(__FUNCTION__,", first_start = ",first_start); MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",MA_Period,MA_Shift,MA_Method,PRICE_CLOSE); if(MA_handle==INVALID_HANDLE) return(INIT_FAILED); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| "Tick" event handler function | //+------------------------------------------------------------------+ void OnTick() { //--- if(!first_start) { if(AddIndicator()) //попробуем добавить индикатор на график first_start=true; } } //+------------------------------------------------------------------+ //| Функция проверки и добавления индикатора на график | //+------------------------------------------------------------------+ bool AddIndicator() { //--- сбросим код ошибки ResetLastError(); //--- накладываем индикатор на график int subwindow=0; PrintFormat("Добавляем индикатор на окно %d графика",subwindow); if(!ChartIndicatorAdd(0,subwindow,MA_handle)) { PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки %d", subwindow,GetLastError()); } return(true); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ また、AddIndicator()関数を書き換えて、インジケータの追加に失敗したときにfalseを返すようにします。 削除済み 2016.08.22 09:26 #6042 Alexander Antoshkin: ウラジミールさん、こんにちは。私の質問の仕方が悪かったのでしょう。サブウィンドウは必要ない、インジケータは標準チャートとして価格チャートに配置する必要がある私はそれを一例としてとらえ、理解しようと努めています。チャートに搭載するインジケーターに番号をつけて、「Add」ボタンで必要な枚数をチャート上に作成できるようにしたいのですが・・・・・。十字ボタンで選択したものを削除したい ...... (妄想はたくさんあるので、まだ書きたくない)) インジケータは名前をつけてもいいし、数字が好きなら数字にすればいい。ただし、番号は番号ではなく、テキストになります。1つまたは複数から任意の指標番号を追加できるカスタムコントロールパネルが欲しいですか? Aleksey Vyazmikin 2016.08.22 16:41 #6043 月内の日数と週数で別々にフィルタリングする方法を教えてください。 日内 私はこれを行いました。bool TimeStart=false;int hour=12;//--Фильтр по ремени открытия бара внутри дняif (TimeStart==true){ datetime Open_timePos=iTime(_Symbol,0,0); MqlDateTime str1; TimeToStruct(Open_timePos,str1); str1.hour=hour; str1.min=0; str1.sec=0; datetime start_time=StructToTime(str1); if (start_time>iTime(_Symbol,0,0)) { BuyPrIMA=false; SellPrIMA=false; } Questions from Beginners MQL5 マーケットクローズ MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 削除済み 2016.08.22 17:31 #6044 -Aleks-: 月内の日数と週数で別々にフィルタリングする方法を教えてください。 日内 私はこれを行いました。int НомерДНЯвМесяце=TimeDay(iTime(_Symbol,0,0));int НомерДняНедели=TimeDayOfWeek(iTime(_Symbol,0,0)); int НомерНеделиВмесяце=NormalizeDouble(НомерДНЯвМесяце/7,0); 削除済み 2016.08.22 17:35 #6045 new-rena: 月の週を聞いてくる 削除済み 2016.08.22 17:37 #6046 pako: 月の週について尋ねているそこでは3つの選択肢をすべて作りました。彼はどれをベースにしたいのか、お願いします。これか?int НомерНеделиВмесяце=NormalizeDouble(НомерДНЯвМесяце/7,0); 削除済み 2016.08.22 17:38 #6047 new-rena: そこで3つの選択肢を全部やりました。ご指定ください。1カ月は5~6週あり、今日は4週目ですstr.dayは月日曜日 Aleksey Vyazmikin 2016.08.22 17:40 #6048 new-rena: ありがとうございます。 削除済み 2016.08.22 17:42 #6049 pako: 1カ月は4週5週で、今日は4週目です なるほど、前月29日(例えば月曜日)から当月31日(例えば月曜日)までの週をこのように計上したいということですね。1ヶ月以上です。そのような週を数えるのは論理的ではありません。そうでなければ、その週は丸々1週間にはならない。いや、意味がない...。 削除済み 2016.08.22 17:42 #6050 new-rena:そこでは3つの選択肢をすべて作りました。彼がベースにしたいと言っているのはどれなのか、教えてください。これか? それじゃダメなんです。 1...598599600601602603604605606607608609610611612...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ウラジミールさん、こんにちは。
私の質問の仕方が悪かったのでしょう。
サブウィンドウは必要ない、インジケータは標準チャートとして価格チャートに配置する必要がある
私はそれを一例としてとらえ、理解しようと努めています。
チャートに搭載するインジケーターに番号をつけて、「Add」ボタンで必要な枚数をチャート上に作成できるようにしたいのですが・・・・。十字」ボタンで選択したものを削除したいのですが・・・・・・(まだ記述しません))。
メインチャートウィンドウにインジケータを追加する場合
サブウィンドウ
[0 はメインチャートウインドウを意味 します。新しいウィンドウにインジケータを追加するには、パラメータは最後に存在したウィンドウのインデックスより1つ多く、つまりCHART_WINDOWS_TOTALと 同じである必要があります。パラメータ値がCHART_WINDOWS_TOTALを 超える場合、新しいウィンドウは作成されず、インジケータも追加されません。
この段階ではエキスパートがまだ形成されていないため、OnInit()にインジケータを追加することはできません。しかし、関数 - OnTick()はExpert Advisorが完全に動作していることを示すものです。
また、AddIndicator()関数を書き換えて、インジケータの追加に失敗したときにfalseを返すようにします。ウラジミールさん、こんにちは。
私の質問の仕方が悪かったのでしょう。
サブウィンドウは必要ない、インジケータは標準チャートとして価格チャートに配置する必要がある
私はそれを一例としてとらえ、理解しようと努めています。
チャートに搭載するインジケーターに番号をつけて、「Add」ボタンで必要な枚数をチャート上に作成できるようにしたいのですが・・・・・。十字ボタンで選択したものを削除したい ...... (妄想はたくさんあるので、まだ書きたくない))
bool TimeStart=false;
int hour=12;
//--Фильтр по ремени открытия бара внутри дня
if (TimeStart==true)
{
datetime Open_timePos=iTime(_Symbol,0,0);
MqlDateTime str1;
TimeToStruct(Open_timePos,str1);
str1.hour=hour;
str1.min=0;
str1.sec=0;
datetime start_time=StructToTime(str1);
if (start_time>iTime(_Symbol,0,0))
{
BuyPrIMA=false;
SellPrIMA=false;
}
月内の日数と週数で別々にフィルタリングする方法を教えてください。 日内 私はこれを行いました。
月の週について尋ねている
そこでは3つの選択肢をすべて作りました。彼はどれをベースにしたいのか、お願いします。
これか?
そこで3つの選択肢を全部やりました。ご指定ください。
1カ月は5~6週あり、今日は4週目です
str.dayは月日
曜日
1カ月は4週5週で、今日は4週目です
そこでは3つの選択肢をすべて作りました。彼がベースにしたいと言っているのはどれなのか、教えてください。
これか?