ご訪問ありがとうございます。
元スーパー店員で不労所得生活を目論むひろしです。
前回
今回は、TrimPipsプロトにPIPS表示を
削除する機能を追加しました。
先日からリオン式FXスタディを始め、
日本時間の午前中は、
チャートとにらめっこすることにしました。
しかし、値動きが無いので暇なんですよね。
なので、ついついTrimPipsプロトが
気になり機能を拡張したくなりました。
今回の候補は、
- パラメータを取り込む
- スクショを撮る
- ラベルを消す
・パラメータを取り込む
これがあれば、フォントを変えたり
スクショを撮る際にフォルダを
指定したりできます。
を参考に簡単にできたのですが
問題が。。。。
なぜかこんな計算結果になります。
最終的には、この宣言が原因です。
1 |
#property strict |
う~~~ん、考えるのも
めんどいので、とりあえずスルー
・スクショを撮る
これは簡単にできました。
一発、関数を呼ぶだけです。
むしろ、ボタンの追加やファイル名を生成する方が
めんどかったです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//スクショを撮る void CPanelDialog::OnClickScrShot(void) { long lWidth = ChartGetInteger(0,CHART_WIDTH_IN_PIXELS); //幅 long lHeight = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS); //高さ datetime now = TimeLocal(); MqlDateTime now_struct; TimeToStruct(now, now_struct); //ファイル名の作成 string filename; filename = (StringFormat("%4d%02d%02d%02d%02d%02d-%s.png", now_struct.year, now_struct.mon, now_struct.day, now_struct.hour, now_struct.min, now_struct.sec, m_symbol )); //スクショ if(ChartScreenShot(0,filename,lWidth,lHeight,ALIGN_RIGHT) > 0 ){ Alert("Took The Screenshot! "+filename); } } |
参考にしたサイト
https://yukifx.web.fc2.com/sub/reference/15_chartope/cone/chartope_chartscreenshot.html
https://yukifx.web.fc2.com/sub/reference/15_chartope/cone/chartope_windowscreenshot.html
https://yukifx.web.fc2.com/sub/reference/01_basic/data_type/datatype_int_datetime.html
https://strategyofc.blogspot.com/2018/05/mql4-string-datetime-5.html
-
ラベルを消す
これも意外と簡単でした。
1 |
ObjectsDeleteAll(0, "dsppi_"); |
これだけです。
ポイントは、ObjectsDeleteAllの引数として
接頭辞が指定できるので、オブジェクト作成時に
接頭辞を指定しておけば、一発で消せます。
1 2 3 4 5 |
DrawlbelAddColr (string pobj_name, double dpips) { string obj_name; obj_name = "dsppi_" + pobj_name; |
できあがりは、
こんな感じです。
スクショはこんな感じ
MT4データフォルダの
MetaQuotes\Terminal\XXXXXXXXXXXXXXX\MQL4\Files
に出力されます
ファイル名は
YYYYMMDDHHMMSS-通貨ペア.png
例)
20200821105219-USDJPY.png
最後までご覧いただきありがとうございます。
ダウンロードはこちら→「TrimPipsプロトダウンロード申請」
つぎはこちら
–2020/08/24追記–
#property strict
をつけると、コンパイルの精度が
上がるので、計算結果が細かくなるようです。
削除すると、PIPSは正しく表示されたのですが、
以下のように、「パラメーターの入力」画面の変数が
ソースのコメントが反映されず、ソース上の変数名で
表示されてしまいます。
ということは、コンパイルの精度が
上がった状態で、正しくPIPSの計算を
する必要があるということです。
ムムム・・・・