あまり裁量トレードはしないのですが
裁量トレードの練習をしたくなって裁量トレードを練習できるEAを作りました
本当はInclude\ControlsにあるDialog.mqhを使ってなんかしたかったのですが
EAのバックテストだとCAppDialogを使おうとしてもうまく描画されません
これはChartID()関数のせいなのかなと思っています
ObjectCreate()でチャートIDを指定するとき、引数にChartID()を指定すると
オブジェクトが作成できないけど自身を指す 0 を指定するとオブジェクトが描画できます
試しに
Include\ChartObjects\ChartObject.mqh の
Line 143: chart_id=ChartID();
と
Include\Charts\Chart.mqh の
Line 119: void Attach(void) { m_chart_id=ChartID(); }
の部分のChartID()を 0 に書き換えてみたらEAに記述したCAppDialogがバックテストでも表示されました
でも、バックテストだとOnChartEventが機能しないみたいで(たしかOnTimerもだめ)
ボタンクリックとかのイベントをOnChartEventで拾えません
なので結局 OBJ_BUTTON と OBJ_EDIT で作りました
ボタンをクリックしたらOBJPROP_STATEがtrueになるので
次回のティックでそれを検知してボタンに応じた処理をする感じになりました
(ボタンを押した瞬間ではなく次ティックでポジションをとるようなものになってしまった)
外観はこんな感じです
発注君みたいなものをMQLで作ろうと思ったらOnChartEventを使うことになると思うのですが
バックテストだと機能しないので発注ツール兼裁量テスターというのを作ろうと思ったら
それぞれだいぶ異なる処理になるっぽいなぁと感じました
細かいエラーチェックなどが入っていなく、意図しない動作をしたりするかもしれませんが
ビジュアルモードのバックテストでしか動作しないようにしてあります
作った後、「これやっぱ右側に表示するより左に表示したほうがいいか?」
なんて思ったのですが時すでにお寿司、コーナーを変更するだけでは対応できないものになっちゃってますた
気が向いたときに直そう・・・(^ω ^ ;)
※Lots、SL、TPはテスト中に変更できます、SLTPはpipsを入力してください
CLOSE_SELL,CLOSE_BUYはそれぞれ一番直近のポジションをクローズします
CLOSE_ALLは全てのポジションをクローズします
チャートの右端と表示されているオブジェクトが被ってしまうという場合は
ツールバーの部分がこうなっているのを確認して
この三角をつまんでずらしてください
(この三角はグリッドの色をチャートの背景色に近い色にしているとかなり見にくくなっていると思います)
ちなみにオートスクロールをオフにすると左下にこんなのが出ます
これは虫眼鏡マークなんかを押したときに基点となる部分を指定しているようです
(つまんで横にずらせます)
ここにファイルを置いときます
( ´・ω・`)つhttp://ux.getuploader.com/hage_fx/download/16/__________TRADE_TEST.mq4
これを使ってちょっと練習してみたのですが裁量トレードダメダメでした、難しいなぁ・・・(´・ω・`)