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

 
Seric29:

つまり、条件が真であれば、2つの同じアクションを行うということです。

変数を宣言しましたが、このどちらかのアクション以外何も行われません。Price_UrNij = Bar_Cl[iHgCL]>Bar_Op[iHgOP] ?Bar_Cl[iHgCL]:Bar_Op[iHgOP]; またはこの動作Price_UrVerh = Bar_Cl[iLwCL]<Bar_Op[iLwOP] ?Bar_Cl[iLwCL]:Bar_Op[iLwOP]; 条件により上下2段の同じ動作をさせる方法。どなたか、短く書く方法を提案していただけませんか?

1.このようなコードは非常に読みにくい。

          int iHgCL=iHighest(_Symbol,PERIOD_D1,MODE_CLOSE,4,qt+1); int iHgOP=iHighest(_Symbol,PERIOD_D1,MODE_OPEN,4,qt+1);

行頭以外で変数宣言を 探す人はほとんどいないでしょう。

2.ifブロックの中で、レベルを構築する関数を2回呼び出すだけです。

vs_Line_TR( Line_TR, iTime(_Symbol,PERIOD_D1,qt+2),  Price_UrNij, iTime(_Symbol,PERIOD_D1,qt), Price_UrNij, clrGreen, DRAW_LINE, 2, false, false);
vs_Line_TR( Line_TR, iTime(_Symbol,PERIOD_D1,qt+2),  Price_UrVerh, iTime(_Symbol,PERIOD_D1,qt), Price_UrVerh, clrGreen, DRAW_LINE, 2, false, false);
 

使い分け、ニュアンスの違いは?

MqlDateTime dt;
datetime time=TimeTradeServer(dt)

и

MqlDateTime tm;
TimeToStruct(TimeTradeServer(),tm);
 
Fast528:

使い方の違い、ニュアンスの違いを教えてください。

おそらく違いはないでしょう。

 
Alexey Viktorov:

おそらく違いはないでしょう。

最初のケースは時間変数と構造体を使いたい場合で、2番目のケースは構造体のデータだけということですね?

 
Fast528:

最初のケースは時間変数と構造体を使いたい場合で、2番目のケースは構造体のデータだけということですね?

時間的な変化には気を配っていなかった。

何のために?結局、構造を時間軸に置き換えるには、何のコストもかからないのです。しかし、この場合、変数のために確保されたメモリはありません。

あるいは、分割せずに時間だけを必要とするならば、なぜ構造のためにメモリを確保しなければならないのか。

 
Alexey Viktorov:

時間的な変化には気を配っていなかった。

何に使うの?構造を時間軸に置き換えるのはコストがかからない。しかし、この場合、変数のために確保されたメモリはありません。

あるいは、分割せずに時間だけが必要な場合、なぜ構造のためにメモリを確保する必要があるのでしょうか?

インジケーターや ロボットによくあるような、チャート上に エントリーポジションとイグジットポジションを表示し、それらの間に線を引く、例えば今日から1日引いた期間で表示するようなインジケーターが 欲しいのですが?

 

テストを実行 する

プログラムは、OnInit()でファイルを開く。

CFileTxt file;
int file_handle=file.Open("file_name.lic",FILE_READ);
if(file_handle==INVALID_HANDLE)
     {      
      return INIT_FAILED;
     }

フォルダ内のファイルが見つからないだけでなく、テスト後にテストエージェントのMQL5Filesフォルダ内の別のファイルが削除されてしまいます。起動時に削除されるファイルは、全部で2つです。

FileOpen()で エラー5004が 発生しました。

問題はテスターにしかない。

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Juer:

テストを実行 する

プログラムは、OnInit()でファイルを開く。

フォルダ内のファイルが見つからないだけでなく、テスト後にテストエージェントのMQL5Filesフォルダ内の別のファイルが削除されてしまいます。起動時に削除されるファイルは、全部で2つです。

FileOpen()で エラー5004が 発生しました。

問題はテスターにしかない。

エージェントフォルダをクリーンアップしています。これは正しい。過去に保存したファイルをタックインする必要がある場合は、共有フォルダーに保存されたファイルへの参照を使用します。


私のコードからの

//--- STEP 6
   if(m_file_txt.Open(InpFileName,FILE_WRITE|FILE_COMMON)==INVALID_HANDLE)
 
Vladimir Karputov:

エージェントのフォルダーを整理しているところです。これは正しい。過去に保存したファイルをタックインする必要がある場合は、共有フォルダーに保存されたファイルへの参照を使用します。


私のコードの一例 です。

共有フォルダーとは?全く使っていません。私はいつも携帯モードで起動します。インストールフォルダにあるものはすべて揃っています。

 
Juer:

共有フォルダーとは?全く使っていません。私はいつもポータブルモードで動作させています。インストールフォルダにあるものはすべて揃っています。

共有フォルダ:FILE_COMMON。探す、読む。考えること。

理由: