mql5言語の特徴、微妙なニュアンスとテクニック - ページ 230

 

begDayBar=iBarShift(_Symbol,_Period,begDayTime,false) ドキュメントによると、この関数は正確なパラメータに応じて-1または最も近いバーのオフセットを返します。

しかし、今日、begDayTime=2023.01.26 00:00:00とすると、なぜか-1が返されます。

2023.02.15 15:19:23.254 !indDAY_WSOWROhLine (EURRUB_TOM,M15) begDayTime=2023.01.26 00:00:00 endDayTime=2023.01.27 00:00:00 begDayBar=-2 endDayBar=-1 indATR=0 Q5days=0

とすると、-1が返されるか、正しいバーが返される。

Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
IuriiPrugov #:

今日、begDayTime=2023.01.26 00:00:00の場合、なぜか-1が返される。

再生のためにすべてのデータを提供する。
 
fxsaber #:
再生用にすべてのデータを提供する。

begDayTime=iTime(Symbol(),Inp_period,bar);begDayBar=iBarShift(_Symbol,_Period,begDayTime,false)-1;

Inp_period = M15

2023.02.19 13:02:42.517 !indDAY_WSOWROhLine (EURRUB_TOM,M15) bar=14 begDayTime=2023.01.30 00:00:00 endDayTime=2023.01.31 00:00:00 begDayBar=-2 endDayBar=673 indATR=0 Q5days=0
もし挿入する場合

if (begDayBar<0) { k=0; do {k++;} while(begDayTime<time[k] && !IsStopped()); begDayBar=k; }.

とすれば、すべてOKです(つまり、iBarShiftが失敗したら修正します)。

 
IuriiPrugov #:

データではない。

 
fxsaber #:

データではない。

Inp_period=D1が15日周期で検索される! begDayTime= bar= bar =14

begDayTime=iTime(Symbol(),Inp_period,bar); _Symbol= EURRUB_TOM; _Period= M15; そのあと

iBarShift(_Symbol,_Period,begDayTime,false)は、通常のバーを生成したり、-1したり、バーをカウントする時間がなかったりします。

一般的に、インジケータを切り替えると("チャート期間 "パネルで別の期間を押すだけ)不安定に動作します。

もし挿入されていなければ、別のインジケータでも同じことができます。 if (begDayBar<0) { k=0; do {k++;} while(begDayTime<time[k] && !IsStopped()); begDayBar=k; } するとエラーがポップアップします。

2023.02.20 07:58:01.698 !indDAY_WSOWROhLine (CNYRUB_TOM,M15) array out of range in '!indDAY_WSOWROhLine.mq5' (202,148)

というように、1、2回繰り返すだけです。 自分で試してみてください。

最も単純なインジケーターにこのピースを挿入し、「チャート期間」パネルで別の期間に切り替えます。

 
IuriiPrugov #:

その他のデータは?

完全なソースコードと再現のための環境データ。つまり、これを読めば誰でも1分で問題を再現できる。
 

OK

MQL4とMQL5の初心者です。

以前はVisual C/C++のプログラマーだったので、コードを書く方法は知っている。

でも、ここのライブラリとかはよく知らないんだ。

私の最初の質問は、テンプレートをロードしてOandaでチャートを作成する場合、どのようにコードなどを設定するのですか?

私はペーパー取引口座を使用し、いくつかの取引戦略を テストするためにコードを開発したい。

今、私は車輪を再発明したくないので、私は次のような "標準的な "ものを行うコードのいくつかのスニペットを得ることができれば

-口座とサーバー/データベース接続の取得

-プロジェクトのセットアップ

-まず既存のコードを動かして、MODを作ったり、それがどう動くのか「コンパイル」する練習をしたり、自分のプロジェクトのビルドを動かしたりする。

自分の方向性が定まったら、このコミュニティで積極的に活動するつもりだから、これが見つかってよかった。

これを使って暗号を取引できますか?

準備不足でしたら申し訳ありません。

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

レイレイ

RR

 
@rrb1002 #: MQL4、そしてMQL5...。

より詳細な操作方法を説明した記事が あります。

全くの初心者から熟練した開発者まで、幅広いユーザーによって書かれたコード例があるCodeBaseが あります。

そしてオンライン版のドキュメント(MetaEditorでも利用可能)もあります。

rrb1002#: 暗号通貨の取引に使えますか?

あなたのブローカーが提供しているものなら何でも取引できます。

 
MQL4はMQL5と上位互換性があるのでしょうか? MQL4はMQL5とうまくいけばMQL4言語を拡張するだけなのでしょうか?
 
@rrb1002 #: MQL4はMQL5と上位互換性があるのでしょうか? MQL4はMQL5とうまくいけばMQL4言語を拡張するだけなのでしょうか?

MQL5は10年以上前からある。それは「新しい」ものではない。成熟しています。

MetaTrader 4と MQL4は、ここ数年(おそらく6~8年だと思う)、さらなる開発が行われていない。重要なアップデートが散発的に行われるだけです。

言語は非常に似ており、多くの機能はある程度互換性がありますが、取引機能はまったく異なり、互換性はまったくありません。

理由: