初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 144

 
DC2008:

よく 読んでみてください。

戻り値

この関数は,配列の直列 性を考慮した上で,見つかった要素のインデックスを 返します.失敗した場合は、-1を返します。

ですから、こうあるべきなのです。

1.誤解があれば訂正してください。

区間内のすべての極小値を発見した。

double Low[];
CopyLow(_Symbol,_Period,tss,tspp,Low);

極小値を持つ配列が存在するので、時間間隔(tss,tspp)を列挙せずに、配列から極小値のみをArrayMinimum関数で探索します。

double min= Low[ArrayMinimum(Low)];  
Alert("min=",min);

2.スクリプトでは、関数の中にコードを配置します。

void OnDeinit(const int reason)

の時間パラメータはすべて正しく表示されていますが、変数min=0.0は、入札が行われているときは、指定した間隔の最小値を表示していましたが、現在は、指定した間隔の最小値を表示しています。何が問題なのでしょうか?

 
forexman77:

1.誤解があれば訂正してください。

区間内のすべての極小値を発見した。

極小値を持つ配列があるので、時間的なずれを列挙せずに、配列から極小値だけを求めるArrayMinimum関数を使用します(tss,tspp)

2.スクリプトでは、関数の中にコードを入れています。

の時間パラメータはすべて正しく表示されていますが、変数min=0.0は、入札が行われているときは、指定した区間の最小値を表示していましたが、現在は、指定した区間の最小値を表示しています。何が問題なのでしょうか?

変数のスコープ 内。グローバルにする。
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
zfs:
変数のスコープ 内。グローバルにする。
変数 "double min;" を移動しました。をグローバルにまだ=0.0にする。
 
forexman77:
変数 "double min;" を移動しました。をグローバルスチル=0.0に変更

スクリプト

void OnStart()
  {
   double Low[];
   CopyLow(_Symbol,_Period,0,10,Low);
   double min=Low[ArrayMinimum(Low)];
   Alert("min=",min);
  }
スクリプトにはOnInitとOnDeinitはありません。
 

あなたのドキュメントにエラーがあります https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples

int ChartFirstVisibleBar(constlong chart_ID=0)
{
//--- プロパティの値を取得するための変数を用意します。
long result=-1;
//--- エラー値をリセットする
ResetLastError()。
//--- プロパティの値を取得する
if(!ChartGetInteger(chart_ID,CHART_WINDOW_YD ISTANCE,0,result)) となるはずです。CHART_FIRST_VISIBLE_BAR
{
//--- エラーメッセージを「エキスパート」ジャーナルに 出力する
Print(__FUNCTION__+", Error Code = ",GetLastError());
}
//--- チャートプロパティの値を返す
return((int)result);
}

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком - Документация по MQL5
 
DC2008:

スクリプト

スクリプトにはOnInitとOnDeinitはありません。

本当にありがとうございました!!!

私には効果がありました!!!

 

例えば、EAをデコンパイルから保護し、5日間しか動作しないようにしたいのですが、EAを保護し、動作時間を制限するために使用するプログラムを教えてください。

EAをテスト用に他の人に渡すために、EAの実行時間を恒久的に制限できるプログラムが必要です。

 

EAをテストする 際、以下のような難題に遭遇しました。

Expert Advisorは、以下の場合は取引しない(しなければならない)。

 if(Stop <=Start) { return;}

テストでは、Stopパラメータを1~33、Startパラメータを1~33に設定しました。

もちろん、テスターではオーバーシュート時にStop > Startが発生することもあるので、2/3程度はNullの結果が出ます。

これらのヌルテストには多くの時間がかかります。

質問:Expert Advisorのコードでnull testのテストを無効にするにはどうすればよいですか?

論理的には、禁止された後はテスト時間が短縮されるはずだが?

 
forexman77:

EAをテストする 際、以下のような難題に遭遇しました。

Expert Advisorは、以下の場合は取引しない(しなければならない)。

テストでは、Stopパラメータを1~33、Startパラメータを1~33に設定しました。

もちろん、テスターではオーバーシュート時にストップ>スタートが発生することもあるので、2/3くらいはゼロの結果が出ます。

これらのヌルテストには多くの時間がかかります。

問題は、EAのコードでヌルテストをテストしないようにする方法です。

https://www.mql5.com/ru/docs/common/expertremove

テスターでは動作しています。 // 少なくとも前回以前のビルドでは動作していました。 久しぶりに確認しました。

Документация по MQL5: Общие функции / ExpertRemove
Документация по MQL5: Общие функции / ExpertRemove
  • www.mql5.com
Общие функции / ExpertRemove - Документация по MQL5
 
MetaDriver:

https://www.mql5.com/ru/docs/common/expertremove

テスターでは動きます。//少なくとも、前回のビルドでは動きました。

テストパスが必要です。EAが取引しない場合。

if(Stop <=Start) { return;}

テスト時間を短縮するために行いたい。

Expert Advisor が持つ入力パラメータに特化した機能が Strategy Tester にあるのでは

Stop <=Startとなった場合は、このパスをスキップ する。

理由: