[FX] 自動売買始めました

昨週より新たに FXTF さんに別の FX 口座を開き、自作の自動売買プログラムを実際に運用し始めました。

まだ稼働しているプログラムが 2-3個ですので、あまり回数が増えません。

とりあえず成績を。

最後のほうで負けてしまいましたが、得るものがたくさんありましたので、いいトレードだったと思います(ずっとウォッチしていました)。

続けてプログラムの運用と作成、カイゼンを続けていきたいと思います。

最大ドローダウンも 2%くらいまでは全然大丈夫と思いますので、ロット数も 1万通貨から 7-8万くらいまでぼちぼち増やしていきたいです。

関連記事

[FX] 自動売買始めました (2)

###

[FX] 時間帯特性 (1)

本日はアメリカ日本ともに祝日ということで、先月 FX に復帰して以来初めて EURAUD(ユーロオージー)を扱っています。

自作のプログラム「曜日特性に従って自動売買する MT4用プログラム「日曜はダメよ」」をしかけていて、朝6時に売りを実行するはずが、なぜか動作せず。

プログラムでは 6時0分0秒~59秒の間にティックが1回でもあれば動作するはずなのですが。

よくわかりませんが、週明けなのでそういうこと(60秒間誰も売買しなかった?)もありうるかな。

幸いこのプログラムには動作時間設定ができるようにしてあります。

パラメーターの in_time を 5 に変更。サーバー時間 5 は日本時間の午前 11時です。

11時になり無事動作。

上記の問題解決のために少しプログラムも手直ししておきました。

それからあれれ、ローソク足は逆行(売ったのに上昇)しているじゃないですか。

ここが大切ですよ

このプログラムには開始時間 in_time の他に、終了時間(決済時間)out_time も設定できます。

これらを使えば、ある曜日のある時間帯が上昇することが多いのか下降するのか多いのかという傾向を調べられます。

たとえば、in_time、out_time を 3,6 とすると午前9時から午後0時の傾向がわかるわけ(OANDAや FXTF の場合、サーバー時間に 6を足すと日本時間)。

そのやり方は前回の記事「曜日特性(3)」で紹介したのとほぼ似ています。

in_time、out_time に動作させる時間を入れ、「スタート」すればレポートタブとグラフタブに結果が表示されます。

曜日のパラメーターを1つだけ 1 にして、他の曜日を 0にしておくと曜日ごとの時間帯の特性を調べられるってわけです。

例えば EURAUD 2019/8/26-10/11 のデータを調べると、

月曜日は 9時までは上昇トレンドですが、9時から翌朝6時まで下降トレンドがずっと続くよう(20-22時に一息つくようですが)ですね。

なら本日もこれからローソク足は下降するのかも・・・プログラムはそのまま見ていると、するすると下降を開始しました。よっしゃ。

out-time は24(日本時間朝6時)のままです。明日6時決済時にいくらになっているか楽しみです。

明日は 6時から午後 8時まで動作(買い)させればいいようですね。

しばらく時間を区切ってやってみますか。

*

ちなみに USDJPY はこうなっています。

NY時間はやっぱり大きく動きますねえ。特に火曜と木曜と金曜は。

###

曜日特性(3)

前回の「曜日特性(2)」で作った MT4用プログラム「日曜はダメよ」(愛称)ですが、使い方がわからないと思うので、説明しまーす。

インストールはできますよね。ysDayOfWeek02.ex4 ファイルを Experts フォルダにコピーするだけ。一度 MT4(メタトレーダー4) を再起動すれば認識されます。

付属のプログラムであるストラテジーテスターを起動し、ysDayOfWeek02.ex4 を選択。動かしたい通貨ペアを選択。期間を選択(2019/8/26-10/11 だとここでの例と同じになります)。

以下のようにして、月曜から金曜の適正値(買うか売るか何もしないか)を調べます。

いわゆる最適化プロセスです。

赤カッコの中の「スタート」、「ステップ」、「ストップ」を以下のように設定。0から始めて1つごとに2まで調べることを意味します。

各曜日の最適値を 0(何もしない),1(買う),2(売る) の3つから選ぶためです。

一番左のチェック欄をチェックする(緑色)のも忘れずに。

OK を押して、

最適化にチェックをいれてスタート。

最適化タブに出た候補の中で一番いいものを選びます。

損益(ドル)、回数、プロフィットファクターの高いもの、最大ドローダウンの低いものを基準に選んで、総合的に考えて1つに決め、そのパラメーターをメモします。

ここでは一番上の、月火水木金=(1.,2,1,1,2)を選んだとします。

セッティングタブの中の「エキスパート設定」で、以下のように設定。

これで最適なパラメーターが決まったので、セッティングタブで、「最適化」のチェックをはずし、「スタート」。

「レポート」タブと「グラフ」タブで、その結果がわかります。

このプログラムはそのまま自動売買に使えます(5分足推奨)が、投資は自己責任で。

特殊な使い方

パラメータのところに5つの曜日がありますが、1つ以外を0にすると、その曜日だけの成績がわかります。

どういうときに使うかって?

ある日だけ使いたいというときがないでしょうか。

たとえば明日は祝日。でも海外はお休みではありません。ということは、クロス円は低調かもしれません。

ということで、明日はクロス円以外の外貨ペアでこのプログラムを実運用してみることにしたいとします。

月曜日だけ使うにはどの通貨ペア(円の絡まない)がいいのか。

外貨ペアをいろいろ選んで、月曜日だけチェックして残りの曜日を0にして最適化のチェックもはずしておけば、月曜日だけ最適化した成績が出ます。

ということで、上記と同じ条件で各通貨ペアに適したパラメーターを調べていきます。

有力なのは次の3選手。

  1. GRPUSD(パラメーターは 21212)
  2. USDCHF(パラメーターは 12112)
  3. EURAUD(パラメーターは 21122)

いずれの場合も 8/26 -10/11 の期間の 7週間では 6勝1敗の打率を誇ります。

3人とも凡退なんてことはないよね。

と思ったら、明日はアメリカも祝日か~ コロンブス・デーとか。

GRPUSDくん、USDCHFくんは明日欠場ですかね。でも明後日から出動してもらいましょう。

さて、明日は EURAUD くんのワンオペかな? いったいどうなりますやら。

ダウンロード

⇒曜日特性に従って自動売買する MT4用プログラム「日曜はダメよ」

パラメーターは、

    • 曜日のパラメータには「1=買い 0=何もしない 2=売り」のどれかの数字を入れる・・・やり方は上の記事で
    • in_time はエントリ時間(サーバー時間なので日本時間から6時間引いてください)・・・今回は0でOK
    • out_time は決済時間(サーバー時間なので日本時間から6時間引いてください)・・・今回は24でOK

日本時間とのズレが6時間でない業者のサーバーをお使いの場合は、適した値を入力してね。

関連記事

曜日特性

###

曜日特性(2)

前回の記事「曜日特性」のモデルですけど、実際に運用するとどんなことになるのか検証してみました。

  • 月曜日と水曜日の朝6時に 10万通貨の ドル円買い注文を入れ、翌朝6時に決済ボタンをポチ。
  • 火曜日と木曜日は売り買いなし。
  • 金曜日は朝6時に 10万通貨の ドル円売り注文を入れ、翌朝6時に決済ボタンをポチ(土曜の朝はもちっと早めをオススメ)。

自動売買できなくても口座さえ持っていれば、サラリーマンでも年金生活者でも年齢をごまかした小学生でも(?)できる簡単な売買モデルです。

プロフィットファクター 2.64、47戦30勝17敗で勝率 63.83%、最大ドローダウンが 15.3%。

プロフィットファクター(利益額と損失額の比) 、勝率は意外にいいですね。

最大ドローダウンがかなり高いですが、証拠金 1万ドルをK倍に増やせば 1/K になりますから、余裕のある人は入金して安心を買ってください。

カーブを見ると 7/21 までがほとんど利益なしでその後順調。

今年はだいたい 8月頃からトレンドデイが増えてノーマルデイが減っているので、トレンドのよく出る月は調子がいいわけですね。

まあ、たいていのモデルがそうですが。

さらに工夫をすれば プロフィットファクター 、勝率はもっと伸ばせそうです。

たとえば月特性を考慮に入れるとか、時間帯で細分する(私の好み)とか、このモデル自体の4週間移動平均を計算してアップトレンドになってくれば運用するとか・・・

*

たとえば、特に相場が熱くなった夏休み終わり頃 8/20 から運用していたとすれば、

プロフィットファクター 11.04、19勝3敗と申し分ありませんね。

欧米のマーケットメーカーたちがバケーション中であったため お通夜だった相場も、その終わりになって尻に火がついた人からバンバン復帰して、相場をグルグル動かし始めたってわけですね。例年行事です。^^

この調子はあと1ヶ月あまりは続きそうと予測しています(12月はクリスマスシーズンの準備でまたお通夜?)。

あれれ、月特性の話になってしまった。

*

ちなみにこのモデルに火曜(買い)、木曜(売り)を加えて今年の 1/1 から実行しているとすると、

プロフィットファクター、勝率ともにダウンしていますが、資金は 2.28倍に増えています。

ダウンロード

⇒曜日特性に従って自動売買する MT4用プログラム「日曜はダメよ」

パラメーターは、

  • 曜日のパラメータには「1=買い 0=何もしない 2=売り」のどれかの数字を入れる
  • in_time はエントリ時間(サーバー時間なので日本時間から6時間引いてください)
  • out_time は決済時間(サーバー時間なので日本時間から6時間引いてください)

日本時間とのズレが6時間でない業者をお使いの場合は、適した値を入力してね。

関連記事

曜日特性(3)

###

曜日特性

よく曜日特性とか時間帯特性とかが本に載っていますが、結果はマチマチ。

まあ本の発行時期が違うので相場の変化が関係しているのでしょう。

では、自分で測定してしまえ。

X時に買って Y時に決済するというプログラムを書いて、曜日で分けて集計させました。

まずは曜日について。

USD/JPY 15分足 2019/6/22 – 2019/10/11 10万通貨 の結果

  • 月 3186
  • 火 150
  • 水 1117
  • 木 -705
  • 金 -3585

月曜と水曜は順張り、金曜は逆張りが有効ということです。

火曜と金曜日は無視する(遅寝できる?)ことにしても、この期間で 7888ドル(3186+1117+3585)が手に入ったということです。

朝6時に起きて、前日の注文を決済して新たに注文(月水は買い、金は売り)を出すだけの簡単なお仕事で、およそ月収 2254ドル。

まあ、永久に続くわけがありませんし、月特性というのもあるので。

他の通貨も含めて過去数年分計算してみようかな。

関連記事

###

[FX] 驚異のプログラム?(4)

前回の記事「[FX] 驚異のプログラム?(3)」の続きです。

実は前回までのプログラムはロジック的にバグがあるもの。

バグと言っても、論理的破綻をきたして不都合動作をするわけではなく、おいしいチャンスを取り逃しているだけです。

ということで、そこを手直ししたプログラムを作りました。

残念ながらパフォーマンスは少ししか伸びず、そのかわり プロフィットファクターは無限大から 108.98 に低下。^^

勝率は 100%から 94.12%に低下。^^

32勝2敗で、最大ドローダウンは 5.73%(10万通貨の場合;1万通貨なら 1/10)と上昇。

まあ、それでもかなり驚異的な数値ですけど。

USD/JPY 5分足 2019/6/22 – 2019/10/11 10万通貨

回数が6回減っていますが、収支はやや改善しています。

負けの金額が小さいのでどこで負けたのかわからないくらい右肩上がりのカーブです。

ちなみに前回の結果がこちら(期間同じ)。

ダウンロード

こちらから⇒ 「無限回廊」初号機(テスト版)

前回のバージョンは⇒ 「無限回廊」零号機(テスト版)

いずれもロット  0.1(1万通貨)限定版です。

パラメータも変更できません。

    • USD/JPY 5分足
    • 2019/6/22 – 2019/10/11
    • 検証方法「始値のみ」
    • スプレッドは現在値

この条件でMT4 のストラテジテスターで走らせてみてください。

上の 10万通貨の場合と少し違う結果が出るかもしれませんが、1万通貨ですし、スプレッドが違うことも主な原因でしょう。

パラメーター固定なので、実稼働はオススメしませんが、おやりになるなら自己責任で。

そのうち(遅くても 12月頃?)相場が変わると負けだすのではと思います。

その場合、パラメーター変えて対応できるなら新しい評価版をダウンロードできるようにします。

関連記事

###

[FX] 驚異のプログラム?(3)

前回の記事「[FX] 驚異のプログラム?(2)」の続きです。

他人には「絶対使うな」と言っておきながら、ロジックを手直ししたプログラムを昨日から実稼働させています。

今のところ2連勝。

2019/6/22 からの結果だと通算 40連勝(負けなし)ということに。

ああ、こんなに美しい右肩上がりの曲線があるでしょうか。

*

プログラムの愛称を「無限回廊」としました。

動作原理から名付けました。

無限に続く回廊の上をひたすら進む(ときどき後ろにも行くけど)イメージ。

対策を講じられるとまずいので、動作原理は当分の間はヒミツ。

ダウンロード

こちらから⇒ 「無限回廊」(テスト版)

ロット  0.1(1万通貨)限定版です。

パラメータも変更できません。

    • USD/JPY 5分足
    • 2019/6/22 – 2019/10/11
    • 検証方法「始値のみ」
    • スプレッドは現在値

MT4 のストラテジテスターで走らせてみてください。

サーバーの状態が私と同じ(OANDA)なら同じ結果が出るかも。

パラメーター固定なので、実稼働はオススメしません。

そのうち(遅くても 12月頃?)相場が変わると負けだすと思います。

パラメーター変えて対応できるなら新しい評価版をダウンロードできるようにしますけどね。

関連記事

###

[FX] 驚異のプログラム?(2)

前回の記事「[FX] 驚異のプログラム?」の続きです。

ロジックに問題のある例のプログラムをちょこっと改変してみました。

ついに出ました、

  • プロフィットファクター無限大(PF=利益÷損失; ゼロで割ると ∞)
  • 36戦 36勝無敗
  • 最大ドローダウン 0.40%(0 と違うんかい!;1万通貨なのでいつもの 1/10 ですけど)

いわゆるオーバーフィッティングというやつでしょう。

それにしてもこんなに清々しい数字は初めて。

まあ、実用性はないかも。

決して実際に走らせないでください。^^

ダウンロード

⇒ 「無限回廊」(テスト版)

ほんとうに実稼働する人がいるとやばいかもしれないので、ロットを 0.1(1万通貨)に制限しています。

    • USD/JPY 5分足
    • 2019/7/1 – 2019/10/8(2019/6/22 以降は無敗のようです)
    • 「始値のみ」
    • スプレッド現在値
    • 無限回廊は動作原理から名付けた愛称です(同名のゲームとは無関係)

で、ストラテジテスターで走らせてみてください。

サーバーの状態が私と同じ(OANDA)なら同じ結果が出るかも。

期間を変えるとあらら・・・

関連記事

[FX] 驚異のプログラム?(3)

###

[FX] 驚異のプログラム?

昨日ひらめいて あるプログラム(前回の記事の THVモドキとは別)を作りました。

どうもちゃんと動かないのであきらめていたのですが、今朝見直してみると不具合を発見。

やはり朝の時間は三文の得。

MT4 のストラテジーテスターで検証してみると、

USD/JPY 5分足 2019/7/1-2019/10/8 10万通貨(証拠金 1万ドル)

え、プロフィットファクター 119.96、36戦35勝1敗・・・

こんな数字は見たことない。

早朝のため広がっていたスプレッドが落ち着いてきた(23⇒3)ので、もう一度。

プロフィットファクター 287.36。

やはりいつもより 2ケタ大きい。

きっとなにかおかしいはずとプログラソースを見ると、ロジックの誤りを発見。┰_┰

ちなみに直した後がこちら。

これでもなかなかいい成績(32勝2敗)なので、実際に運用してみます。

しかし、ロジックが誤っていたのか、直す前のロジックのほうが正しいのか、ひょっとして・・・。

あの間違いの(ように見えた)プログラム、実際に運用してみるとどうなるんですかね。

関連記事

[FX] 驚異のプログラム?(2)

###

[FX] THV モドキ自動売買プログラム (1)

本日忙しくてプログラムをなかなか作りたくて作れなかったのですが、夕食後ちょっとヒマができました。

まあ、なにごともとっかかりを作るのが肝心(「射て、構え、狙え」というヤツです)ということで、THV の自動売買システムのプロトタイプというか骨格だけ作ってみました。

平均足+MACD(5,16,11)+SMA10+TimeFilter のみのかんたんなもの。

エントリ条件は、平均足2本連続+MACD(メインの傾き&メインとシグナルとの上下関係)+SMA10(終値との大小)の3条件を同時に満たすこととしています。

決済は平均足の反転または固定ロスカットとなっており、慎重すぎるエントリ+チキン利確という、まあダメダメな印象のシステムです。

作ってみると、1時間足か4時間足でないと利益がでないのは予想通りですが、トレンドのよく出るポンド円やポンドスイスフランではなかなかの結果が出ます。

ポンド・スイスフラン 1時間足 2019/7/1-10/8

10万通貨取引&証拠金 1万ドルで純益 3758ドル、PF 1.89 勝率 43.75% は結構いいです。

まさに トレンド イズ フレンドですね。

ポンドのようなクレージー通貨ペアにしては 連敗が 2しかなく、最大ドローダウンが  5.62%という、チキン野郎にはとってもありがたい結果。

しかし、ポンド・スイスフランなんてトレードしたことある日本人は少ないのではないでしょうか。

本日から使い始めた FXTF さんではスプレッド 1.9pips でそんなに高くないです。

ヨーロッパ時間メインなのでサラリマンの副業裁量トレーダーにしても穴場なのかも。

###

歯間ブラシ

小林製薬のやわらか歯間ブラシ 極細タイプ SSS-Sサイズ 40本 ゴムタイプ
小林製薬 (2016-11-15)
売り上げランキング: 5,976

★★★★☆

以前歯科にかかっていたときに、衛生士の人に「歯間ブラシがいいですよ」と言われて1本もらいました。

使ってみると非常にいい。

年をとって歯ぐきが痩せてきたのでブラシがよく通ります。通らないのは右上第1,2歯の間だけ。

この隙間に食べ物のカスがつまって普通に歯磨きしたのでは残ってしまいますが、歯間ブラシを併用すればきれいになります。

以前は歯石がすぐにできて半年に一度は歯科で取ってもらっていましたが、もう1年あまり快適で通院しておりません。

上記の製品はゴム製で、見た目はたよりないのですが、効果は抜群。

ナイロン毛バージョンでワイヤの入っているものもありますが、舌に刺さるとちょっと痛いです。

糸ようじもチマタではよく使われていますが、私の場合は歯冠が互いに密着しており、糸ようじがほとんど入りません。

サイズは小さめがオススメです。大きいと入らないところがあるかもしれません。

この場合は「小は大を兼ねる」です。

私もSサイズを使っています。

###

シンプルFX / 西原宏一

★★☆☆☆(読み物としてはいいかも)

3年以上前から持っている FX 関連の本を読み直してリハビリをしています。

この本も何度も読んだのですが、だいぶ内容を忘れておりました。

「セル ザ ファクト」、「ダブルノータッチオプション」・・・ああ、だいぶ意識の外に行っていましたね。

後半はディナポリチャート、TDシークエンシャルの紹介が乗っており、他の本とはだいぶ違います。

ディナポリチャートは私にとってはあまり魅力的にうつりません。

TDシークエンシャルもまあ目安にはなるかも(どの時間軸でもちゃんと使えないと困りますし)。

一目均衡表と RCI の組み合わせもベストカップルには見えません。

自動売買プログラムを作るにはあまり役に立たない本だと思いますが、裁量トレーダーには少し参考になるかも・・・いや無理か。

###

[FX]ボリ平ロンドンコーリング検証 (3)

3年以上前の記事「ボリ平ロンドンコーリング検証」ではボリ平さんのロンドンボックスの時間を短縮した改良版を載せていましたが、今年はまだ検証しておりませんでした。

最近紹介されているロンドンコーリングはさらに進化しているようですが、私がここに取り上げるのは MOOK に書いてあった以下の方法。

では検証してみましょう。

ロンドン・コーリング ドル円 2019/3/10-2019/9/30

ドローダウンの小さいきれいな右肩上がりの曲線を描いています。1万ドルの証拠金で半年少しで 2830ドルの純益ですからまずまずです。

*

私の改良法はロンドンボックス(夏 15-20時、冬 15-21時)を 夏 17-20時、冬 17-21時にせばめただけ。今年はどうでしょう。

なんと利益/損失 15/15 では純益が出ませんでした。ちょっと変えます。

利益/損失 15/15 では純益が出ないので 利益/損失 30/15 を採用しました。最初の頃はつらいですね。

40/40 もオススメですが、最初のドローダウンがさらに大きいのでそこでやめてしまう可能性が高いですね。

 

まとめ

  • 原法でそこそこいい結果が出る
  • 改良版は以前(3年以上前)ほど有効に機能しないのかも
  • 条件を変えると改良版でもそこそこいい結果は出せる

関連記事

[FX]ボリ平ロンドンコーリング検証(2)

###

[FX]ロブ・ブッカーのNY Box 検証 (2)

以前の記事「ロブ・ブッカーのNY Box 検証」の続きです。

かわせ玲人さんのブログにも「ロブ・ブッカーのNY Box」手法が紹介されていましたが、EUR/USD 限定という点と、少し時間の設定が異なる点の2箇所が異なるようです。

後者の違いはエントリを日本時間の 24時までにしているところですね。

私の以前の記事では時間制限なし(と言っても日本時間で翌朝5時まで)で、ドル円で検証しちゃっていました。

そのあたりを改変して、今年の夏時間のみ(2019/3/10-2019/9/30)の検証を行いましたが、下のように利益が出ませんでした。

EUR/USD 15分足

ロブさんは勝率重視のために ロスカット 30pips に対して 利益 20pips にしています。

せっかくのブレイクアウト手法だし、もっと勝率が下がってもいいのでロスカットより利益を大きくしたいなと思う人は最適化してみてください。

次は ロスカット 50pips、利益 50pips にした場合です。最適条件ではないです。ロスカットをボックスの幅より大きくしたくなかった(最初のブレイクがダマシの場合で逆方向に抜けてもドテン追撃できるように)のでそのためロスカット50pis に制限した場合です。

勝率 54%はブレイクアウトではいい方ではないでしょうか。

最大ドローダウンが 26% もあるのが怖いです。幸いに前半に勝ちだめがあったので運用停止にはなっていなかったかも。

最適化でわかったほかの組み合わせもこれより最大ドローダウンが大きなものが多く、安定しません。

やはり、24時までのエントリに制限したのが悪いのでしょうか。

NYタイムの最後の 1-2時間はときどき「狂った逆行」があるので制限したのでしょうか。

ちなみに今回の検証ではエントリの門限をいつにしたらいいかも調べてみました。

End_Tine(門限)を サーバー時間18(日本時間午前0時)から23(日本時間午前5時)まで変えますと、18が最小、19-23 は同じという結果でした。

取引回数が同じなのに純益が違うというのはミステリアスですね。

ということでエントリの門限を午前0時から午前1時以降にしたほうがいいですね。

ちなみに最良の条件は、ロスカット 60pips、利益 75pips でした。

プロフィットファクター 4.59 と驚異的(さすがブレイクアウト)。勝率も73.68%。

純益は証拠金の 1.1倍。8ヶ月もかからないうちに倍になる勘定。ただ、回数が少ないのが、再現性を疑わせます。最長で2週間程度ポジションを持ち続けるのも気がかりです。

プログラムダウンロード

ロブ・ブッカーの NY BOX(EUR/USD限定 15分足推奨 門限可変 夏冬手動切り替えバージョン)

サーバー時間と東京時間が 6時間ずれている前提で作ってあります。そうでない人はソースをいじってください。

まとめ

  • NY Box手法を今年の夏時間で検証してみた
  • 原法では利益が出なかった
  • 門限を変更し、ロスカットと目標利益を大きめに変更したら利益は十分に出る
  • トレーリングストップを組み込んでみたが、あまり効果がなかった
  • ポジション保持期間に制限をつけると回数が増えることが期待できる(でも利益が増えるとは限らない)

###

[FX] THV Trend のロジック

メタトレーダー4 の裁量トレード用テンプレートで有名な THV V3 のインジケーターのうち、THV Trend のロジックがよくわかりません。

ネットで調べるも・・・???

V4 では Trend は削除されたという話もありますので、あまりこだわる必要はないのかもしれません。

と言ってもどうもこのまま無視するのも気になるので、なんとか代用できるものができないか。

よく観察すると、ひょっとしてあれでいけるかもと思い、試行錯誤のうえ、こんなのを作りました。

ドル円 1時間足のチャートです。

サブウィンドウ1が THV Trend、 サブウィンドウ2が 先ほど完成した自作インジケーター(名前はまだない)です。

私の作ったほうは、終値ベースのストキャスティクス(14,3,3)の メイン(%K)とシグナル(%D)の上下関係(つまりメインとシグナルの差)によって色分け表示しているだけ。

%K も %Dも 0~100 の値を取るのですが、その差が

  • 1より大:緑
  • -1~1:黄
  • ー1より小:赤

としています。

THV Trend と並べて教示結果を見てみると、結構マッチしているかなという印象。

色が食い違っているところは、ローソク足の実体が小さくてトレンドと言えないところがほとんどのようですね。

まあ大きな食い違いとは言えないような気がします。

ロジックをエントリ時のフィルタとして自動売買プログラムに使えそうです。

以前に Trix もどきの自動売買プログラムを作ったので、それに加えてみるとより THV っぽい自動売買プログラムができそうな気がします。

プログラムのキモの部分

for(i=limit-15 ;i>=0 ;i–){

b1 = iStochastic(NULL,0,14,3,3,MODE_SMA,1,MODE_MAIN,i);
b2 = iStochastic(NULL,0,14,3,3,MODE_SMA,1,MODE_SIGNAL,i);
b3 = b1 – b2;

if (b3 > 1){ buf1[i] = 100.0 ; buf2[i] = EMPTY_VALUE ; buf3[i] = EMPTY_VALUE ;}
else if (b3 < -1){ buf1[i] = EMPTY_VALUE ; buf2[i] = 100.0 ; buf3[i] = EMPTY_VALUE ;}
else{ buf1[i] = EMPTY_VALUE ; buf2[i] = EMPTY_VALUE ; buf3[i] = 100.0 ;}
}

まとめ

  • THV Trend に似たインジケーターを作ってみた
  • 結果はまあまあ実用的に見える
  • THV の自動売買にまたまた近づいた(ような気がする)

関連記事

[FX] THV Trix は MACD なのか

###

【ふるさと納税】信州の旬のりんごおまかせ5kgセット / 長野県箕輪町

長野県箕輪町に 10000円寄付するともらえます。

申し込みページ> https://www.furusato-tax.jp/product/detail/20383/4712202

「与古美(よこみ)」と書いた紙が入っていたので、それがりんごの種類かと思ったら、与古美農園さんから送られたものでした。

品種はシナノドルチェでした。

甘くて、食感はそんなにシャキシャキでもネットリでもありません。

「ゴールデン・デリシャス」に「千秋」を交配したもののようで、ツヤやかな赤い皮に黄色い果肉が上品です。

###

[FX] ノントレンドを省くフィルタ2種

トレンドフォロワー型の自動売買プログラムを使用する場合は、いかにノントレンドのときに暴発させないかというのがキモですね。

今回は、MACD を使ったトレンドフォロワー型の自動売買プログラムのプロトタイプ(原理は THV Trix に似せてあります)を新たに作りまして、これを検証の母体にしました。

VQベースのものほどではありませんが、トレンド以外ではよく暴発して利益を減らしてくれます。

THV は ATR により予想される可変ストップロスが示されますが、ATR の倍率がわからないので、この自動プログラムでは固定ストップロス(5pips)をつけています。

この自動売買プログラムプロトタイプに、移動平均線を使った SMA10フィルタ(仮称)と、ACとAOの積を使った ACAOフィルタ(仮称)を加えた場合の効果を検証します。

THV には THV Trend というそのものズバリのインジケーターがありますが、動作原理がよくわからないので、それに代わるものとして 2種類のフィルタを試してみようというのが主旨です。

SMA10フィルタの原理は、期間10の単純移動平均線(SMA10)より終値が大きいか小さいかで上向きか下向きかを判断し、MACD の向きと逆な場合をカットします。ノントレンドというか逆トレンドを省くフィルタですね。これも THV に含まれている要素です。

ACAOフィルタについては以前の記事でご紹介しました。AC と AO というオシレーターのミスマッチが起きたときはトレンドでないと判断します。

*

USDJPY、4時間足、2019/1/1-2019/9/30、ロット10万通貨の結果です。

1時間足より短い時間足では暴発が多くて使い物になりません。

4時間足なら固定ストップロスはもっと大きいほうがいいかなと思って最適化してみたら、意外や意外、5pips が最適。

フィルタなし

SMA10フィルタのみ

ACAO フィルタのみ

SMA10 + ACAO

結果

表にまとめてみました。

このうち SMA10フィルタ付きが THV の原理に最も近いです。

フィルタはともに勝数、負け数ともに減少させてしまうものですが、今回どちらのフィルタも 勝数の 2-3倍の数の負け数を削減してくれました。

その割にはプロフィットファクターや勝率の改善が少ないのが残念です。

利益も削減してしまっていますが、ACAO ではほとんど減らず、SMA10 での減少が目立ちます。

両者の併用では両者を単独で使った場合の利益減少の和より大きな利益低下が起きています。普通は両者の和と等しいか少ないはずなのに、なぜだ~

え、フィルタなしがいい?

そう、この世界では利益が大きいのが正義ですね。

まとめ

  • THV に似た自動売買プログラム(SMA10フィルタ付き)をつくってみた
  • この手のトレンドフォロワー型はノントレンド時に暴発して利益が減る
  • ノントレンドで動作しないように2種類のフィルタ(SMA10フィルタ、ACAOフィルタと名付けた)を試してみた
  • SMA10フィルタはまずまずの効果(プロフィットファクターや勝率の改善あり)だが、利益減少がやや気になる
  • ACAOフィルタは効果はほどほど(プロフィットファクターの改善のみ)で、利益は増えないまでもほとんど削らなかった
  • この自動売買プログラムはタイムフィルタや HL トレーリングストップをつければ実用性がありそうな予感

###

[FX]ボリ平ロンドンコーリング検証(2)

以前の記事「[FX]ボリ平ロンドンコーリング検証」 の続きです。

以前とは使っている業者が違い、プログラムソースを少し変えました。

うちの MT4 はインストールし直してまだ 2週間あまりで、データが貯まっていないので USDJPY 30分足での結果 になります。

米国のサマータイムが開始した 2019/3/10 から先週 2019/9/30 の場合(夏時間オンリー)です。

ロットは 10万通貨。

結果

目標利益 15ポイント /損切り 15ポイント(原法)

目標利益 45ポイント /損切り 95ポイント(最適条件)

収益は原法の3倍に増加。

*

この期間の前に存在した冬時間(2018/11/5-2019/3/9)に行きます。

目標利益 15ポイント /損切り 15ポイント(原法)

夏時間とプロフィットファクター、勝率は同じ。最大ドローダウンは減少。

夏時間の最適設定の「目標利益 45ポイント /損切り 95ポイント」を冬時間にあてはめますと、

原法とそんなに変わらず、回数の減少が著しいです。再現性は悪そうですね。

冬時間のみの最適条件を求めますと、「目標利益 75ポイント /損切り 15ポイント」でした。利益 1817ドルで回数は 6回で、やはり再現性は悪いでしょう。

回数が少ないのは勝敗がつくのに時間がかかるからです。

オーバーナイト、オーバーウィークありなので何日もホールドしていることがあります。

*

データが貯まってくると、次からの夏時間と冬時間の至適設定がある程度推定できるかもしれませんね。

改良するとしたら、HLトレーリングストップをつけたり、1日毎に強制決済したりとかいろいろ考えられます・・・あとでやってみましたが、どちらも効果なし、というか悪影響ばかり。

まとめ

  • 冬時間の成績が悪すぎ
  • 冬時間はルールを変更する必要があるのでは
  • 原法よりもよくなる条件は結構多いので、原法のまま動かすのはもったいない

###

[FX] THV Trix は MACD なのか

THV システムでキモとなっている Trix は秘密のヴェールに隠されていますが、ポピュラーな MACD に似たものとも言われています。

ウワサによると終値ベースとか。

あ、Trix の矢印は決済ポイントであってエントリポイントではありません。

*

ということで、Trix に MACD を似せてみましょう。

MACD のパラメーターを 5,16,10 にしてみました。

上が Trix Ver4、下が MACD(5,16,10)。

少し違うけどだいぶ似ているような(実線2本とバー&点線という表示は違いますけど)。

よく見ると、MACD(5,16,10) よりMACD(5,16,11) のほうが似ているような気もする。

自動売買プログラム(EA)を作るときにはこれで代用できるかもしれませんね。

###

Offramp Live At The Mesa Centennial Hall, Az 26 Jul ‘82 (Remastered) / パット・メセニー・グループ

ここ数日仕事が結構多くて、睡眠不足。

仕事する間ちょっとシャキっとしようと思って、Googleplaymusic でこの懐かしいアルバムをかけたら、元気が出てきた。

仕事がススム。

それにしてもえらく音がいいなと思ったら、リマスタリング盤ですか。

オリジナルは 1982年だから音楽 CD が発売されたその年ですね。

この前作った、OM-MF519+ダブルバスレフのスピーカーだから余計によく聴こえるのかも。

###

CT でも見える

ずいぶん前にこんなのを CT で見かけました。

尾側のスライスはこんな感じ。

ああ、あれね。

直腸の前の「腫瘤」は後屈した子宮底部です。無視しましょう。

前額断を見るとこんな感じ。

頚管全体にわたって2つに分かれているようです。

双頸双角子宮ですね。

子宮体部は後屈しています。

まとめ

  1. MRI で見られるのは当たり前だけど、CT でも見えることがある
  2. MRI で矢状断ばっかり見てると気づかないことがある(横断像、前額断もしっかり)

###

朝日新聞、もうネを上げろ

昨日から消費税が 10%になりましたね。

1万円を超えるものはまず買わない私にとっては、2%違いは誤差の範囲内。なのに JRが便乗値上げしているのはやたら腹が立つ。

朝日新聞が「朝日新聞はまだまだ値上げしないでのがんばります!」というポスターを貼っていたが、

私は、

朝日新聞はがんばらないで、ネを上げろ! もうだめだ、と。

と言いたい。

100年以上前から戦争を煽って一度は日本を滅ぼした朝日新聞はもうそろそろ墓場に行ってもいいころです。

二度目はごめんだ。

もしアサヒが滅んだら、みんなで歌いましょう。

「アーサヒはさんざん、ホラ、倒産 ♫」

*

KY と彫られたサンゴに見立てた彫刻を朝日新聞本社前に建てたらおもしろいだろうなあ。

名付けて、

「へ? 岩?」のサンゴ像

###

FX 裁量トレード 現在の方法 (3)

以前の記事の「FX 裁量トレード 現在の方法(2)」の続きです。

上がかなり完成型に近づいた現時点でのシステムです。

色使いには気を使いました。ww

マルチタイム CCI は今ひとつ精度に欠けるので、マルチタイムストキャスに置き換えていますが、普通のストキャスも併用しています。%Kと%Dの位置関係を知りたいので。

一目の雲は消してもいいのですが、紫にしてみました。

平均足は灰色混じり(ノントレンドを示す)に変えていますが、明らかなトレンドかブレイクアウトしか狙いませんので、なくても直感でわかると思います。

で、昨日や本日はいろいろな戦術を試してみるのですが、結果が一定しません。

やはりこれだけでは無理がありますね。

ピボットは表示されているのですが、レジスタンスライン&サポートライン(特に上位足)、期間の高値安値(&半値?)などは自分で全部書き込まなくてはいけません。

それをやればだいぶ違うと思います(それだけで勝っている人が山ほどいる)。

インジケーターでだけではだめで、チャート分析が必要だということけです。

インジケーターだけで FX をやるのは、目隠ししてナビの言うことだけ聞いて運転するようなもの、かな?

###

【FX】 パラボリックSAR と一目均衡表の雲を使ったトレード法

「The Truth About Parabolic SAR | Forex Trading Strategy With PSAR & Ichimoku Cloud」という以下の Youtube動画を観ました。

 

私はパラボリックSAR をポカよけのつもりで表示させているのみですが、この人は積極的に使っているようです。

エントリや手仕舞いに使うようですが、パラボリックはエントリよりは手仕舞いにより向いているとか。

雲(一目均衡表)はどう使っているかというとごく普通の使い方。

  1. 雲とパラボとがともにローソク足の上にあれば売りしかしない
  2. 雲とパラボとがともにローソク足の下にあれば買いしかしない
  3. 雲の中にローソク足があればエントリしない

エントリには普通にローソク足を見てプライスアクションで決めているようです。

プライスアクションを自動売買にするのは難しいので、エントリをパラボリックが反転したときとして、自動売買プログラムにしたらおもしろいでしょうね。

「トレンドかレンジの機械的判断」で紹介したACAOフィルタも使ってみたいと思います。

関連記事

[FX] パラボリックSAR と一目均衡表の雲を使ったトレード法を自動売買にしてみた

###

FX 裁量トレード 現在の方法 (3)

現在の裁量トレード画面がこちら(↑ クリックすれば拡大)。

前回と少し異なり、現在は Metatrader4 に

  1. THV v3 (メインウィンドウとサブウィンドウ1&2)
  2. ストキャステクス(サブウィンドウ3;パラメーターは 5.3.3)
  3. SSL_Fast_sBar_mtf(サブウィンドウ4;10SMAと終値との大小)
  4. yMTF_Forex_freedom_Bar(サブウィンドウ5;マルチタイムCCI)
  5. パラボリックSAR(メインウィンドウ上;単なるポカよけ)

のインジケーターを組み込んでいます。

THV システムに仕込まれたアラートがチャリンと鳴ったら(上の矢印以外のところでも結構鳴ります)、画面を見て待ち、それぞれ(平均足&THV Trix&THV Trends& Stochastics&SSL&yMTF_Forex_freedom_Bar)のインジケーターの色が赤系統または青系統で揃ったら(上位の時間足と下位時間足もチェックして)エントリ。オリジナルとは異なり、THV Coral は無視しています。

あとはダウ理論に伴った固定ロスカットを決め、その後に利益が乗ってきたらトレーリングストップを適当にしかけてほとんどほったらかし。

  • 赤線より上が THV v3 を使っていなかったときの記録
  • 赤線より下は THV v3 を使い始めた段階(前回「FX 裁量トレード 現在の方法 (2)」で紹介したシステム)
  • 黄線より下が本日紹介しているシステム

1万通貨のお試し段階で額が少なくて、仕事しながらなので回数が少ないですが・・・

エントリやらエグジットの規則がまだ定まっていない段階(現在試行錯誤中)なので 成績(獲得pips数)は一定しませんが、勝率だけは THV のおかげで明らかに改善されています。

特に、

  1. 9/25 12:01 2530円
  2. 9/26 11:26 1775円
  3. 9/27 11:52 1670円

の3つが目を引きますね。サーバー時間に 6を足して日本時間に直すと 17:26~18:01 であることからわかりますでしょうか。

いずれもオフィスで帰宅前にエントリしておいて電車に乗り、帰宅してからエグジットしたもので、その分ほかの成績より時間がかかっているのです。

と言うより、夕方のロンドンタイムなので東京時間帯とは違い、トレンドがばんばん出てくるのが一番の要因ですけど。

日本時間で午後5時くらいから出たトレンドは結構長持ちするようですしね。

仕事帰りの一杯 ならぬ 仕事帰りにいっぱい 儲けられれば幸せですね。

###

トレンドかレンジの機械的判断

トレンドVSレンジ の判断にはなかなか悩まされます。

レンジが非トレンド全体を指すことばではありませんが、トレンド非トレンドは言いにくい。

オレンジレンジのように言いやすいトレンドレンジをここでは使わせていただきます。

HeikinAshiZoneTrade というインジケーターがあり、やはり平均足を表示するのですが、レンジっぽいときは陰陽の判定をせずに足の本体をグレーに表示するという変わり者、いやすぐれもの。

プログラムソースを読むと、レンジの判断には AO と AC という2つのオシレーターを使っており、その方向性が逆の場合に「トレンドでない」でないと判断しています。

自動売買プログラムに組み込むには、

  • double AC_diff = iAC(NULL,0,1) – iAC(NULL,0,2);
  • double  AO_diff = iAO(NULL,0,1) – iAO(NULL,0,2);

とでもしておき、

  • if(AC_diff * AO_diff < 0){  /* レンジのときの処理 */ }
  • if(AC_diff * AO_diff > 0){ /* トレンドのときの処理 */ }

のように使えばいいわけですね。

AO(Awesome Oscillator)も AC(Accelerator Oscillator)も区間は固定で、こちらで設定する必要がないのが検証の手間が減ってナイスな点です。

メインウィンドウは HeikinAshiZoneTrade、サブウィンドウ1が AO、サブウィンドウ2が AC です。

平均足がグレーになっているところでは、AO の傾きと AC の傾きが正負あるいは負正になっているところであることがわかります。

実際にトレンドフォロワー系の EA に組み込んでエントリ時のフィルタとして使ってみましたが、たしかに勝率はアップしますね。

ちゃぶつきをカットするのにかなり効果がありそうです。

###

 

VQ を使ったシンプルな自動売買システム (2)

今日はインジケーターの VQ を使ったシステムの再検証、というか宿題の回答。

前回の記事「VQ を使ったシンプルな自動売買システム」のシステムからクラウドフィルタを取っ払ってみました。

クラウドとは一目均衡表の雲のことです。

雲の下にあるローソク足が抜けてくるときは急激な上昇トレンドのときが多いのですが、抜けてくるときにはエリオット波動の上昇2波目(エリオット的には正しくは第3波)の途中であることが多く、そこからエントリすると一番美味しい2波の大部分を取り逃がしてしまうのです。

で、雲の部分を無視して VQ の反転でエントリ、逆に反転すればイクシットという非常にシンプルなものに。

通貨ペアの特性に合わせたタイムフィルタで最適化できるようにしているのはもちろんのこと。

だって明け方のチャブっているときの無意味な暴発を避けたいですもんね。

よもやの急落に対して、HLトレーリングストップと固定ロスカットをつけています。

*

indicators フォルダに VQ_bars.eq4 が必要です。

今回は 1.0ロット(いつもの 10倍)での成績です。メタトレーダー4の 1ロットはアメリカ標準の 10万通貨で、日本標準の 1万通貨ではありません。

期間は前回と同じで、2019/1/1 – 2019/9/21。

ポンド円4時間足です。

日本時間の14時から23時まで(メタトレーダーに表示されているサーバー時間は業者によって違います;ここで私の使っている OANDA では NY標準になっているので 8時から17時と表示されます)動作させるのが一番よかったです。ポンド円なのでまあリクツどおり(日本時間の後場+ロンドン時間の全部)ですかね。

総取引回数 214回と、クラウドフィルタをつけた場合の 79 と 3倍近くに増加。

純益 235.84%と 3.35倍はデキスギです。10万通貨なのでやっぱりすごい額。

勝率 41.12%とやや低下、プロフィットファクター 1.7 も低下。

最大ドローダウンも増大し、13.3%も! 小心者には心が痛みます。総損失が証拠金の 3.38倍なんで初期にもっと連敗が続けば確実に死にますね。

でもやはり回数が多いのでパフォーマンスはいいですね。

実稼働でどれだけ安定的に使えるかが一番の問題ですが。

*

4時間足以外のパフォーマンスはかなり落ちます。

4時間足なので大きなトレンドに長い時間乗っかることができたのが効いているのでしょう。言い換えれば、小さな波(変動)は無視しているのがいいのかも。

その分、逆行による損失も大きくなるのかなと思いましたが、固定ロスカットが 10pips でもいいというのは少し驚きです。

ただ、一般的に少額の口座では退場のリスクは大きいです。特にポンドはこれからブレグジットでぶれそうですし。

0.1ロットから少しずつ増やさないとやばいかもですね。

*

あとでいろいろ検証してみましたが、ポンド絡みの通貨では爆勝ちで、そのほかの通貨ペアではさんざんなものが多いです。

やはりブレグジットの影響が効いているのでしょう。

ブレグジットはまだ終わっていないのでまだまだチャンスはあるかも。

理想は複数の EA を走らせて毎週か毎月チェックしてシステムに沿って戦略を決める(ファンドマネージャーみたい)のがいいと思いますね。

プログラム

ysVQ01b.zip

###

FXメタトレーダーで儲けるしろふくろうのスーパー投資術 / しろふくろう


★★★☆☆

有名トレーダーのしろふくろうさんの 2009年の本。

メタトレーダー使いになりたいのなら誰でもはじめの頃に読んだ、かも。

p167に EASY TRADE システムという「必勝システム」が紹介されていました。

ほぼ原法のものに、私独自のタイムフィルタ、HLトレーリングストップを加えた自動売買ソフトを作って試してみましたが、さっぱりです。

これもトレンドフォロワー型で、平均足をからめたブレイクアウト戦略なのですが・・・

当時とは相場環境が相当変わっているのでしょうか。

しろふくろうさんご自身はこれに マルチタイムCCI(昨日紹介した yMTF_Forex_freedom_Bar ) を加えて、裁量トレードをなさっていたようですが。

###

 

FX 裁量トレード 現在の方法 (2)

昨日の「FX 裁量トレード 現在の方法」の続きですが、この方法はまずまず使えそうです。

自動売買プログラムにしたいと思っていますが、すでにやってみた人がいて、レンジ相場や極端に値幅の少ないところでは全然だめなようで、やはりトレンドフォロワー系はトレンドを選び出すフィルタの精度が重要そうです。

それにこのシステムを作った人自体が自動売買は勧めないと言い切っておられるようです。

昨日、本日の2日間(1万通貨の結果)仕事の合間にやってみました。

11勝1敗でした。

この中の 1敗はエントリした途端に逆風に変わり、なんとかしようと思いましたが、そのまま初期ロスカットにひっかかりました。

まあ、そういうのはどうしようもないですね。

さらにこのシステムを快適にしようかと考えています。

で、気になったのが、SSL というオレンジと水色でトレンド判定をするインジケーター(上の図)。

CCI の区間 14 のものと挙動がよく似ています。値が正なら水色、負ならオレンジというわけです。

(付記:あとで、プログラムソースを見つけて読んでみると移動平均線 10SMA より終値が上か下かで色が変わるだけのようです。)

CCI・・・そう言えば昔マルチタイムフレームの CCI(15,30,60,240分足)を 4本表示するインジケーターがあったなあと、ウェブで探して yMTF_Forex_freedom_Bar (上図の一番下の赤と青で4列ブロック表示しているもの)を付加してみました。

上位足をいちいち見ないでもいいようになるかなと思ったのと、エントリの条件の一つになるかなと思ったのです。

さあ、ちょっと検証しようかと思ったのですが、本日は眠いのでもう寝ます。

###

FX 裁量トレード 現在の方法


(↑クリックすれば拡大)
FX の裁量トレードはキライなので、一番ラクチンな方法を模索しています。

現在は上記のように Metatrader4 に

  1. THV v3
  2. ストキャステクス(パラメーターは 5.3.3)
  3. SSL_Fast_sBar_mtf
  4. パラボリックSAR

のインジケーターを組み込んでいます。

ベルが鳴ったら(上の矢印以外のところでも結構鳴ります)、画面を見て、それぞれのインジケーターが揃ったら(上位の時間足と下位時間足もチェックして)エントリ。

あとはトレーリングストップを適当にしかけてほったらかし。

この最終形にしてからまだ 6回(1万通貨でお試し中)ですが、今のところ全勝。

全く同じ方法を取っている人は少ないですが、メインとなる THV v3 だけでも「勝率は8割」とか言っている人がいるくらいなのでかなり期待できます。

ただ、買ったところでいきなり大量の売りを浴びせられたら損切りになるでしょうから、勝率 100%はありえません。

狙った方向にオプションなどの抵抗線がないかなど、最低限の知識は必要です。

それに手仕舞いの方法をもっと工夫しないといけません(そうなるとほったらかしができなくなるのですけれど)。

ゆくゆくは自動プログラム化できればなと思います。

それにしてもこんないいものが無料で配布されているなんて。

###

VQ を使ったシンプルな自動売買システム

VQ という摩訶不思議なインジケーターがあります。始値、終値、高値、安値のそれぞれの移動平均線を使ったもので、その TR(値幅)をも考慮するという複雑なもの。

なかなか効果的なので今でも使っている人は多いハズ。

VQ を売買のシグナルにする方法は以前多数作りましたが、ちょっと検証し直そうと思います。

まずは母体となるプロトタイプから作り直しましょう。

VQ の計算には VQ_bars.ex4 という外部ファイル(インジケーター)を借用しています。内部に取り込むとプログラムソースが長くなるからです。

動作条件ですが、買いの場合は

  1. エントリがVQ の上昇
  2. フィルタは「ショート雲より上」
  3. イクシットは VQ の下降

というシンプルなものです。

私の好みで HLトレーリングストップをつけました。

ポンド円4時間足です。

総取引回数 79 と 9ヶ月間の稼働にしては 動作しない日も多くあります。

利益 15.26%はイマイチですが、動作回数が少なめなので、フィルタを工夫すればなんとかなるかも。

勝率 44.97%、プロフィットファクター 2.21 は良好。

最大ドローダウンも 2.73%とまあまあ。連敗が少ないのは初期にはとくに助かります。

VQ をフィルタに使ってほかのトリガーをエントリに使う方法など、発展は多々考えられます。

ちょっといろいろいじってみます。

*

裁量トレードは、私自身がバクチ大嫌いなのであまりやりたくないのです。

こういう自動売買システムは開発しているときが一番楽しい。

科学研究に通じるものがありますよね。

プログラムソース

//
// ysVQ01a.mq4
//           VQ_bars 使用
//
//    エントリ:VQ の上昇
//    フィルタ:ショート雲より上
//    イクシット:VQ の逆転
//    HLトレーリングストップあり

//マジックナンバーの定義
#define MAGIC  42501

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  “VQ01a”; //コメント

extern int       HL_Period=12;// HLトレーリングストップ用
extern double margin = 0.0 ; // 誤差
extern double ILC = 5.0 ; // 初期ロスカット

// VQ_bars 用
extern   int      Length=2;
extern   int      Method=0;
extern   int      Smoothing=0;
extern   int      Filter=0;
extern   bool     Steady =false;

extern int in_time = 10; // 取引開始時間(0以上)
extern int out_time = 20; // 取引停止時間(24以下)

int       Tenkan_sen=2;
int       Kijun_sen=3;
double    Senkou_span_b=5;

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

//暴落対策(始め)

double HH1 = High[iHighest(NULL, 0, MODE_HIGH, HL_Period, 1)];
double LL1 = Low[iLowest(NULL, 0, MODE_LOW, HL_Period, 1)];

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
if( Bid < LL1-margin
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
if( Ask> HH1+margin
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//暴落対策(終わり)

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double dir1 = iCustom(NULL, 0, “VQ_bars”,Length,Method,Smoothing,Filter,Steady,4,1);
double dir2 = iCustom(NULL, 0, “VQ_bars”,Length,Method,Smoothing,Filter,Steady,4,2);
double cla1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 3, Kijun_sen);
double clb1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 4, Kijun_sen);

double HH2 = High[iLowest(NULL, 0, MODE_HIGH, HL_Period, 2)];
double LL2 = Low[iHighest(NULL, 0, MODE_LOW, HL_Period, 2)];

double lc = ILC;
if(( Digits ==3 )||(Digits ==5)) lc = lc*10.0 ;

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if(    ((dir1==-1 && dir2 ==1) || ( OOPL – lc*Point >= Close[1] ) || Close[1] < LL2)
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if(    ((dir1==1 && dir2 ==-1)||( OOPS + lc*Point <= Close[1] ) || Close[1] > HH2)
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( (dir1==1 && dir2 ==-1)    && (Close[1] > cla1 && Close[1] > clb1)
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( (dir1==-1 && dir2 ==1)    && (Close[1] < cla1 && Close[1] < clb1)
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

 

ディナポリ手法で利用するDMA (4) ATRトレイリングストップ

前回の記事「ディナポリ手法で利用するDMA (3) HLバンドトレイリングストップ」で、ディナポリ移動平均線を使った自動売買プログラムに HLバンドトレイリングストップを導入してみましたが、その代わりに(両方使うこともできます) ATRバンドトレイリングストップを使ってみることにします。

ATRバンドトレイリングストップは、ATR(真の値)という値幅(高値と低値の差)の何倍かをトレーリングストップ用の値幅に用いるものです。

ATR を計算する期間は時間とともに変わるので、損切りの値幅は固定値ではなく、刻一刻と変わるのが特徴。

値動きの少ない場合は小さめの損切り、激しい場合は自動的に大きめの損切りになるわけです。

実際は ATR の何倍か分、エントリ時の買値(あるいは売値)の下(売りの場合は上)に損切りが自動的に設定されるわけです。

今回は固定ストップロスも併用することにしました。

ポンド円 4時間足で今年(元日~9/21)の成績です。

タイムフィルタで日本時間の午後2時から午後10時まで動かして 118回動作し、純益はプラス 16.5%とイマイチで、勝率が 42.86%(トレンド系にしてはまあまあ)なのはいいとしても、最大ドローダウンが 5.71%は改善の余地あり。

HLトレーリングストップとも併用できます。今度やってみましょう。

プログラムソース

 

//
// ysDMAX01d.mq4
//
//  2019.9.24  ディナポリチャート
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びのとき
// 暴落対策付き(ATRトレーリングストップ)

//マジックナンバーの定義
#define MAGIC  42406

//パラメーターの設定//
extern double Lots = 0.1;     // 取引ロット数(0.1 は1万通貨)
extern int Slip = 10;         // 許容スリッページ数
extern string Comments = “”; // コメント

extern double ILC = 40 ; // initial loss cut(固定ストップロス)
extern int    ATRperiod = 9 ;
extern double ATRtimes = 3.0 ;

extern int in_time = 3; // 開始時間(サーバー時間)
extern int out_time = 20; // 終了時間(サーバー時間 最大24)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double TrailingStop;

TrailingStop = NormalizeDouble(iATR(NULL,0,ATRperiod,1)*ATRtimes,Digits);

double dma1 = iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,3);
double dma2 = iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,5);
double dma3a = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,5);
double dma3b = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,6);
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if(    ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) || (OOPL – TrailingStop >= Bid) )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if(    ( Close[1] > dma2 ||( OOPS + lc * Point <= Close[1] ) || ( Ask >= OOPS + TrailingStop))
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Close[1] > dma1
// && dma3a > dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Close[1] < dma1
// && dma3a < dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

 

関連記事

###

ディナポリ手法で利用するDMA (3) HLバンドトレイリングストップ

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作りましたが、25本線の向きをフィルタに使ってもあまりかんばしい結果がでませんでした。

HLバンドトレイリングストップを導入してみます。

これは、HL_period という期間内の終値の最高値と再低値を、それぞれ売りの場合の損切り、書いの場合の損切りに設定するものです。

  • double HH1 = High[iLowest(NULL, 0, MODE_HIGH, HL_period, 1)];
  • double LL1 = Low[iHighest(NULL, 0, MODE_LOW, HL_period, 1)];

 

のように書けば、HH1 に1つ目のバーから数えて期間内の最高値が入力され、LL1 には最低値が入力されます。

以前、終値だけの幅を考えて

  • double HH1 = Close[iHighest(NULL, 0, MODE_CLOSE, HL_period, 1)];
  • double LL1 = Close[iLowest(NULL, 0, MODE_CLOSE, HL_period, 1)];

のようにヒゲを無視した書き方を採用していましたが、自分でもしっくりいかないので、ヒゲを含めたほうをとることにします。

これでうまくいけばトレンド期間のときの逆行による損失を減少できるかもしれません。

トレンドでないときにはあまり貢献しないかもしれませんが。

ポンド円 4時間足での成績が

利益は 15.14%。勝率 36.8%、最大ドローダウンが 5.35%。利益と勝率はわずかに改善。ドローダウンはやや増加ぎみです。

125回の動作で、原法よりは半分以下の動作回数なので効率はよくなった(長いトレンドの中で何度も利確してまた入り直すなどがなくなった?)のかも。

プログラムソース

 

//
// ysDMAX01c.mq4
//
// 2019.9.23 ディナポリチャート
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びのとき
//                 HLバンドトレーリングストップを導入

//マジックナンバーの定義
#define MAGIC 42404

//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数(0.1 は1万通貨)
extern int Slip = 10; //許容スリッページ数
extern string Comments = “”; //コメント

extern double ILC = 40 ; 初期ロスカット
extern int HL_Period = 9; //HLトレーリングストップの期間

extern int in_time = 3; // 開始時間(サーバー時間 0から)
extern int out_time = 20; // 終了時間(サーバー時間 24まで)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double OOPL;
double OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double HH1 = High[iLowest(NULL, 0, MODE_HIGH, HL_Period, 1)];
double LL1 = Low[iHighest(NULL, 0, MODE_LOW, HL_Period, 1)];

double dma1 = iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,3);
double dma2 = iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,5);
double dma3a = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,5);
double dma3b = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,6);

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if( ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) || Bid <LL1 )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if( ( Close[1] > dma2 ||( OOPS + lc * Point <= Close[1] ) || Ask > HH1)
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Close[1] > dma1
// && dma3a > dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Close[1] < dma1
// && dma3a < dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

関連記事

###

ディナポリ手法で利用するDMA (2)

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作りましたが、25本線があまり活躍していないので、トレンド期間でないときの損失を減少させる方策として 25本線の向きをフィルタに使うことにしました。

これでうまくいけばトレンド期間でないときの損失を半分にできるかも。しかもトレンドのときの利益には差し障りがないはず。

ポンド円 30分足での成績はかえって悪くなりましたが、なんとなく予感していたように性格がのんびり、つまり短期足では損益しか出ません。

タイムフィルタで日本時間の午前10時から午後7時まで動かして、91回とだいぶ動作回数が減少し、純益はプラス 12.19%どまり。

改良前後のポンド円4時間足どうしを比較します。

勝率が 44.68%と増加し、最大ドローダウンが 3.43%とやや減少。でもまだまだ改善の余地があります。

動作時間が増えたのに動作回数は減少しています。

勝率はトレンドフォロワーなら優秀なほうです。最大ドローダウンもあと頑張っても半減くらいかな。純益がもっと伸びないといけませんが、相場次第ですね。

移動平均線を使ったものはトレンドフォロワーという性格上、トレンドの部分でいかに多くの部分をおいしくとれるかという問題と、トレンドでない期間での損失をいかに小さくするかという問題があり、取る方策にとっては二律背反のこともあるのが頭が痛い点ですね。

プログラムソース

//
// ysDMAX01b.mq4
//
//  2019.9.22  ディナポリチャートその2
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びで 25×5DMA が上向きのとき

//マジックナンバーの定義
#define MAGIC  42404

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数(0.1 は1万通貨)
extern int Slip = 10;         //許容スリッページ数
extern string Comments = “”; //コメント

extern double ILC = 40 ;

extern int in_time = 3; // 開始時間(サーバー時間 0から)
extern int out_time = 20; // 終了時間(サーバー時間 24まで)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double dma1 = iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,4);
double dma2 = iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,6);
double dma3a = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,6);
double dma3b = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,7);

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if(    ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if(    ( Close[1] > dma2 ||( OOPS + lc * Point <= Close[1] ) )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Close[1] > dma1 && dma3a > dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Close[1] < dma1 && dma3a < dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

ディナポリ手法で利用するDMA

ディナポリ手法という FX 手法の体系があるのですが、そこでは利用する移動平均線に DMA という特殊なものが使われます。

頭の D は「頭文字D」ではなく、ディナポリ氏のイニシャルからきてます。

3本、7本、25本の3本の単純移動平均線を3本未来にずらして表示するのです。

ずらした分ローソク足から離れるので重なりが減りますし、一目均衡表の雲のように未来を暗示してくれているような気がするのが面白いです。

これらを使ってよくあるゴールデンクロス、デッドクロス式の自動売買プログラムを作ってみました。

値動きの激しいポンド円でもなかなかいい成績は出ません。

ポンド円 30分足で今年(元日~9/21)の成績はこんな感じ。

タイムフィルタで日本時間の午後4時から午後7時までの3時間しか動かしていないデータですが、357回も動作し、純益はプラス 14.4%とイマイチで、勝率が 32.63%(トレンド系はこんなもの?)、最大ドローダウンが 4.45%なども改善の余地があります。

まあ、移動平均線を使ったものはトレンド期間(時間にして全体の3割)しか儲けがでなくて、トレンドでない期間では損失を小さいながら多く出すのでなかなかいいものはできませんね。

タイムフィルタで通貨ペアごとの最適動作時間をあらかじめ決めても、なかなか焼け石に水です。

裁量トレードでは上記の視覚的安堵感があってそれなりの意味はあると思いますが。

プログラムソース

//
// ysDMAX01a.mq4
//
//  2019.9.22  ディナポリチャート
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びのとき

//マジックナンバーの定義
#define MAGIC  42403

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数(0.1 は1万通貨)
extern int Slip = 10;         //許容スリッページ数
extern string Comments = “”; //コメント

extern double ILC = 20 ;
extern int in_time = 3; // 開始時間(サーバー時間 0から)
extern int out_time = 20; // 終了時間(サーバー時間 24まで)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double dma1 = iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,4);
double dma2 = iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,6);
double dma3 = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,6);

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if(    ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if(    ( Close[1] > dma2 ||( OOPS + lc * Point <= Close[1] ) )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Close[1] > dma1
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Close[1] < dma1
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

関連記事

ディナポリ手法で利用するDMA (2)

###

ガチ速FX / 及川圭哉 (2)

ガチ速FX 27分で256万を稼いだ“鬼デイトレ
及川圭哉
ぱる出版
売り上げランキング: 176

★★★☆☆

前回の記事「ガチ速FX / 及川圭哉」で紹介した本ですが、その中に書いてあった鉄板手法の一つを自動運転プログラムにしてみました。

5分足チャートで動作させるのですが、5分足の3本の単純移動平均線SMA(5本、14本、20本)が離れて上を向いており、75本線SMA も上向きの状態で、ローソク足が 15分足SMA(10本)に上から近づいてタッチして反転して上に抜けたらエントリ。

利益確定は本ではあまり明確に規定してありませんが、このプログラムではそのうちの一つの方法である 5分足の 5本SMAを割り込んだときをイクシットとしてみます。

要は上向きトレンドの押し目のごく初期を狙うオーソドックスな方法です。

下向きトレンドの場合は売りの場面となり、上記の話はすべて逆(上⇒下、買い⇒売り)になります。

きちんと検証できていませんが、簡易版(5分足が確定するごとに判定;本では tick 毎で判定するのが異なる)のためかあまりいい結果が出ません。

もう少し原法に近づけたバージョンを作って再検証するつもりですが、手法的には当たり前でごくまとも(エントリが少し早すぎるという人も多いかもしれませんが)なので、もっといい結果が出るのではと思います。

*

本にはない私なりの改良点はタイムフィルタを加えていることで、24時間、東京時間、ロンドン時間、NY時間など好きな時間帯を切り取って検証&実行できることです。

「都合の悪い時間帯はないかバックテストで調べ、あればその時間帯でのエントリを防ぐ」ための機能ですね。

サーバー時間が NYセットになっている場合は「in_time =0、out_time =23」 と設定すると 24時間営業となります。

東京時間なら「in_time =3、out_time =11」で、out_time を 9 や 10 にすることもよくあります。

ロンドン時間や NY時間は始まりと終わりが季節によって異なりますし、もともと始まりと終わりの時間がはっきりしていないので、そのへんはご自分で判断ください。

プログラムソース

//
// ysTouch01a.mq4
//
//  2019.9.18  5分足「スケベタッチ」
// エントリ: 15分sma10 にタッチ
// イグジット: sma5にタッチ
// フィルタ: 5分移動平均線の傾きが正か負か

//マジックナンバーの定義
#define MAGIC  42311

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数(0.1 は1万通貨)
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  “”; //コメント

extern double ILC = 40 ;
// extern double TP = 1100 ;

//extern int SMA_Period1 = 20; //移動平均線の傾き

extern int in_time = 3; // 開始時間(サーバー時間 0から)
extern int out_time = 20; // 終了時間(サーバー時間 24まで)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double ma1 = iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
double ma2 = iMA(NULL,0,14,0,MODE_SMA,PRICE_CLOSE,1);
double ma3 = iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,1);

double ma15 = iMA(NULL,15,10,0,MODE_SMA,PRICE_CLOSE,1);

double ma4a = iMA(NULL,0,75,0,MODE_SMA,PRICE_CLOSE,1);
double ma4b = iMA(NULL,0,75,0,MODE_SMA,PRICE_CLOSE,2);

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if(    (( Close[1] < ma1) || ( OOPL – lc * Point >= Close[1] ) )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if(    (( Close[1] > ma1)||( OOPS + lc * Point <= Close[1] ) )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Low[1] < ma15 && Close[1] > ma15
&& ma1 > ma2
&& ma2 > ma3
&& Close[1] > ma3
&& ma4a > ma4b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Low[1] > ma15 && Close[1] < ma15
&& ma1 < ma2
&& ma2 < ma3
&& Close[1] < ma3
&& ma4a < ma4b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

ガチ速FX / 及川圭哉

ガチ速FX 27分で256万を稼いだ“鬼デイトレ
及川圭哉
ぱる出版
売り上げランキング: 176

★★★☆☆

10年以上 FX で稼いでおられるトレーダー及川さんの手法を解説した本。

FX は 100%の予想はできないので、確率の高い場面でシナリオ(リスクリワード 1:2以上)を立てて、利益確定は早めにというまっとうなポリシーを述べておられます。

5分足チャートが基本で、そこに 15分足、1時間足、4時間足の 10SMAその他を表示し、それを抵抗線と見立ててトレードするのです。

比較的シンプルでわかりやすいです。

リクツには合っていますし、これを知ってトレードするのと知らないのとでは雲泥の差が出ると思います。

できればオプションとかフィボナッチとか東京ボックスなどとも組み合わせたほうがいいのじゃないかと思いましたが。

*

なかなかエントリの条件が揃わないのでチャンスが少ないですかね。5分足なのでもっと頻繁に出るかと思っていたのですが。

待てない人には向かないですね。

私のようにあと何年生きられるかわからない人には FX の裁量トレードをちまちまやる時間も情熱もないのですが、若くておヒマな方は読んだほうがいいかも。

###

オオクワ用菌糸ビン粗粒子混合1100cc

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

菌糸ビン粗粒子混合1100cc(オオクワガタに最適)【売れ筋】【オススメ】
価格:400円(税込、送料別) (2019/9/19時点)

楽天で購入

 

 

この前、去年割り出した木の残骸から2齢幼虫を見つけたので、菌糸ビンを先週末に注文。

休み明けの火曜日にメールが来ました。

「台風15号の影響により停電でインターネットへ繋げない状態でした。 その間、たくさんのご注文をいただいており お問い合わせ、受付、商品準備などで予想以上に時間がかかっています。 なるべく早くお届けできるよう休業日も発送を行っていますが 1日の限界数が限られてしまうため どうしてもお待たせしてしまうことになってしまいます。」

あらら、九十九さんかと思っていたら九十九里さんだったのね。台風の爪痕のまだまだ深い千葉県のあの九十九里だったのね。

こりゃ、遅れるなと思ったら、本日届いていました。8本入り。

九十九里クワガタファームさん、がんばってくれて感謝。

この菌糸ビンはブナ主体で、粗めのオガクズをわざと配合しています。特にオオクワガタに相性が良く、菌種はポピュラーなオオヒラタケ。

約1100cc で 400円は安い。添加剤もフスマ、トレハロース、プロテインなどと申し分ありません。

件の2齢幼虫クンをセット。

あと、今年産卵させた木を割り出して1齢幼虫を2尾みつけ、それぞれ菌糸ビンに投入しました。

今年は産卵させるのが遅れたので、あと10尾くらい生まれたらいいかな。

*

使ってみてわかったのは、

  1. 幼虫を投入してみると、すごい食べっぷりに驚く
  2. しかし、菌糸の劣化が速い(劣化すると水分が出てきてベチャベチャになる)
  3. 水分が多いと蛹室が丈夫になりにくそうで、最初の1本にはいいが、蛹化するまでには他の製品に入れ替えたほうが無難

ってことです。

###

 

FXのチャートがみるみるわかる本

★★★☆☆

今日は為替の動きが鈍いですね。まあ今晩重大発表なので、嵐の前の静けさです。

私は東京時間に1回トレードして 29pips勝ちました。ポンド円を扱ったのは 4年ぶりくらいでした。

さて、この本は初心者向けの本で、チャートがわかると言ってもゼロから1か2くらいわかるようになるだけで、プロ並み(95から99くらい?)になるのにはあと100冊は読み込んで、トレードも1万回(しかもよく考えて)はやらないとダメなんじゃないかと思います。

ラインの引き方とフィボナッチと資金管理は必須と思いますが、それらが載っていないのは、浮き輪も持たせずにカナヅチの人をプールに放り込むようなもの。しかも大波の発生するプールに。

まあ、ダブルトップ&ダブルボトム、ヘッド&ショルダーは載っているので最低限は満たしているのかも。早く別の本もどんどん読んでくださいね。

しかし、チャートの読み方は人によって違うので、何冊か読んでも全然納得&会得できないのが悩みのタネですね。

###

OM-MF5 を共鳴管ボックスにセット

今までダブルバスレフで使っていたマークオーディオ製フルレンジユニット OM-MF5 を junichitanzawa さん製作のスピーカーキャビネットにセットしました。

バックホーンと言ってもバックロードをかけないホーンになっており、共鳴管として動作するとすればホーン長は約 1.2mくらいなので共鳴周波数は 70Hz くらいでしょうか。

内部構造は下のように非常に簡単なものになっています。

音出しすると、とてつもなくいい音がします。

ダブルバスレフより低音の量感は増しますね。

3倍共振が 210Hz くらいですが、100-150Hz くらいも増強されているような印象。

箱を安くで譲ってもらったので制作費が 8000円ちょっとくらい。

市販の5万円くらいのスピーカーには勝てるかも。^^

関連記事

###

2019/9/16 ユーロ円下げにお付き合い

今回のもう一つの FX取引は EURUSD。

ユーロドルは月足、週足、日足、1時間足どころか本日昼過ぎからは 5分足でさえ下げトレンドになりました。待ってましたよ、楽勝ですよね。

ずいぶん前から 5分足の反転が来て、それが終わってからショートしようと思っていました。

ということで逆指値で直近安値 1.10580 の少し下(少しくずれたヘッドアンドショルダーのネックライン)にオーダーをセット。自信があったので 20000通貨。もし逆行したらそのままスイングトレードに移行するつもりでした。

夕方に帰宅したカミサンと草津(滋賀県)のイオンで買い物をすることにしていたので 17時に外出。

19:03 に逆指値がヒットして 1.10549 でエントリしたようです。そのまま順調に下降。

20:35 くらいに帰宅。

20:41 に 1.10402 で手動で決済しました。14.7pips。

下げトレンドの第2波の大部分をいただいたので満足したのです。これからしばらくはもみあって深い押しを作りそうだと思ったのです。

でもその後は押しは浅く、すぐに下降を再開して結果的に決済は早すぎたようです。

後から考えるとターゲットは 1.10170 (1時間足の先行スパンB)くらいが狙えたかも。

まあ、今から締め切りのある仕事に集中したいですし、ニューヨーク時間になればトランプのツィッター爆弾がいつ炸裂するかわからないのでこれでいいのです。

関連記事

2019/9/16 早朝窓開け 早起きは何文の得?

###

2019/9/16 早朝窓開け 早起きは何文の得?

本日は日本は祝日ですが、6時に起きたので相場チェックすると、珍しくクロス円で「窓開け」が起きていました。

上はドル円の 1時間足。

窓を開ければ港が見える(古い!)、ではなく、窓が開けば埋めようとするのが相場の神様。

ここからのチャートは 5分足です。

早速 6:15 AMに 107.610 でエントリ。

上のチャートのように損切りは直近安値の少し下 107.44。利確目標は窓が埋まるまでと行きたい所ですが、手前に 108円ちょうどがあるので、少し手前の 17.995。

これでリスクリワードが 1:2 となり、後は寝て待て状態。

7:03 AMの状態ですが、私が買ったあたりまで戻ってきて、押しをつくって N字に抜けて、先行スパンB と基準線まで越えたので、損切りポイントを直近安値の少し下 107.605 に繰り上げ。

7:37 AMにまたチェックすると、

先行スパンB と基準線の上で行ったり来たり。

セオリーどおり先行スパンB と基準線が強力なサポートラインになっているのとすでに 1時間経過しているので、まあこのへんで利益確定しても全然悪くないと思い、損切りポイントを先行スパンB と基準線の少し下の 107.765 にリセット。

これで負けはなくなりました。

結局、その後ズルズルと下降し、9:07 AMの状態が上の図。

朝食を摂っていたので知りませんでしたが、8:01 AMに 107.765 で決済されたようです。15.5pips の利益。

まだ窓は開いた状態で、いつ閉まるかわかりません。1時間で埋まることもあれば数日開いていることもありますからね。

しかし、この急激な円高。先週末の土日になにが起きたのか。

中東の地政学リスク回避のための円買いが原因と書いてあるニュースはありますが、もしそうならしばらく窓は開いたままかもしれません。

私は深追いはしないでおきます。

###

Instruments of Peace / Singh Kaur Soundings Ensemble

Instruments of Peace

Instruments of Peace

posted with amazlet at 19.09.15
Soundings Ensemble
Soundings of Planet (1993-09-18)
売り上げランキング: 805,961

★★★☆☆

いわゆるニューエイジミュージック(ひょっとして死語?)のアルバムです。

インストルメンツというので器楽曲だけかと思っていたらいきなり女声ヴォーカルでのけぞります。しかもベッツィ&クリスの「白い色は恋人の色」を彷彿させるプレーンな歌。

シン・カウ Singh Kaur はインド風に聞こえますが、本名 Laura Drew。1955年アメリカ生まれの作曲家でヴォーカリスト。1988年にハワイで亡くなっています。

いわゆるインドにかぶれたミュージシャンの一人でしょうか。

この CD は彼女のアルバムの中では最も有名なものらしいです。

1,5,9曲目が彼女の自作。7曲目はジョン・レノンのあの名曲のカバー。

ヴォーカルのない曲もあり、全体的に楽器の数の少ないアンサンブルで、シンプル&ビューティフル。

もう入手困難でしょうが、こちらでサンプルが聞けます。>https://www.allmusic.com/album/instruments-of-peace-mw0000205514

曲目リスト

1. Secret Garden
2. Light Dance
3. Every
4. Reflection
5. Instruments of Peace
6. Common Call
7. Imagine
8. Wave
9. Nightingale
10. Voyager
11. Say Yea!
12. Interlude
13. Universe

###

【謎の円盤】ブラームス交響曲第4番・悲劇的序曲・大学祝典序曲 ワルター&コロンビア交響楽団

ほぼ 4年に一度企画されるソニーの「Best Classics 100」シリーズの中の 1枚。

4年毎に人気度をチェックして売れそうなベスト100 を作り、CBSソニーの膨大な音源から選んで売るという、マニアそっぽ向きの「一山いくら」的シロモノです。

でも儲かるんでしょうね。

この CD には1989年発売と書いてあります。

定価は書いてありません。つまり、ソニーの音楽会員に毎月頒布する形式で送られてくるものじゃないでしょうか。

あるいは新聞広告で一括ドカン(専用CD収納ケース付き)月賦販売で売っていたのかな。

「Best Classics 100」の中には店頭でバラバラ一枚売りしている定価のついたシリーズもありますけどね。

音源は同じ曲の場合はあまり変わっていないはず。

この CDでは ブラームスの

  1. 交響曲第4番
  2. 悲劇的序曲
  3. 大学祝典序曲

が収録されていますが、ワルター指揮、コロンビア交響楽団で録音は 1959年。私の生まれた年ですね。

音源が古いとちょっと心配ですよね。当時の録音機器の性能やテープの劣化などの問題がありますから。

ただし、この音源はジョン・マックルーア氏(ワルターのプロデューサー)によって新しくデジタルでトラック・ダウンされたものです。

それまでのものとどこがどう違うかはわかりませんが、これが 1959年録音のものなのかと思うほどクリアでノイズが聞こえません。

ワルターなんて古くさいと思っていましたが、それゆえにブラームスとはベストマッチで、これぞドイツ的といった重厚な響きで満足できます。

この CD と同じ内容の市販品は見当たりませんでした。

ブックオフの 250円コーナーなどで見つけたらお値打ちかも。

###

【FX】アンディさんのリアルタイム雲 (3)

最強の「FX理論」を君たちに教えたい
アンディ
扶桑社
売り上げランキング: 384,795

今週の FX トレードは火曜日以降は値動きがあまりなかった(ユーロ爆下げを除く)ので参加していませんでした。

ようやく メタエディタが使えるようになったので、以前作った EAの点検をしていたのですが、最近の相場にはうまく適応できていないものが多いことにショック。トランプのツィッター爆弾の影響でしょうか。

また作り直しですね。

ということで、今週はカンを取り戻すのと新作 EAのネタ探しをかねて、以前買った FX 本を読み込むことにしていました。

上の本を読んで、最後に独自インジケーターをダウンロードしようと所定のサイトにいったら、すでにダウンロード期間は終了していました。

ということで自作することに。

リアルタイム雲だけは以前に作ったので、今回はダブル遅行線も組み込んでみました。

もちろん最初から作るのはめんどくさいので、公式の一目均衡表インジケーターのソースプログラムを改変しました。

通常の一目均衡表(公式インジケーター)

アンディさんのリアルタイム雲+W遅行線(改変したもの)

リアルタイム雲のほうが先行スパン2(と基準線)がレジスタンスとして機能しやすいのがよくわかります。

詳しい使い方は上記の本(いい本です)を御覧ください。

プログラムソース

//+——————————————————————+
//|                                               Ichimoku_Andy2.mq4 |
//|   一目均衡表(改)  Andyさんのダブル遅行線+リアルタイム雲                  |
//|                                              http://yiwasaki.com |
//+——————————————————————+
#property description “Ichimoku Kinko Hyo with Real-time cloud & W-chikousen by Andy”
#property strict

#property indicator_chart_window
#property indicator_buffers 8 // 7 から変更

#property indicator_color1 Red          // Tenkan-sen
#property indicator_color2 Blue         // Kijun-sen
#property indicator_color3 SandyBrown   // Up Kumo
#property indicator_color4 Thistle      // Down Kumo
#property indicator_color8 Yellow         // Chikou Span2(追加)色は Lime から変更
#property indicator_color5 Yellow         // Chikou Span  色は Lime から変更
#property indicator_color6 SandyBrown   // Up Kumo bounding line
#property indicator_color7 Thistle      // Down Kumo bounding line
//— input parameters
input int InpTenkan=9;   // Tenkan-sen
input int InpKijun=26;   // Kijun-sen
input int InpSenkou=52;  // Senkou Span B
//— buffers
double ExtTenkanBuffer[];
double ExtKijunBuffer[];
double ExtSpanA_Buffer[];
double ExtSpanB_Buffer[];
double ExtChikouBuffer[];
double ExtChikouBuffer2[]; // Chikou Span2(追加)
double ExtSpanA2_Buffer[];
double ExtSpanB2_Buffer[];
//—
int    ExtBegin;
//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
void OnInit(void)
{
IndicatorDigits(Digits);
//—
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtTenkanBuffer);
SetIndexDrawBegin(0,InpTenkan-1);
SetIndexLabel(0,”Tenkan Sen”);
//—
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtKijunBuffer);
SetIndexDrawBegin(1,InpKijun-1);
SetIndexLabel(1,”Kijun Sen”);
//—
ExtBegin=InpKijun;
if(ExtBegin<InpTenkan)
ExtBegin=InpTenkan;
//—
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
SetIndexBuffer(2,ExtSpanA_Buffer);
SetIndexDrawBegin(2,InpKijun+ExtBegin-1);
//   SetIndexShift(2,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(2,NULL);
SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(5,ExtSpanA2_Buffer);
SetIndexDrawBegin(5,InpKijun+ExtBegin-1);
//   SetIndexShift(5,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(5,”Senkou Span A”);
//—
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
SetIndexBuffer(3,ExtSpanB_Buffer);
SetIndexDrawBegin(3,InpKijun+InpSenkou-1);
//   SetIndexShift(3,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(3,NULL);
SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(6,ExtSpanB2_Buffer);
SetIndexDrawBegin(6,InpKijun+InpSenkou-1);
//   SetIndexShift(6,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(6,”Senkou Span B”);
//—
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,ExtChikouBuffer);
SetIndexShift(4,-InpKijun);
SetIndexLabel(4,”Chikou Span”);

SetIndexStyle(7,DRAW_LINE); // Chikou Span2(追加)
SetIndexBuffer(7,ExtChikouBuffer2); // Chikou Span2(追加)
SetIndexShift(7,-InpSenkou); // Chikou Span2(追加と値の変更)
SetIndexLabel(7,”Chikou Span 2″); // Chikou Span2(追加)
//— initialization done
}
//+——————————————————————+
//| Ichimoku Kinko Hyo                                               |
//+——————————————————————+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int    i,k,pos;
double high_value,low_value;
//—
if(rates_total<=InpTenkan || rates_total<=InpKijun || rates_total<=InpSenkou)
return(0);
//— counting from 0 to rates_total
ArraySetAsSeries(ExtTenkanBuffer,false);
ArraySetAsSeries(ExtKijunBuffer,false);
ArraySetAsSeries(ExtSpanA_Buffer,false);
ArraySetAsSeries(ExtSpanB_Buffer,false);
ArraySetAsSeries(ExtChikouBuffer,false);
ArraySetAsSeries(ExtChikouBuffer2,false); // Chikou Span2(追加)
ArraySetAsSeries(ExtSpanA2_Buffer,false);
ArraySetAsSeries(ExtSpanB2_Buffer,false);
ArraySetAsSeries(open,false);
ArraySetAsSeries(high,false);
ArraySetAsSeries(low,false);
ArraySetAsSeries(close,false);
//— initial zero
if(prev_calculated<1)
{
for(i=0; i<InpTenkan; i++)
ExtTenkanBuffer[i]=0.0;
for(i=0; i<InpKijun; i++)
ExtKijunBuffer[i]=0.0;
for(i=0; i<ExtBegin; i++)
{
ExtSpanA_Buffer[i]=0.0;
ExtSpanA2_Buffer[i]=0.0;
}
for(i=0; i<InpSenkou; i++)
{
ExtSpanB_Buffer[i]=0.0;
ExtSpanB2_Buffer[i]=0.0;
}
}
//— Tenkan Sen
pos=InpTenkan-1;
if(prev_calculated>InpTenkan)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpTenkan;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtTenkanBuffer[i]=(high_value+low_value)/2;
}
//— Kijun Sen
pos=InpKijun-1;
if(prev_calculated>InpKijun)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpKijun;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtKijunBuffer[i]=(high_value+low_value)/2;
}
//— Senkou Span A
pos=ExtBegin-1;
if(prev_calculated>ExtBegin)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
ExtSpanA_Buffer[i]=(ExtKijunBuffer[i]+ExtTenkanBuffer[i])/2;
ExtSpanA2_Buffer[i]=ExtSpanA_Buffer[i];
}
//— Senkou Span B
pos=InpSenkou-1;
if(prev_calculated>InpSenkou)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpSenkou;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtSpanB_Buffer[i]=(high_value+low_value)/2;
ExtSpanB2_Buffer[i]=ExtSpanB_Buffer[i];
}
//— Chikou Span
pos=0;
if(prev_calculated>1)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
ExtChikouBuffer[i]=close[i];
ExtChikouBuffer2[i]=close[i]; // Chikou Span2(追加)
}
//—
return(rates_total);
}
//+——————————————————————+

