ブログタイトルを「FX自動売買システム開発部」から「autoFX」に変更しました!
  • 2019年11月17日

ラベル等のフォントを太字にする方法

MS ゴシックの太字というフォントは存在しない MT4のチャートにラベルを表示させた時、「文字が細くて読みにくいなぁ、太字にしたいなぁ」って感じることがありませんか? でも、MT4には文字のサイズを変える設定はあるものの、太字にするか否かといった設定 […]

  • 2019年10月22日
  • 2019年10月22日

3桁カンマ区切り文字列の関数

チャートに表示する時に使う トレードに直接関係ありませんが、何らかの数値(例えば現在保有中のポジションの合計損益額)を3桁のカンマ区切りでチャートに表示したい時に使える関数をご紹介します。 MQL5の公式フォーラムに同じ悩みを方がいらっしゃっていて、 […]

  • 2019年10月22日
  • 2019年10月22日

MT4で分割決済できないというのは間違いでした

OrderClose関数に標準装備されていました 分割決済の方法の中でMT4には分割決済の仕組みがないと書きましたが、普通にありました…。 ごめんなさい。私が完全に間違っておりました。 なぜこんな盛大な誤解をしていたかはもはや思い出せません。 Ord […]

  • 2019年10月1日
  • 2019年10月30日

do whileとbreakで特定の後続処理をスキップさせる小技

1回は必ず処理が実行される特徴を使う プログラミングしていると、ある処理の後は特定の後続処理は行わせたくない時があります。 その時は処理をスキップさせる仕組みを考えるわけですが、スキップさせる方法としてはif文やreturnが一般的かと思います。 し […]

  • 2019年10月1日
  • 2019年10月30日

MT4のフォント名の全角・半角は正確に

MS系フォントの英字は全角、スペースは半角が正解 MT4では、ラベルやテキストをチャートにペタペタ貼り付けることができます。 その際、フォントを指定するのですが、1つ罠にハマったので、備忘録がてら共有します。 結論から言うと、「MS P明朝」や「MS […]

  • 2019年10月1日
  • 2019年10月30日

ファイル拡張子を表示させる

たかが拡張子、されど拡張子 MQL4で書かれたソースプログラムには「.mq4」という拡張子がついています。 パソコンの初期状態では、この拡張子は表示されない設定になっています。 つまり、「Moving Average.mq4」は「Moving Ave […]

  • 2019年3月31日
  • 2019年10月4日

EAやインジケーターのパラメーターはエクスポート/インポートできる

パラメーターを毎回手動で変更する手間から解放される 「パラメーターの入力」タブに記載されている各パラメーターはファイルに保存し、読み込むことができます(保存することをエクスポート、読み込むことをインポートとも言います)。 この機能は同じEAやインジケ […]

  • 2019年2月13日
  • 2019年10月10日

MQLエディターは秀丸に落ち着きました

MQLファイルのエディター探しの旅、完結 メタエディターを試してみたり、VSCodeを試してみたりと右往左往していましたが、結局、一周回って秀丸に落ち着きました。 そもそも秀丸以外のMQLエディターを探していた最大の理由は「コンパイル結果を標準出力で […]

  • 2018年12月30日
  • 2019年10月4日

VSCode導入時における3つの注意事項

実際に躓いた点をご紹介 Visual Studio Code (VSCode) は良いエディターかもで、VSCodeをご紹介しました。 VSCodeの導入にあたって、躓いた所が3つありました。それを備忘録がてら共有します。設定ファイルの内容はまた別の […]

  • 2018年12月13日
  • 2019年10月4日

Visual Studio Code (VSCode) は良いエディターかも

エディターはEA作成の必須ツール これまで私はMQL4プログラミングのエディターとして、純正のメタエディターか秀丸を使ってきました。 当然のことながら、純正のメタエディターが最もMQL4プログラミングには適しているのですが、操作性がいまいちなんですよ […]

  • 2018年11月24日
  • 2019年10月4日

TimeGMTOffsetはGMTとサーバの時差ではない

TimeGMTOffsetはGMTとローカルPCの時差 MT4の標準関数にTimeDaylightSavings、TimeGMTOffsetという2つの関数が存在します。 関数名だけで内容を判断すると、サーバとローカルPCの時差を簡単に計算できるのか […]

  • 2018年10月14日
  • 2019年10月10日

トレイリングストップとブレイクイーブンを併用するために

変更箇所はたったの2行 トレイリングストップ関数とブレイクイーブン関数はどちらも自作ライブラリに包含されていますが、両方を併用するとトレイリングストップが打ち消されて、ブレイクイーブンが常に適用されてしまう問題があることが分かりました。 トレイリング […]

  • 2018年9月24日
  • 2019年10月10日

経済指標発表前後のエントリー回避方法

メンテナンスは面倒だけど、自由度は高い テキストファイルの読み込み方の応用編です。 エントリーを回避したい経済指標を列記したテキストファイルを事前に用意しておき、その情報をもとに経済指標発表前後のエントリーを回避するプログラムをご紹介します。 関数だ […]

  • 2018年9月17日
  • 2019年10月20日

iniファイルの読み込み方

