[rank:a]の検索結果
PositionKeeperは、裁量トレードをサポートするMT4向け無料ツール(EA)です。 裁量トレードで建てたポジションを自動的にトレール(トレール機能)したり、 エントリーから一定時間経過したポジションを、一定の利幅(または損切り幅)で自動的に決済する(時間決済)ことができます。
今回のバージョンアップで、ロングのみ、ショートのみポジション管理の対象にすることが可能になりました。 また、トレール機能で建値と同値への逆指値の変更は、行わないようになっています。
トレール機能
裁量トレード(成行、指値など)で建てたポジションを、パラメーター「TrailPoint」で指定した値幅で自動的にトレールします。
例えば、「TrailPoint」を100にした場合、ロングポジションであればレートが建値から200ポイント(20pips)上回ったら決済逆指値が建値+100ポイントに変更され、 300ポイント(30pips)上回ったら決済逆指値は建値+200ポイント(20pipis)に、400ポイント(40pips)上回ったら決済逆指値は建値+300ポイント(30pipis)と変更されていきます。
また、パラメーター「GoBack」がtrueに設定されていてポジションの決済指値が建値より大きい場合は、決済指値の値が「TrailPoint」で設定した値幅に引き下げられます。
なお、「TrailPoint」に0を指定した場合はトレールは行われませんので、トレールを行いたくない場合は0に設定します。。時間決済機能
ポジションを建てた日時からパラメーター「CutTime」で指定した時間が経過したら、ロングポジションの場合、現在のレートが建値+パラメーター「CutPoint」より大きい場合にポジションを決済し、 ショートポジションの場合、現在のレートが建値-パラメーター「CutPoint」より小さい場合にポジションを決済します。
パラメーター「CutPoint」にはマイナスの値を設定することもできます。
実行ファイルのダウンロード
zip形式で圧縮されていますので、解凍してご利用ください。
インストール方法
MetaTrader 4(以下MT4)にエキスパートアドバイザ(以下EA)をインストールするには、 まず、MT4のメニュー「ファイル」から「データフォルダを開く」をクリックし、 開いたフォルダの配下にある「MQL4」-「Experts」にファイル「PositionKeeper.ex4」をコピーします。
MT4の「ナビゲーター」ウィンドウのエキスパートアドバイザを選択し、右クリックで表示されるメニューで「更新」を選択すると、 エキスパートアドバイザにコピーしたEAが表示されます。
次に、EAを適用させたいチャートを開き、「ナビゲーター」ウィンドウにあるEAをチャートにドラッグ&ドロップすると、 EA設定の画面がポップアップ表示されますので、パラメーター等の設定を行いOKボタンをクリックします。
チャートの右上に表示されるニコちゃんマークが、スマイルになっていれば正しくインストールされています。
パラメーター説明
TradeType
管理対象となるポジションの種類を指定します。0の場合はロング、ショートのどちらも対象となります。1の場合はロングのみ対象となります。2の場合はショートのみ対象となります。
Slippage
ポジションを決済する際に注文価格と約定価格の差(スリッページ)をどの程度許容するかを設定します。許容範囲を超えた場合、注文は約定されません。
TrailPoint
トレールの値幅をポイント数で指定します。
レートが建値から指定ポイント数×2を超えた場合に、決済逆指値が建値+(n-1)×指定ポイント数に変更されます。
TrailPointを小さくすると、相場状況によってはすぐに逆指値に達してしまい十分な利益を得られないことも考えられますので、
ボラティリティの大きな通貨ペアの場合は大きめの値に設定します。
GoBack
相場がポジションと逆行した場合に決済指値を変更するかどうかを指定します。
現行レートが建値からTrailPointで指定したポイント数の2倍を超えて逆行した場合、TrailPointの値幅に決済指値を引き下げます。
デフォルトはfalse(行わない)になっています。また、決済指値が指定されていない(0の)場合は決済指値の変更は行われません。
CutTime
指定した時間を経過したら決済処理を行うかどうかを指定します。1以上の値が指定されていて、かつレートが建値+CutPointで指定したポイント数を超えていた場合に決済処理が行われます。
0を指定した場合は決済処理は行われません。
CutPoint
指定した時間を経過したら決済処理を行うかどうかの判定で、建値にこのポイント数を加算した値が現行レートを超えている場合に決済処理が行われます。
MagicNumber
マジックナンバーです。裁量トレードで建てたポジションを管理する場合を0を設定します。
ソフトウェア使用許諾契約書
本ソフトウェアをご利用いただくためには、ソフトウェア使用許諾契約書に同意していただく必要があります。
欲ブタさん(https://twitter.com/buhibuhi_FX)が完全無料で配布されているナンピンマーチンEA「NPNM_v3」をバックテストしてみました。
期間は 2021/05/01 - 2021/12/31、通貨ペアはドル円(USDJPY)でロングのみ、チャートは1時間足。
パラメーターは、デフォルトのままだとちょっとアレなので一部変更しています。
ベースロットは0.1、ナンピン回数は5回で累計ロットは最大で3.1ロットになるようにしています。資金管理機能は使っていません。
今回のバックテストで使用したパラメーターのセットファイルのダウンロード
昨年(2021年)5月以降ドル円は上昇していますので、当然収益はプラスになるのですが、トレンドの方向に沿って運用すればかなり使えそうな感じです。
ただ、累計の最大ロット数が3.1ロットですと、国内ブローカーでは証拠金100万円じゃ足りないですね。ベースロットは0.01で証拠金は20万くらいで運用でしょうか。
C言語のstrlen関数では文字列の長さとして返ってくる値はバイト単位となるので、UTF-8でエンコードされている場合、漢字、ひらがな、カタカナなどは1文字で3となってしまいます。
Webアプリケーションのテキスト処理ではそれでは不都合な場合もことも多いので、半角英数も全角文字(漢字、ひらがな、カタカナなど) も1文字としてカウントする関数を作成することにします。
#include <stdio.h>
#include <string.h>
int strlen_utf8(char *cp);
int _bytesize(unsigned char code);
int main(void)
{
char *testAscii = "ABCDEFG";
char *testHira = "あいうえお";
char *testKata = "アイウエ";
char *testKanji = "愛々木";
char *testAll = "ABCDEFGあいうえおアイウエオ愛夢佐々木";
printf("strlen(testAscii) = %d\n", strlen(testAscii));
printf("strlen_utf8(testAscii) = %d\n", strlen_utf8(testAscii));
printf("strlen(testHira) = %d\n", strlen(testHira));
printf("strlen_utf8(testHira) = %d\n", strlen_utf8(testHira));
printf("strlen(testKata) = %d\n", strlen(testKata));
printf("strlen_utf8(testKata) = %d\n", strlen_utf8(testKata));
printf("strlen(testKanji) = %d\n", strlen(testKanji));
printf("strlen_utf8(testKanji) = %d\n", strlen_utf8(testKanji));
printf("strlen(testAll) = %d\n", strlen(testAll));
printf("strlen_utf8(testAll) = %d\n", strlen_utf8(testAll));
return 0;
}
/* UTF-8でエンコードされた文字列の文字数を取得 */
int strlen_utf8(char *cp)
{
int textlen = strlen(cp);
int pos = 0;
int count = 0;
while (pos < textlen) {
unsigned char code;
code = *(cp + pos); /* ASCIIコード値を取得 */
int bytelen = _bytesize(code);
pos += bytelen;
count++; /* 文字数をカウント */
}
return count;
}
/* 文字のバイト長を求める */
int _bytesize(unsigned char code)
{
int size = 1;
int i;
if (0x80 & code) { /* 1バイト文字以外 */
for (i = 2; i <= 8; i++) {
code <<= 1;
if (!(0x80 & code)) {
break;
}
size++;
}
}
return size;
}
strlen_utf8関数では、1バイト目のASCIIコード値をパラメータとして_bytesize関数を呼び出して文字のバイト数を求め、1文字分の処理を行うたびに文字数をカウントアップしています。
また、_bytesize関数ではパラメータで渡されたコード値の場合の文字のバイト数を、コード値のビットの状態から判定して戻り値として返しています。
プロクラムの実行結果は以下のようになります。
kagahiro@kagahiro-PC ~/sample/c
$ ./strlen_utf8
strlen(testAscii) = 7
strlen_utf8(testAscii) = 7
strlen(testHira) = 15
strlen_utf8(testHira) = 5
strlen(testKata) = 12
strlen_utf8(testKata) = 4
strlen(testKanji) = 9
strlen_utf8(testKanji) = 3
strlen(testAll) = 52
strlen_utf8(testAll) = 22
アクセスランキング
今日のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (11 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (6 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (4 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (4 PV)
- [将棋]将棋メイド「押木ゆい」さん考案の新戦法「メイドシステム」が大人気 #将棋ウォーズ初段 (3 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (3 PV)
- MT4向けヘッジ(両建て)ツール(EA)「STOPPER FREE」を無料公開 #自動売買 #FX (2 PV)
- [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (2 PV)
- Google News (グーグルニュース)日本版 (2 PV)
- EAの運用にVPSを利用するメリット #FX (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3126 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (522 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (460 PV)
- ガンマトレード(ガンマプレイ)とは #FX #用語解説 #オプション取引 (334 PV)
- Google News (グーグルニュース)日本版 (217 PV)
- 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (207 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (176 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」をバージョンアップ(Ver 2.04) (173 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (162 PV)
- 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (147 PV)
アクセス統計
ディレクトリ
関連サイト