インジケーター(コンパイル済み)

Ichimoku_Andy2

関連記事

###

【謎の円盤】 バーンスタイン指揮名演集(西独輸入盤)

★★★☆☆

CD番号 431048-2。

ドイツグラモフォンの輸入盤です。ライナーノーツはドイツ語と英語で書いてあります。

当然、CDの邦題はありませんので、私が適当につけました。^^

収録曲は

  1. ラプソディ・イン・ブルー(ガーシュウィン)
  2. 弦楽のためのアダージョ 作品11 (バーバー)
  3. アパラチアの春(コープランド)

のみで、下の日本盤 CD に入っている 「《キャンディード》序曲(バーンスタイン)」と「エル・サロン・メヒコ(コープランド)」は入っていません。

ガーシュウィン:ラプソディ・イン・ブルー
バーンスタイン(レナード)
ユニバーサル ミュージック クラシック (2007-09-05)
売り上げランキング: 8,703

「ラプソディ・イン・ブルー」はやはりアメリカ人にやらせるのがいいかなと思います。え、のだめバージョンがいい?

「弦楽のためのアダージョ」は陰々滅々としていて、たまに聴くのはいいのですが、誰がどう演奏してもあまり代わり映えしないなあと思います。

「アパラチアの春」は私は 10年に一度聴くくらいの曲です。曲の最初はアメリカの春も日本とあまり変わらないじゃねえかと思うのですが、途中でやっぱりアメリカ以外にはオーストラリアくらいしかないかもという展開になり、最後はああ~さっぱりしたという気持ちで終われるのがいいですね。