セクションとキーから値を取得する テキストファイルの読み込み方で、テキストファイルを読み込むする方法を説明しましたが、今回はiniファイルの読み込み方法について説明します。 iniファイルは設定ファイルとして使われます。EAやインジケーターのパラメー […]

  • 2018年8月31日
  • 2019年10月10日

テキストファイルの読み込み方

1行ずつ読み込んで処理していく EAやインジケーターで何らかのテキストファイルを使いたい時のために、テキストファイルの読み込み方のサンプルをご紹介します。 MT4標準関数を使う場合、テキストファイルは/MQL4/Filesまたは/MQL4/teste […]

  • 2018年8月15日
  • 2019年10月4日

double型には計算誤差が常につきまとう

NormalizeDouble関数を活用すべし double型の計算誤差のお話です。 2/3を計算すると0.666…となりますが、どこかで見切りをつけなければなりません。無限には持てませんから。 その見切りが計算誤差となります。 double型の場合 […]

  • 2018年7月21日
  • 2019年10月10日

ヒゲの長さを計算する関数

ありそうでないヒゲの計算 たまにヒゲの長さと実体の長さを仕掛けや手仕舞いの条件に使うことがあります。 ヒゲってベーシックなものだと思うのですが、残念ながらMT4の標準関数にはヒゲの長さを求める関数はありません。 今まで都度計算していたのですが、今後の […]

  • 2018年5月17日
  • 2019年10月4日

グローバル変数の初期化に注意せよ

通貨ペアや時間足の変更でOnInit関数は都度呼び出される 仕掛け時間帯指定機能と仕掛け時間帯指定機能に指定時刻での強制決済機能を足してみたに不具合があることに今更気づきました。 結論から言えば、gEntryTimeFlgTrueCntというグローバ […]

  • 2018年5月6日
  • 2019年10月4日

バックテストではTimeLocalとTimeCurrentは同じ値を返す

どちらもバックテストで設定した期間の日時を返す タイトルと見出しで言いたいことは言い尽くしてしまっていますが、意外と気づいていない方もいるかなと思い、記事にしてみました。 TimeLocal関数はローカルPCの日時(通常は現在の日本時間)を返し、Ti […]

  • 2018年4月21日
  • 2019年10月10日

OnDeinit関数が呼ばれる時

OnDeinit関数はEAを削除した時だけに呼ばれるもの? 未だに凡ミスする1つにOnDeinit関数の呼び出しタイミングがあります。 OnDeinit関数はEAを削除した時に呼ばれるものだ!って、ついつい思ってしまうんですね。 でも違います。 On […]

  • 2018年4月7日
  • 2019年10月10日

分割決済の方法

MT4には分割決済の仕組みはないが、代替手段はある ブログを読んでいただいた方から分割決済の方法を質問されました。 パートナーのDo.さんからも分割決済の機能を搭載してほしいと言われていたので、ニーズがあると思って記事にすることにしました。 1ポジシ […]

  • 2017年12月3日
  • 2019年10月10日

決済したローソク足では仕掛けない機能

簡単そうだけど、ちょっとした工夫が必要 決済したローソク足では仕掛けない機能をご紹介します。方法は色々ありそうですが、口座履歴は参照しない方法で作りました。 ポジションに設定したSLないしTPで決済した場合を想定しています。OrderCloseを使っ […]

  • 2017年10月9日
  • 2019年10月4日

オブジェクト名の長さは63文字まで

64文字以上だと認識しない ObjectCreate関数でオブジェクトを作成したのにオブジェクトが表示されない事象に遭遇しました。 「文法は間違ってないのに何でだろう?」と頭を悩ませていたのですが、オーダーコメントに長さ制限があったことを思い出し、「 […]

  • 2017年8月26日
  • 2019年10月10日

1本の足で1回だけ仕掛ける機能 足形成中版

足生成時ではなく足形成中に仕掛けるには 1本の足で1回だけ仕掛ける機能および1本の足で1回だけ仕掛ける機能 改善版の記事にて、1本の足で1回だけ仕掛ける機能をご紹介しました。 これらはいずれも足生成時(足確定時)の瞬間に仕掛けたい時に使うものでした。 […]

  • 2017年8月22日
  • 2019年10月10日

OnInit/OnDeinit関数とグローバル変数の関係

パラメーターや時間足を変更してもグローバル変数は初期化されない パラメーターや時間足を変更すると、その都度、OnDeinit関数とOnInit関数がこの順で再実行されます。 この時、グローバル変数はどうなるかと言いますと、特に影響を受けません。データ […]

  • 2017年8月6日
  • 2019年10月4日

オーダーコメントの長さは31文字まで

32文字以上だと消えてしまう OrderSend関数のパラメータの1つにオーダーコメントがあります。 オーダーコメントはその名の通り、各オーダーに対してコメントを付与できる機能です。 コメント以外の用途にも使えて結構便利なのですが、このオーダーコメン […]

>完全放ったらかしEA 「AutoEndlessCatchRange」

完全放ったらかしEA 「AutoEndlessCatchRange」

「本業が忙しい!」「でも資産運用したい!」そんなあなたに最適なEAです。兼業トレーダーの方はチャートを毎日みて分析してトレードする時間はなかなか確保できないものです。トレードは本EAに任せて、本業やプライベートの時間をもっと増やしませんか?元々は自分自身のために開発したEAですので、手抜き無しのガチものです。

CTR IMG