fc2ブログ

01 « 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.» 03

不労所得で生活できるのか?

主にMT4関連のツールやEAを作ってます。 夢の自動集金マシン(?)は存在するのか・・・。

【MT5TradeCC】受信側EA(Receiver)のパラメータについて 

Receiver64の各パラメータについて説明します。



・コピーする元通貨ペア(未入力時は全通貨ペア。半角カンマで区切る)
コピー対象の通貨ペアを限定する場合に指定します(例:USDJPY,EURJPY)。

・コピーを拒否する元通貨ペア(半角カンマで区切る)
コピー対象から除外する通貨ペアを指定します(例:GOLD,GBPJPY)。

・通貨ペア名置換(コピー元=コピー先)半角カンマで区切る
通貨ペア名を置き換えるときに指定します(例:GOLD=XAUUSD)。

・コピー元通貨ペア名の前に付加する文字列
コピー先の通貨ペア名の先頭に文字列を追加する必要があるときに指定します。

・コピー元通貨ペア名の後ろに付加する文字列
例えばスタンダード口座をマイクロ口座にコピーする時や、ゼロ口座をスタンダード口座に
コピーするときに指定します(例:micro)。

・コピー元通貨ペア名から除外する文字列
例えばプロ口座をスタンダード口座にコピーするときに指定します(例:pro)。

・ロットを証拠金から計算する場合はtrue
オーダーロット数を現在の余剰証拠金から計算するときにtrueとします。
一度に複数ポジションを持つようなEAには向きません。
false:しない(規定値)、true:する

・0.01ロット当たりの必要証拠金
上記がtrueの時、意味を持ちます。現在の余剰証拠金÷値でロット数を計算します。

・固定ロットの場合はtrue
コピー元のロット数に関係なく固定ロットでオーダーするときにtrueとします。

・固定ロット数
上記がtrueの時、意味を持ちます。

・オーダー倍率
上記がfalseの時、意味を持ちます。コピー元のロット数に乗ずるロット倍率です。

・両建てを許すか?
trueのとき両建てオーダーを実行します。
この値がfalseなら現在ポジションと逆の新規売買オーダーを無視します。
true:許す(規定値)、false:許さない

・新規オーダーを無視するか?(ModifyとCloseのみ有効ならTrueにする)
コピー元EAに見切りをつけて新規オーダーはしないけど、
現在ポジションのクローズは任せる様なときにtrueとします。
false:しない(規定値)、true:する

・最大ロット数(100=一千万通貨単位)
新規オーダー時の最大ロット数を指定します。

・コピー元最小ロット数(主にナンピン序盤排除用)
ナンピン系EAをコピーする時、序盤はコピーせず途中のナンピンからコピーする時等に開始ロットを指定します。
コピー元ボリュームが、ここで指定したロット数以上の場合、コピーします。

・オープンオーダーの時間遅延をチェックするか
コピー元からどのくらい遅れたオーダーまで許すかを指定します。
false:しない(規定値)、true:する

・オーダー許容遅延時間(秒)
上記がtrueの時、意味を持ちます。許容秒数を指定します。

・最小証拠金維持率(%)
証拠金維持率がこの値を下回っているときは新規オーダーを行いません。
規定値200%

・TP/SLの価格をコピーする場合はtrue
利確価格、損切価格もコピーする場合にtrueとします。
コピー先に手動で入力したい場合はfalseのままにします。
false:しない(規定値)、true:する

・TP/SL、待機オーダーの価格を変更する場合はtrue
上記がtrueの時、意味を持ちます。
コピー元の利確価格、損切価格、指値が変更された時に反映させる場合はtrueとします。

・スプレッドをチェックする
指定スプレッド以下の時コピーするように指示します。
false:しない(規定値)、true:する

・許容スプレッド(pips)(この値以下なら発注)
上記がtrueの時、意味を持ちます。

・許容スリッページ
新規オーダー時の許容スリッページをpips単位で指定します。

・マジックナンバー
このEAの新規オーダーに付けるマジックナンバーです。
1つの口座の複数チャートにEAをせっとする場合、各EAのマジックナンバーはダブらないように設定します。

