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

 

こんにちは私は時間のローソク足の終値のデータを取得している、私はそれを描画し、すべてが正常である、私はN番目の期間前のデータを取得したい、範囲外の配列を書き込みます。

配列からインジケータバッファを使用しようとしたのですが、前期のデータを取得する方法を教えてください。

{
 


if(prev_calculated<1) limit=rates_total-1;
if(prev_calculated>0)limit=rates_total-prev_calculated;
for(i=limit; i>=0; i--)
{  
int yesterday_weekday = TimeHour(iTime(Symbol(),0,i+1))-TimeHour(iTime(Symbol(),0,i));
if(yesterday_weekday!=0)  
  {
P=C; 
T = iTime(NULL,0,i+1); 
shift=iBarShift(NULL,PeriodGR,T); 
C= iClose(NULL,PeriodGR,shift);   
CB[n]=C;n++; 

 }
 CC[i]=C; 
 Comment(StringFormat("CC[i]=%G\r\nCB[n-2]=%G\r\n",CC[i],CB[n-2])); 
  }
   return(rates_total);
  }
 
PokrovMT5:

こんにちは!私は毎時ローソク足の閉鎖のデータを取得し、私はそれを描く、すべてがOKですが、私はN番目の期間前のデータを取得したい、空の配列を書き込み、私は配列からインジケータバッファを使用しようとしましたが、前の期間のデータを取得する方法をアドバイスします。

もしかしたら、これが役に立つかもしれない

https://www.mql5.com/ru/code/7297

https://www.mql5.com/ru/code/20343

TZ-Breaktout
TZ-Breaktout
  • 投票: 2
  • 2007.09.14
  • Scriptor
  • www.mql5.com
Индикатор TZ-Breaktout.
 
PokrovMT5:

こんにちは私は時間のローソク足の終値のデータを取得して、私はそれを描画し、すべてが正常である、私は戻ってN番目の期間のデータを取得したい、範囲外の配列を書き込みます。

配列からインジケータバッファを使用しようとしたのですが、前期のデータを取得する方法を教えてください。

limit=rates_total-1;

あなたのリミットは、歴史の中で一番最初のバーを指しています。しかし、あなたはi+1が欲しいのです。だから、iは範囲 外なのです。

トライ

limit=rates_total-2;

...とはいえ、まだまだチェックしていない計算値がたくさんありそうですが......。

 
こんにちは。質問なのですが、mql4のインジケータ変数limitでは日別の金のバーが3555本表示されるのですが、mql5ではその半分になるのですか?引用符はどこに貼ればいいのですか?もう一つ質問ですが、上で議論されたlimit=rates_total-2について、私の変種ではlimit=rates_total- 5の時だけ配列のオーバーフローは ありません。また、mql5では、コードのコンパイルが大幅に遅くなり、約13秒かかっていることに気づきましたが、これは正常なのでしょうか?ありがとうございます。

 
mwwm:
こんにちは。質問ですが、mql4で表示されるインジケータの変数制限は、金の場合は毎日3555本、mql5では2倍少なく表示されているのではないでしょうか?引用符をどこに置くか?もう一つ質問ですが、上で議論されたlimit=rates_total-2について、私の変種ではlimit=rates_total- 5の時だけ配列のオーバーフローは ありません。また、mql5では、コードのコンパイルが大幅に遅くなり、約13秒かかっていることに気づきましたが、これは正常なのでしょうか?ありがとうございます。

MT5では、相場はサーバーからダウンロードされます:そこにあるものはそこにあるのです...

限界については、推測して微調整する必要はなく、正確に計算する必要があります - オフセットがどの変数に依存するか、rates_totalとこれらの変数の値から1単位を取る(それらが計算されていない場合)。変数が計算される場合、ループインデックスの値を制御し、それがrates_total-1より大きい場合、この反復をスキップする(続ける)必要があります。

 

こんにちは、誰もが知っている場合、私は99%であるべきであるとテストするためにティックデータをロードし、すべてが30分チャートで正常に動作しますが、私はH4データをロードし、テスターでその上にEAを実行しようとするとすぐに、 - 動作しません、テスターは2018を出します。04.05 16:41:08.576 TestGenerator: file "C:\Usersuser◊AppData◊Roaming◊MetaQuotes◊Terminal◊7E781795884A398A87F33ED1B942D689◊tester◊history◇USDJPY240_0.fxt" cannot open [5].

And 2018.04.05 16:41:08.535 TestGenerator: file "C:\Usersuser◊AppData◊Roaming◊MetaQuotes◊Terminal◊7E81795884A398A87F33ED1B942D689◊tester◇USDJPY240_0.fxt is read-only◊Text◇Text◇Usersuser◇Peter◇Peter◇Terminal◇Terminal◇USDJPY

何が原因なんだろう?
 
pryn:

こんにちは、誰もが知っている場合、私は99%であるべきであるとテストするためにティックデータをロードし、すべてが30分チャートで正常に動作しますが、私はH4データをロードし、テスターでその上にEAを実行しようとするとすぐに、 - 動作しません、テスターは2018を与える。04.05 16:41:08.576 TestGenerator: file "C:\Usersuser◊AppData◊Roaming◊MetaQuotes◊Terminal◊7E781795884A398A87F33ED1B942D689◊tester◊history◇USDJPY240_0.fxt" cannot open [5].

And 2018.04.05 16:41:08.535 TestGenerator: file "C:\Usersuser◊AppData◊Roaming◊MetaQuotes◊Terminal◊7E81795884A398A87F33ED1B942D689◊tester◇USDJPY240_0.fxt is read-only◊Text◇Text◇Usersuser◇Peter◇Peter◇Terminal◇Terminal◇USDJPY

何が原因なんだろう?
質問の 掛け算は不要でお願いします。
 
Artyom Trishkin ...現在時刻の 方が長い場合は変数に保存して確認 する...

ありがとう、探していたものが見つかりました。

もう一つの質問 -ポジションを 部分的に決済 した場合、現在の利益を計算する際に、この決済した利益または損失をどのように考慮するのでしょうか。

 
PolarSeaman:

ありがとうございます、探していたものが見つかりました。

もう一つの質問 -ポジションを 部分的に決済 した場合、現在の利益を計算する際に、この決済した利益または損失をどのように考慮するのでしょうか。

コンプリートクロージングの計算と全く同じ方法です。ポジションは分割され、クローズした部分は履歴に残り、残った部分は新しいチケットを取得し、市場に残ります。

 
Artyom Trishkin:

閉じた部分が歴史に入る

この特定のポジションの履歴で、あるパーツが閉じていることを知るにはどうしたらよいですか?

1.0ロットで建てたポジションを 0.5で決済して10$の損失。 その後、さらに0.25で決済して5$の利益。 50$の利益で全て決済する予定です。実は今、50ドルの利益があるんです。

if (OrderProfit()+OrderSwap()>=50) ClosePosBySelect();

現在の利益の計算で、-$10と+$5を閉じるにはどうしたらいいですか?55ドルの利益で終了すること