質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

MQL5

MQL5(MetaQuotes Language 5)は、トレードロボットやカスタムインディケータを作成できる高レベル言語。MetaQuotes社の独自の取引プラットフォームのために開発されました。さまざまなサービスをリンクできるコミュニティも存在します。

Q&A

解決済

1回答

475閲覧

MQL4で、外部に保存した複数の日時と価格の値を、変数に代入する方法がわかりません。

mokopi

総合スコア38

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

MQL5

MQL5(MetaQuotes Language 5)は、トレードロボットやカスタムインディケータを作成できる高レベル言語。MetaQuotes社の独自の取引プラットフォームのために開発されました。さまざまなサービスをリンクできるコミュニティも存在します。

0グッド

0クリップ

投稿2023/01/08 23:35

前提

MQL4入門者です。

MQL4で、外部からのデータ(日時・価格)の読み込み方法がわかりません。

お分かりの方がいらっしゃいましたら、是非お教えください。

実現したいこと

①cvsファイルなど、データベース系?のファイルを作成し、
・日時
・価格
を複数入力し、保存(ローカル・サーバー上どちらでもOK)。

②とあるスクリプト(又はインジ)を実行した際、外部に保存してある
ファイルに保存してある、日時と価格の値を、スクリプト(又はインジ)内の変数に代入。

調べた事

dll ・・・ 外部に保存した「プログラム」を読み込むのだから、目的と違う感じがする。

mql、sql? ・・・ 初めて聞いた単語です。これらを用いずにやる方法があるならば、そちらがよいなと思います。

※MQL4言語のみでできればよりよいと考えてます。
もちろん、必要であれば他も学習します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ファイル関数を使用すればCSVファイルの入出力ができます。

cpp

1// スクリプト 2 3void OnStart() 4{ 5 // 書き込み 6 { 7 int handle = FileOpen("test.csv", FILE_WRITE | FILE_CSV); 8 if (handle == INVALID_HANDLE) { 9 return; 10 } 11 12 Print("write"); 13 Print("----"); 14 for (int i = 0; i < 10; i++) { 15 datetime time = iTime(NULL, PERIOD_CURRENT, i); 16 double open = iOpen(NULL, PERIOD_CURRENT, i); 17 18 FileWrite(handle, time, open); 19 20 PrintFormat("%s, %f", TimeToString(time), open); 21 } 22 23 FileClose(handle); 24 } 25 26 Print("----"); 27 28 // 読み込み 29 { 30 int handle = FileOpen("test.csv", FILE_READ | FILE_CSV); 31 if (handle == INVALID_HANDLE) { 32 return; 33 } 34 35 Print("read"); 36 Print("----"); 37 for (int i = 0; i < 10; i++) { 38 datetime time = FileReadDatetime(handle); 39 double open = FileReadNumber(handle); 40 41 PrintFormat("%s, %f", TimeToString(time), open); 42 } 43 44 FileClose(handle); 45 } 46}

投稿2023/01/09 04:02

mah

総合スコア591

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mokopi

2023/01/09 06:37

file関数、見落としておりました。 ざっと関数を見た感じでは、これで実現できそうです。 早速やってみます。 ありがとうございました。 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問