・デバッグ用
デバッグ用のメッセージをエキスパートログに出力します。
false:通常モード(規定値)、true:デバッグモード

・共有メモリスロットNo
コピー元で指定した番号と一致させます。

・ポジション数が変わった時にメールするかどうか
送信元のトレード内容が変化したときにメール送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する
MT4の【ツール】-【オプション】-【E-メール】での設定が必要です。



・シグナルメモ的な何か
チャートコメントに表示されるコメントを(必要なら)入力します。



・LINE Notifyを送信するか
true:送信する(規定値)、false:送信しない

・LINEのアクセストークン
LINEサイトで取得したアクセストークンをコピペ

・新規建時にLINE送信するか
ポジションを持った時にLINE送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する

・決済時にLINE送信するか
ポジション決済時にLINE送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する

・定時連絡で口座情報をLINE送信するか
一日一回、口座状況を送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する

・定時連絡時分(HHMM)
上記がtrueの時、意味を持ちます。
送信時刻をローカル時刻の時分で指定します(例:午前8時・・・800、午後10時半・・・2230)

・曜日別休止1~6
しない、毎日、月、火、水、木、金、土を選択します。

・曜日別休止1~6開始時分
上記が「しない」以外の時意味を持ちます。
休止開始時刻をローカル時刻の時分で指定します。(例:午前5時30分・・・530、午後1時・・・1300)

・曜日別休止1~6終了時分
上記が「しない」以外の時意味を持ちます。
休止終了時刻をローカル時刻の時分で指定します。
開始時分>終了時分の場合は、0時から終了時分までと、開始時分から23時59分まで休止となります。

ヤフオクではコピー先を1口座に限定した製品を格安で販売しております。

コピー先をデモ口座に限定したトライアル版はこちらからダウンロードできます。
スポンサーサイト



2024/02/26 Mon. 14:46 | trackback: -- | comment: -- | edit

【MT5TradeCC】送信側EA(Transmitter)のパラメータについて 

【MT5TradeCC】送信側EA(Transmitter64)のパラメータについて

Transmitter64の各パラメータについて説明します。



・送信対象マジックナンバー(半角カンマで区切る)
特定のマジックナンバーを有するトレードだけをコピーするときに指定します。
複数のマジックナンバーを指定する場合は半角のカンマで区切ります。制限しない場合は未入力状態にします。

・TargetComment
特定のコメントを有するトレードだけをコピーするときに指定します。
未指定の時はコメント内容と無関係にコピーされます。

・SendStandByOrder
待機オーダー(指値、逆指値注文)を送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する

・共有メモリスロットNo
複数のMT4口座をコピーする場合に使用する中間バッファを指定します。
例えばA、B、C口座をX口座にコピーしたり、AをB、CをDにコピーする場合等です。
0~15までの16スロットが指定できますが、単純な1:1のコピーでは、
特にこの値を考慮する必要はありません。

・ポジション数が変わった時にメールするかどうか
送信元のトレード内容が変化したときにメール送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する
MT4の【ツール】-【オプション】-【E-メール】での設定が必要です。



・シグナルメモ的な何か
チャートコメントやSlotViewで表示されるコメントを(必要なら)入力します。





・Debug
デバッグ用のメッセージをエキスパートログに出力します。
false:通常モード(規定値)、true:デバッグモード

・UseFTP
ポジション情報をFTPに送信するかどうかを指定します。
false:送信しない(規定値)、true:送信する
MT4の【ツール】-【オプション】-【FTP】での設定が必要です。



ヤフオクではコピー先を1口座に限定した製品を格安で販売しております。

コピー先をデモ口座に限定したトライアル版はこちらからダウンロードできます。

2024/02/22 Thu. 13:40 | trackback: -- | comment: -- | edit

【MT5TradeCC】複数のMT5口座から1つのMT5口座にレードをコピーする方法 

【MT5TradeCC】複数のMT5口座から1つのMT5口座にレードをコピーする方法

複数のMT5口座から単一MT5口座にレードを集約してコピーする方法について説明します。

prfx

ポイントは2つです。

①送信側、受信側ともに口座毎に共有メモリスロットNoを変える

②受信側はEAをセットするチャート毎にマジックナンバーを変える

【送信側】

Transmitter64のパラメータ入力で、共有メモリスロットNoの値を口座毎に0、1、2・・・と変えていきます。



※コピー情報の共有メモリ仕様は【MT4TradeCC】と共通なので、送信側をMT4とすることも可能です。

【受信側】

送信元口座数の分だけチャートを開き、それぞれのチャートにReceiver64を配置します。

Receiver64のパラメータ入力で、共有メモリスロットNoの値は

Transmitter64で設定した値(0、1、2・・・)に一致させます。

また、ポジション判定の競合を避けるためにそれぞれのチャートのマジックナンバーを

ユニークにします。

この時、マジックナンバーの値自体は0以外なら何でも良いのですが、

重要なのは他のReceiver64と重複しない様に設定することです。



ヤフオクではコピー先を1口座に限定した製品を格安で販売しております。

コピー先をデモ口座に限定したトライアル版はこちらからダウンロードできます。
2024/02/16 Fri. 08:55 | trackback: -- | comment: -- | edit

【MT5TradeCC】遅ればせながらMT5版のコピートレードツールのリリース! 

MT5TradeCCは同一PC(または仮想PC)内に起動した、複数のMT5口座間でトレードをコピーするツールです。

送信側、受信側にそれぞれ専用EAをセットして稼働させます。



1:1、1:多、多:1、多:多のコピーが可能ですが、

とりあえず一番簡単な1:1のコピー設定について説明します。

<MT5TradeCCのファイル構成>

MT5TradeCC.zip

├─MQL5
│ ├─Experts
│ │  Transmitter64.ex5 ・・・送信側EA
│ │  Receiver64.ex5   ・・・受信側EA
│ └─Libraries
│    CopyTrade64.dll  ・・・トレード情報管理用、共有メモリマネージャ
├─説明書
│   MT5TradeCC説明書.pdf ・・説明書
└─SlotView
    copytrade.dll    ・・・32bit版共有メモリマネージャDLL
    SlotView.exe     ・・・トレード情報モニタ(32bitアプリケーション)

●送信側設定

送信側のMT5を起動し、メニューの【ファイル(F)】-【データフォルダを開く(D)】を選択します。



開いたMT5フォルダの中のMQL5\ExpertsにTransmitter64.ex5、MQL5\LibrariesにCopyTrade64.dllをコピーします。







ナビゲータウィンドウの【エキスパートアドバイザ】を右クリックし、ポップアップメニューの【更新】を選択します。



【エキスパートアドバイザ】の中のTransmitter64をチャートにドラッグしてドロップします(通貨ペア、時間足は任意)。



表示されるダイアログボックスの「仕様」タブの、【DLLの使用を許可する(信頼できるアプリケーションのみで有効)】にチェックを入れます。



ダイアログボックスのOKボタンをクリックします。



MT5画面に戻りチャート右上のEAマークを確認します。



●受信側設定

送信側と同様にメニューの【ファイル(F)】-【データフォルダを開く(D)】を選択します。



開いたMT5フォルダの中のMQL5\ExpertsにReceiver64.ex5、MQL5\LibrariesにCopyTrade64.dllをコピーします。







ナビゲータウィンドウの【エキスパートアドバイザ】を右クリックし、ポップアップメニューの【更新】を選択します。



【エキスパートアドバイザ】の中のReceiver64をチャートにドラッグしてドロップします(通貨ペア、時間足は任意)。



表示されるダイアログボックスの「仕様」タブの、【DLLの使用を許可する(信頼できるアプリケーションのみで有効)】にチェックを入れます。



ダイアログボックスのOKボタンをクリックします。



MT5画面に戻りチャート右上のEAマークを確認します。



●トレード情報モニタ

コピーされるトレード情報をモニタするツールです。

コピー動作には影響しないので、通常は起動する必要はありません。

SlotView.exeとcopytrade.dllを任意の同一フォルダに格納します。

SlotView.exeを起動すると送信側から出力されているポジション情報を参照できます。

prfx

MT5TradeCCは、このページのリンクからXMの口座を開設して頂いた方に無償で配布致します。
※但し、コピー先は開いて頂いた口座限定となります。
ご希望の方は、口座開設後、左のメールフォームから

・開設した口座番号
・メールアドレス

を明記してお申し込み下さい。

また、ヤフオクではコピー先を1口座に限定した製品を格安で販売しております。

コピー先をデモ口座に限定したトライアル版はこちらからダウンロードできます。
2024/02/15 Thu. 10:40 | trackback: -- | comment: -- | edit

【SendLine64.dll】MT5からLINEへメッセージや画像を送信する64bitDLL 

SendLine64.dllはWindowPCの64bitアプリケーションからLINEへのメッセージ送信ができるDLLです。

SendLine64.dllは、MT5のEAやIndicatorに限らず、DLL呼び出しが可能なプログラム言語からも呼び出すことが出来ます。

【使用方法】

まず、こちらで解説した方法でLINEのサイトからパーソナルアクセストークンを取得します。

ヤフオクからライセンスを購入し、上記で取得したアクセストークンを取引メッセージにてお知らせ下さい。

次にSendLine64.zipをダウンロードして解凍します。

SendLine64.zipのファイル構成
■SendLine64
  │ SendLINE64の説明.pdf
  │ 説明その2(インジケータ).pdf
  ├─cpp
  │ │ sample.exe
  │ │ sample.png
  │ │ SendLine64.dll
  │ │ 
  │ └─source
  │     sample.cpp
  │     sample.vcxproj
  │     sample.vcxproj.filters
  │     sample.vcxproj.user
  │     SendLine64.h
  │     SendLine64.lib
  └─MQL5
    ├─Experts
    │   sl64sample.mq5
    ├─include
    │   SendLine64.mqh
    ├─Indicators
    │   PositionNotify.mq5
    │   SendChart.mq5
    └─libraries
        SendLine64.dll


続いて以下の手順で、動作に必要なファイルをMT5のフォルダに配置していきます。

MT5を起動し、メニューの【ファイル(F)】-【データフォルダを開く(D)】を選択します。



MQL5フォルダ内のIndicatorsフォルダにSendChart.mq5、PositionNotify.mq5をコピーします。



IncludeフォルダにSendLine64.mqh(インジケータのコンパイル時に必要)をコピーします。



LibrariesフォルダにSendLine64.dll(実行時に必要なDLL本体)をコピーします。



ナビゲータウィンドウの【指標】を右クリックし、ポップアップメニューの【更新】を選択します。



【指標】の中のSendChartをチャートにドラッグしてドロップします。



表示されるダイアログボックスの「仕様」タブの【自動売買を許可する(信頼できるアプリケーションのみで有効)】にチェックを入れます。



「インプット」タブの「ラインのアクセストークン」欄に上で取得したLINE Notifyのパーソナルアクセストークンを入力しOKボタンをクリックします。



SendChartは新しい時間足毎に、メッセージとチャートのスクショをLINE送信するインジケータです。

設定に誤りが無ければLINEにメッセージとスクショが表示されます。



SendChartのソースコードを掲載します。

#include <SendLine64.mqh>

//--- input parameters
input string AccessToken = ""; //ラインのアクセストークン
input string Note = ""; //メモ的な何か

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
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[])
{
static datetime latest_time = 0;

if(latest_time != iTime(Symbol(), Period(), 1)){
latest_time = iTime(Symbol(), Period(), 1);

SetAccessToken(AccessToken);

int ret = 0;
string Message;
Message = Note;
if(Note != "")
Message = Message + "\r\n";
Message = Message + Symbol() + " " + TimeToString(TimeLocal(), TIME_DATE|TIME_SECONDS);

string Filename = "chart.png";
string Path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + Filename;

if(!ChartScreenShot(0, Filename ,640, 480)){
Print("Error in ChartScreenShot():", GetLastError());
}else{
ret = SendLineWithImage(Message, Path);
}
if(ret == 0){
Print("Send [", Message, "]");
}else{
Print("SendLine error code:", ret);
}
}

return(rates_total);
}


2024/02/07 Wed. 11:05 | trackback: -- | comment: -- | edit