###

ダブルバスレフ箱に OM-MF519 を移植

本日、マークオーディオ製フルレンジユニット OM-MF5 を入れていたダブルバスレフ箱(スコット・リンドグレン氏設計)に OM-MF519 を換装しました。

後継機で、ネジの位置まで同じなのですぐに移植できます。

内部構造(↓)

図面はこちら(↓)

で、完成したのがこちら(↓)

一番右の腰に転倒防止用ベルトをしているのがそれ。その左はこの前作った OM-MF519 のダクト付きバックロードで、その左は ワンダーピュア WP-FL10 のショートバックロードホーンです。

OM-MF5 と OM-MF519 とでそんなに音は違わないだろうと思っていましたが、かなり違います。低音がレンジも量も増しています。

で、以下のサイトで低音のテストをするとなんと 32Hz がラクラク再生できるではないですか。

そんなはずは?

このサイト、ちょっと怪しいかもしれませんが、正しいのであれば結構有用なサイトです。皆様も試してください。

低音テスト 2-150Hz

こういう低音のテストは普通は高い周波数から減らしていくほうがいいです。

低い方から上げていくと「全然聞こえないな」とアンプのボリュームを上げすぎていることが多く、80Hz 以上は爆音になることが多いでしょうから。

関連記事

 

###

自動改札は二度ベルを鳴らす

題名とは少し違う話になりますが、自動改札でよくトラブルを起こす人は予測がつきますよね。

そう、大きな荷物を持っている人です。

今日はおばあちゃんが手押し車を押しながら改札を通ろうとして、ピンポン。

手押し車とおばあちゃんが赤外線センサーに別々に反応して、

  1. 手押し車 ⇒ おばあちゃんの切符
  2. おばあちゃん ⇒ 無賃乗車

と判断したわけです。

大きなスーツケースを持った人も、体と腕(スーツケースを引く方)とが赤外線センサーにそれぞれ反応して、

  1. 人の体 ⇒ 切符
  2. 手とスーツケース ⇒ 無賃乗車

と判断されるわけです。

どちらも肘を伸ばさないで体にくっつけておけば、センサーは人間1人分とカウントします。

脇があいているから赤外線センサーがそこで人と人との区切りと判断してしまうわけです。

これは常識ですよね?

*

こういう人の後に続いてすぐに切符(電子パスの人は電子パスと読み替えてください)を入れた人は、

  1. 前の人の体 ⇒ 前の人の切符
  2. 前の人の腕 ⇒ 次の人の切符
  3. 次の人 ⇒ 無賃乗車

となって、次の人が「あれ、オレちゃんと切符入れたよ~」という恥ずかしい事態になるのです。

ですから、前の人が「脇が甘そうな」人の場合は、その人が完全に改札を抜けるまで待ってから切符を入れるのがベストです。

これも常識のはずでしたね。

###

【ふるさと納税】 二井ちゃんのぶどう3品詰め合わせセット

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【ふるさと納税】B-153 二井ちゃんのぶどう3品詰め合わせセット
価格:10000円(税込、送料無料) (2019/9/11時点)

楽天で購入

 

 

山口県山陽小野田市に 10000円寄付するともらえます。

なにが来るかはそのときの季節次第。

うちには先週来て、巨峰と瀬戸ジャイアンツ、安芸クイーンでした。大粒でいかにもおいしそう。

瀬戸ジャイアンツは見た目はシャインマスカットで、味はシャインマスカットと巨峰の中間くらい。ほどよい酸味がぶどうらしくて美味しかったです。

安芸クイーンはまだ食べていませんが、楽しみです。

###

 

メタトレーダーのメタエディタは Avira Antivirus に拉致される

うちの Windows7 と Windows10 マシンに メタトレーダー4 をインストールすると、EA(エキスパート・プログラム=自動売買プログラム)が動かなかったり、プログラムをコンパイルするメタエディタが起動しなかったりします。

ウェブで調べても解決策は見つからず。

これでは自動売買できないではないか。

MT4対応のウィンドウズ VPSサーバーを借りないといけないのか?

どうもしばしばエラーメッセージを吐く Antivirus が怪しいと思ってよく見ると、メタトレーダーのフォルダにあるべき、metaeditor.exe がない。

これを怪しいプログラムだと Avira が解釈して隔離していたようです。

名前も変えて隔離したのを Avira のパネルで手動で復元し、「これは隔離してはダメだよ」とその後学習させているのに、また別の名前をつけて隔離します。

エラーの文字列から勝手に名前をつけているようです。

ということで、Avira Antivirus は大好きでしたが、お別れし、AVG Antivirus に変更。

これでメタエディタが起動でき、プログラムをコンパイルでき、無事に自動売買できるようになりました。

めでたし、めでたし。

まとめ

  • Avira Antivirus はメタトレーダーとの相性が悪い(昔は大丈夫だったのに)
  • AVG Antivirus に変えると問題なし

###