EASY AND FAST https://www.mql5.com/ru/articles/3527 ライブラリは、"SubWindow.mq5 "ファイルをロードすることによって、インジケータサブウィンドウでプログラムウィンドウを開始する可能性を実装しています。ML5ではすべてが機能し、ML4でもコンテンツはエラーなくコンパイルされますが、サブウィンドウが開きません。
//+------------------------------------------------------------------+//| SubWindow.mq5 |//| Copyright 2016, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright"2016, MetaQuotes Software Corp."#property link"http://www.mql5.com"#property indicator_separate_window#property indicator_plots0#property indicator_buffers0#property indicator_minimum0.0#property indicator_maximum0.0//--- Имя программы#define PROGRAM_NAME ::MQLInfoString(MQL_PROGRAM_NAME)
//--- Идентификатор события для изменения высоты подокна эксперта#define ON_SUBWINDOW_CHANGE_HEIGHT (38)
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit(void)
{
//--- Короткое имя индикатора
::IndicatorSetString(INDICATOR_SHORTNAME,PROGRAM_NAME);
//--- Инициализация прошла успешноreturn(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Деинициализация |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
//--- Если инициализация прошла успешноif(prev_calculated<1)
//--- Отправим сообщение эксперту, чтобы получить от него размер для подокна
::EventChartCustom(0,ON_SUBWINDOW_CHANGE_HEIGHT,0,0.0,PROGRAM_NAME);
//---return(rates_total);
}
//+------------------------------------------------------------------+//| ChartEvent function |//+------------------------------------------------------------------+voidOnChartEvent(constint id,
constlong &lparam,
constdouble &dparam,
conststring &sparam)
{
//--- Обработка события изменения высоты подокна экспертаif(id==CHARTEVENT_CUSTOM+ON_SUBWINDOW_CHANGE_HEIGHT)
{
//--- Принимать сообщения только от имени экспертаif(sparam==PROGRAM_NAME)
return;
//--- Изменить высоту подокна
::IndicatorSetInteger(INDICATOR_HEIGHT,(int)lparam);
//--- Обновить график
::ChartRedraw();
}
}
//+------------------------------------------------------------------+
bool VerifityToSchet()
{
if(AccountNumber() != account)
{
Print("На данном счете индикатор работать не будет, вы его приобрели незаконным путем!!!");
}else
{
Print("На данном счете индикатор авторизован");
}
return(false);
}
よくわからないのですが、もしかしたらウィンドウを間違えているのでしょうか。バーのあるチャートウィンドウのことです。これらが動く。EAのインジケータをロードするときのダイアログウィンドウ、アラートウィンドウ、メッセージウィンドウもありますが、すべて移動します。どの窓のことでしょうか?ダイアログボックスは関係ありません。 また、4でライブラリも持っていません。
こちらがフクロウの窓です。
必要な時にチャート上で動かしたい。
フクロウの窓はこちら
それこそ、必要なときにスケジュール通りに動かしたい。
窓ではなく、パネルです。動かせますよ、コードも教えられないし。一般的なコードと再描画が必要です。パネルが描かれている場所を探して座標を指定し、イベントを使って、クリックで移動、削除、新規描画を行う必要があるのです。こんな感じ。でも、私はまったく製図ができないんです。
EAで削除する場合、コメントのクリーニングは必要ありませんが、インジケータでは必要です。そのような設計になっているのでしょうか?
適切なプログラマーであれば、少なくとも
コメントが使用された場合は、自分で後始末をするそうです。そして、多くの初心者はこのことに注意を払わない。それが秘訣です。適切なプログラマーであれば、少なくとも
コメントが使用された場合は、自分で後始末をするそうです。そして、多くの初心者はこのことに注意を払わない。それが秘訣です。ということで、上に書きました)。問題は、なぜEAと指標で異なる挙動を示すのか、ということでした。隠された意味があるのか、それとも歴史的に異なる執筆陣から発展してきたのか)
適切なプログラマーは、少なくとも
コメントが使用された場合は、自分で後始末をするそうです。そして、多くの初心者はこのことに注意を払わない。それが、すべての秘訣です。実は、これに関する明確な一般要件は ありません。
要件の話はしたっけ?この点を考慮している人とそうでない人がいると言っただけです。
要件の話はしたっけ?私は、その点を考慮する人としない人がいると言っただけです。
そういうわけではありません。
EASY AND FAST https://www.mql5.com/ru/articles/3527 ライブラリは、"SubWindow.mq5 "ファイルをロードすることによって、インジケータサブウィンドウでプログラムウィンドウを開始する可能性を実装しています。ML5ではすべてが機能し、ML4でもコンテンツはエラーなくコンパイルされますが、サブウィンドウが開きません。
みなさん、こんにちは。
アカウントチェックを(任意の)インジケータに付けたいのですが!
もちろんinit()とstart()で有効にしたのですが、ターミナルを再起動すると、アカウントが無効ですと表示されるのです!?
私は何を間違えているのだろう?