MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1911

 
rriaz #:
ポイントはまだまだあります。パパはパスワードがわからないとまで言っている!?( 明日、彼の家に行くので、スクリーンショットか何か撮ります。ソフトウェアは携帯電話にのみインストールされます

悪徳業者の可能性が高いので、法テラスに行く必要がありますね。

 
Alexey Viktorov #:

これが問題なのでしょ うか?定期的にリソースを削除してみてください

が、それだと動的に作成する必要があります。

つまり、まずリソースを削除し、その後再作成する。ただ、問題は、それがどのように 機能するのかがわからないことです。あるいは、まったく機能しないかどうか。試してみないと...。

うまくいかなかった。ResourceCreateはピクチャ用のファイルを新規に作成するだけなので、インジケータは見えません。定期的にメモリをクリアする必要があるだけだと理解しています。ZeroMemoryで何かやってみる

 

皆さん、こんにちは。すべてのチャートに正しいパターンを設定するためのスクリプトは、次のような話であることがわかった。

下のスキャルピングテンプレートを使って、n 1に全部違うチャートを8枚開きました。

スキャルピングパターン付きオープンチャート8枚

一番左のチャート(AUD/USD)に、すべてのチャートをd1と中期テンプレートに変換するスクリプトを追加しました、以下のコードです。

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)// ЕСЛИ ПЕРИОД ГРАФИКА НЕ Д1
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1); // УСТАНАВЛИВАЕМ ПЕРИОД ГРАФИКА КАК Д1
      ChartApplyTemplate(prevChart, tplName); // И УСТАНАВЛИВАЕМ НА ГРАФИК ШАБЛОН СРЕДНЕСРОКА
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/


スクリプトを追加した左チャート以外のチャートは、中間テンプレートに変更しました。

そして、左のチャートにn 1のチャートとスキャルピングテンプレートを 変換するスクリプトを入れました。スクリプトのコードは以下の通りです。

+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СКАЛЬПИНГ.tpl";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


すべてのチャートにスキャルピングパターンが適用され、すべてがOkのようです。ただ、一つ問題があって、一番左のチャートに同じ スクリプトを2回貼り付けると、8チャート中5チャートがツールaud/usd になってしまうのです。

同じスクリプトを2回連続で使用すると、グラフの一部が同じツールのものになる

なぜ起こるのか、同じスクリプトを2回連続で通す以外に回避する方法はあるのか。

 
DanilaMactep #:

皆さん、こんにちは。すべてのチャートに正しいパターンを設定するためのスクリプトは、次のような話であることがわかった。

下のスキャルピングテンプレートを使って、n 1に全部違うチャートを8枚開きました。

一番左のチャート(AUD/USD)に、すべてのチャートをd1と中期テンプレートに変換するスクリプトを追加しました、以下のコードです。


スクリプトを追加した左チャート以外のチャートは中間テンプレートに変更しました。

そして、左のチャートにn 1のチャートとスキャルピングテンプレートを 変換するスクリプトを入れました。スクリプトのコードは以下の通りです。


すべてのチャートにスキャルピングパターンが適用され、すべてがOkのようです。ただ、一つ問題があって、一番左のチャートに同じ スクリプトを2回貼り付けると、8チャート中5チャートがツールaud/usd になってしまうのです。

なぜ起こるのか、同じスクリプトを2回連続で通す以外に回避する方法はあるのか。

このように試してみてください。

void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);// или PERIOD_D1
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov #:

お試しください

このオプションは全く役に立ちません。チャート上でスクリプトをリリースしても何も起こりません。
 
DanilaMactep #:
このオプションは全く何もしません。チャート上でスクリプトをリリースしても何も起こりません。

変数の宣言があったのか

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА

はひょっとして削除されたのでしょうか?

 
Alexey Viktorov #:

変数の宣言があったのか

はひょっとして削除されたのでしょうか?

そうすると、コンパイラは未確認の変数と叫ぶだろう。しかし、今、私は再び挑戦する......。
 
Alexey Viktorov #:

変数の宣言があったのか

はひょっとして削除されたのでしょうか?

再確認したところ、変数は削除されていませんでした。コンパイルしても、スクリプトは何もしない。
 
DanilaMactep #:
このオプションは全く何もしません。チャート上でスクリプトをリリースしても何も起こりません。

は効かないのか?

//+------------------------------------------------------------------+
//|                                           ChartApplyTemplate.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput string Template           = "ADX";          // Имя шаблона(without '.tpl')
sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   long currChart, prevChart = ChartFirst();
   int i = 0, limit = 100;
   bool errTemplate;
   while(i < limit)
     {
      currChart = ChartNext(prevChart);
      if(TimeFrame != PERIOD_CURRENT)
        {
         ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), TimeFrame);
        }
      errTemplate = ChartApplyTemplate(prevChart, Template + ".tpl");
      if(!errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
      if(currChart < 0)
         break;
      Print(i, ChartSymbol(currChart), " ID =", currChart);
      prevChart = currChart;
      i++;
     }
  }
//+------------------------------------------------------------------+
 
137 Matrix #:

は効かないのか?

私の記憶違いでなければ、ここから始まったのですが、確かうまくいかなかったような;-)そして、コード内のテンプレート名もどこに入れればいいのかわかりません。要するに、なんだかごちゃごちゃしている...。