- 2016年8月23日
- 2021年5月12日
OnTick()とOnTimer()の違い
OnTimer()は便利そうなのにバックテストで使えない欠点が OnTick()はティックごとに動作する関数で、EAの売買ロジック等、根幹部分をここに記述します。 他方、OnTimer()は指定時間間隔ごとに動作する関数で、OnTick()と同様に、 […]
OnTimer()は便利そうなのにバックテストで使えない欠点が OnTick()はティックごとに動作する関数で、EAの売買ロジック等、根幹部分をここに記述します。 他方、OnTimer()は指定時間間隔ごとに動作する関数で、OnTick()と同様に、 […]
手仕舞いが先、仕掛けは後 ※2016/8/6 kumaさんのご指摘でcalcTimeDifference()に不具合があることが判明。修正しました。 読者の方から仕掛け時間帯指定機能に指定時刻での強制決済機能を追加してほしいというご要望がありましたの […]
変数には有効範囲がある 変数のスコープ(scope)とは、変数の有効範囲のことです。変数が利用可能な範囲とでも言いましょうか。その有効範囲はどこかと言うと、OnTick等の関数の{ }で囲まれた部分になります。ちなみに、{ }を”ブロック […]
自分好みのEAの雛形(テンプレート)を用意しよう 先日、読者の方から「記事中の関数を使ってみようとしたけど、コンパイルエラーになった」というご指摘をいただきました。 確かに、関数だけを抜き出して使用しちゃうとコンパイルエラーが発生してしまうことがあり […]
関数化しておくと便利 前回の記事で、移動平均線(MA)の上昇/下降の判定ロジックを検討しました。 今回は、それをMQL4でプログラミングしてみます。 おさらいですが、MAの上昇/下降の判定ロジックは以下の3つでしたね。 ある一定期間内で、あるMAがそ […]
人間なら容易に理解できるが、コードは複雑になる例 移動平均線(MA)の上昇/下降をトレードの仕掛けないし手仕舞い(今まで”仕切り”という表現を使ってきましたが、”手仕舞い”の方が一般的かなと思い、表現を […]
MQL4のArraySort()は数字しかソートしてくれない 順番が意味を持つアルゴリズムを考える時に、ソートが必要になることがあります。 普通は、MQL4標準関数のArraySort()で事足りるのでしょうが、文字列を含む配列を並び替えたい時は、こ […]
myfxbookも良いけど、自前で管理する方が何かと便利 EAによるトレード結果を分析することは、EAの稼働継続/停止を判断する上でとても大切です。 MT4の[口座履歴]タブでトレード結果を確認できますが、マジックナンバーは分かりませんし、各トレード […]
値動きが激しい時に有効か? 一般的なトレイリングストップ関数の改良版(階段型) の最後で予告したATRや最高値/最安値を使った変動幅のトレイリングストップ関数を紹介します。 変動幅のトレイリングストップは値動きが激しい時に有効なようです。ネタ元は、豊 […]
一般的なトレイリングストップに階段型を追加 一般的なトレイリングストップ関数をご覧になった読者の方から、「複雑なトレイリングストップ」に興味があるというコメントをいただきました。 複雑という言い方が適切でなく、無闇に期待値を上げてしまったのは反省です […]