fc2ブログ

08 « 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.» 10

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

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

【FXバックドラフト】ExpertsLogPeeperで自動化リベンジ! 



年内いっぱいで販売終了するらしい【FXバックドラフト】ですが、

以前、ぽちっとVT+EAやEA単独での自動化を試みました。

しかし、以下のような問題点があり中々思うような結果を出せませんでした_| ̄|○

・シグナルを取り逃がすことがある(iCustomでインジケータを呼ぶため)

・T/P、S/Lの値をうまく取得できない事がある(〃)

サイン自体は素晴らしい(?)ので「何とかならんかなぁ」と思い(;´д`)

【ExpertsLogPeeper】でもう一度チャレンジしてみました!

結果、ほぼ満足のいく結果を得ることができたので、

購入者限定(過去のご購入者も含む)で公開する事にしました。

ちなみに問題点の解決方法ですが1つめのは【ExpertsLogPeeper】ならシグナルを見逃すことはありませんし、

2つめの問題点については、ありがちなインジケータであれこれ計算してみたら、

おおよそ一致する値を導き出すことができました(*´ω`)

■用意する物
【PR】スプレッドの狭いMT4口座【pepperstone】
【FXバックドラフトPRO】
BDProSPX.zip

■ファイルの配置
0,BDProSPX.zipから、
1,nkf32.dllをMT4フォルダにコピー
2,BDProSPX.ex4をMT4フォルダ\expertsにコピー
3,ExpertsLogPeeper.dllをMT4フォルダ\experts\librariesにコピー
4,GetHtmlSrc.dllをMT4フォルダ\experts\librariesにコピー

これで以下のようなファイル配置になります。
MT4フォルダ(terminal.exeのあるフォルダ)
  │ nkf32.dll
  └─experts
    │ BDProSPX.ex4
    └─libraries
      ExpertsLogPeeper.dll
      GetHtmlSrc.dll

■注意点
シグナルは【FXバックドラフト】のアラート出力を捕まえるため、
取引したい通貨ペア、タイムフレームの分だけチャートに通常通り【FXバックドラフト】をセットし、
AlertOnプロパティをtrueにしておきます。


■EAのセットアップ
EA(BDProSPX.ex4)はどれか1つのチャートだけにセットします。EA1本で複数通貨のオーダーを賄います。


「全般」タブの「Allow DLL imports」にチェックを入れ、「Confirm DLL function calls」のチェックをはずします。
prfx

■EAのプロパティ(デフォルト値)
・Password(xxxxxxx)
 インフォカートの「受付番号」
prfx
※これが正しく入力されていないとオーダーされません。使用許可認証サイトへの「受付番号」登録は、ご購入から24時間以内に当方で行います。

・Lots(0.01)
 発注ロット数、デフォルトでは1000通貨単位

・TPvsSLis1vs1(false)
 T/PをS/Lと同じ値幅に一致させるならtrue・・・これだと勝率が50%を超えれば利益が出るヾ(--;)

・TakeProfitSign(1)
 TPvsSLis1vs1がfalseのとき採用リミット値1~3を指定

・CloseInversePosition(false)
 保有ポジションと逆サインが出たときポジションをクローズするならtrue

・MultiPosition(true)
 ポジションを持っているとき、同一通貨ペアの新たなサインでエントリーするならtrue

・AutoCloseByTPSL(true)
 T/P、S/Lが近すぎて刺さらなかったとき、価格がT/P・S/Lに到達で自動クローズするならtrue

・SleepHour1From(0)~SleepHour3To(0)
 休止時間帯を24時間で設定、from>toなら0~from時までとto~24時までが休止となる、3セットの論理和が休止時間帯

・Slippage(3)
 許容スリッページ

・MagicNumber(3193200)
 マジックナンバー

・OrderOpenMail(false)、OrderOpenMailSubject(BDProSPX Order Open)
 オーダーオープン時にメールを送るならtrue、そのときのメール件名

・OrderCloseMail(false)、OrderCloseMailSubject(BDProSPX Order Close)
 AutoCloseByTPSLによるオーダークローズ時にメールを送るならtrue、そのときのメール件名

■稼働確認
Expert Advisorsボタンを押し込まれた状態にしてニコニコマークを確認します。


■稼働状況
prfx

※ご使用に当たっては呉々も自己責任でお願いします。

「BDProSPX」のダウンロードは→こちら←をクリック。

いつも応援ありがとうございます。m(__)m
スポンサーサイト



2012/12/13 Thu. 10:19 | trackback: -- | comment: -- | edit

【バックドラフトPRO】自動売買EAの改良版ソース 

先日公開したEA(※リンク違ってた>_<)を少し改良してみました。

このEAの動作には、【FXバックドラフトPRO】が必要です。

【追加したパラメータ名:規定値】
・SleepHour1~3From:0
・SleepHour1~3To:0
 休止時刻を24時間で指定。FromもToも0なら無視される。

・StopLossShift:3.0
 バックドラフトPROから取得したストップ値を何pipsずらすか。値が+なら外側(ストップが遠くなる)にずらす。

・TakeProfitShift:-3.0
 バックドラフトPROから取得したリミット値を何pipsずらすか。値が-なら内側(利益縮小)にずらす。

・EntryOffset=100;
 これが100以外だとシグナルが出たときにすぐにエントリーしないで、
 少し押してからエントリーする様に指し値注文を出す。
 エントリー価格は現在価格、ストップ値、EntryOffsetから計算される。
 例えば買い注文で現在価格79円、ストップ78円、EntryOffset80なら
 78.8円、EntryOffset50なら78.5円で指し値注文する。

・EntryCancelIfTouchTP:true
 この値がtrueで、上記で指し値注文した場合、
 指し値にかからずリミット方向に動きリミット値に達したとき注文をキャンセルする。

・LifeMinutes:360
 指し値注文の有効期限を分単位で指定する。

「BDProSP2」のソースは→こちら←をクリック。

※どこかの掲示板で質問してあったので回答。SPはSign Peeperの略です。

最高で17位止まりでした。(>_<)

※2011/12/4 12:25 追記
サインの取得は前作より頻度が上がりましたが、全てのサインを拾えるわけではありません。

なぜ、サイン取得に失敗するかは仕様なので聞かないで下さい。

失敗しない方法があったら教えて欲しいです( ´,_ゝ`)

また、リミットとストップの取得に失敗した場合は、危険回避のためエントリーしません。

ストップが近すぎてオーダが通らなかったときはT/P、S/Lが0で表示されますが、

AutoCloseByTPSLがtrueの場合は内部的に配列に保持しているため自動決済されます。

int aiTicket[NUM_TPSL_ARRAY];
double adStopLossMul[NUM_TPSL_ARRAY];
double adTakeProfitMul[NUM_TPSL_ARRAY];

の部分です。

手動でT/PやS/Lを変更した場合は、一旦EAを止めないと決済価格を保持したままになります。

2011/12/04 Sun. 03:38 | trackback: -- | comment: -- | edit

【バックドラフトPRO】自動売買EAをソースで公開!(ぽちいらず) 

先日、【FXバックドラフトPRO】の自動売買に「ぽちっとVT」で対応したばかりですが、

よく考えると矢印サインもiCustomで取得した方が早いですよね?

またまた三流君を晒してしまいました。_| ̄|○

そういうわけで【バックドラフトPRO】+EAで自動売買できる様にしてみました。

これだとバックテストもできて、最適な通貨ペア、タイムフレームの

選択の手助けになると思います。

そしてなんとソース(BDProSP.mq4)で公開することにしました。/(^o^)\

好きな様に改造して使って下さい。

【パラメータ名:規定値】
・Lots:0
 発注ロット数。0ならRiskPercentageとストップ値幅で自動計算します。

・RiskPercentage:2
 リスク係数。規定値は2%です。

・BackdraftIndicator:K-FX-BACKDRAFT_PRO_V3
 通常変更しないで下さい。シグナルを取得するのにiCustom関数で必要です。

・Volatility_X:3
 バックドラフトPROのパラメータと一致させて下さい。

・target3:5.618
 バックドラフトPROのパラメータと一致させて下さい。

・password:0
 バックドラフトPROのパラメータと一致させて下さい。

・UseBackdraftStopLoss:true
 trueならストップ値(黄色い箱?)の位置を取得します。

・StopLoss:0
 ストップ値(pips)を自分で決める場合はUseBackdraftStopLossを
 falseにしてここにpips数を入力します

・UseBackdraftTakeProfit:true
 trueならリミット値(水色、青、紫)の位置を取得します。

・TakeProfitSign:1
 リミット値をどの色から取得するかを指定します。
 1:水色、2:青、3:紫です。

・TakeProfit:0
 リミット値(pips)を自分で決める場合はUseBackdraftTakeProfitを
 falseにしてここにpips数を入力します

・AutoCloseByTPSL:true
 内部にオーダー毎のストップとリミットを記憶しておき、毎ティック価格を
 チェックしてストップやリミットに達していれば自動でクローズを試みます。
 trueにしておくとストップが近すぎてオーダー変更が通らなかった時でも安心です。

・CloseInversePosition:true
 逆側のシグナル発生でポジションをクローズするかどうかを指定します。

・MultiPosition:false
 決済前に同一方向に連続してシグナルが出たときポジションを
 持つかどうかを指定します。

・Slippage:3
 許容スリッページです。

・MagicNumber:9811344
 手動で持ったポジションも逆シグナルでクローズしたいときは0にしておきます。

・OrderOpenMail:false
 ポジションを持ったときにメール送信するかどうかを指定します。

・OrderOpenMailSubject:Order Open
 メール件名(ポジションを持ったとき)

・OrderCloseMail:false
 ポジションをクローズしたときにメール送信するかどうかを指定します。

・OrderCloseMailSubject:Order Close
 メール件名(ポジションをクローズしたとき)

【FXバックドラフトPRO】自動売買EAのダウンロードは→こちら←をクリック。

このアフィリエイトリンクから【FXバックドラフトPRO】を購入して頂いた方には、特典として「ぽちっとVT」のライセンスキーをプレゼントします。特典は商材のダウンロードページからダウンロードして下さい。

いつも応援ありがとうございます。m(__)m
2011/11/12 Sat. 06:21 | trackback: -- | comment: -- | edit

【FXバックドラフト】EAに両建て機能追加 

【FXバックドラフト】用EAに両建て機能を追加しました。

Straddling・・・trueなら両建てを行う
StraddlingCoefficient・・・逆ポジションのT/P、S/L係数

例えば、買いサインでリミット:30pips、ストップ:15pipsでエントリーしたとします。

この時Straddlingがtrue、StraddlingCoefficientが0.8の時、

リミット:24pips、ストップ:12pipsで売りポジションを持ちます。

順調に値が動いた場合・・・30(リミット)-12(両建てストップ)=18pipsの利益
値が逆行した場合  ・・・24(両建てリミット)-15(ストップ)= 9pipsの利益

まぁ往復ビンタの場合は、27pipsの損なんですけどね・・・。

【ストップとリミット固定の設定例】
Lots = 0;
RiskPercentage = 1;
StopLoss = 15;
TakeProfit = 30;
Trailing = false;
AutoCloseByTPSL = true;
CloseByK_S = false;
CloseByBollingerbands = false;
Straddling = true;
StraddlingCoefficient = 0.8;

【ストップをインジケータから取得しリミットは2倍とする設定例】
Lots = 0;
RiskPercentage = 1;
UseBackdraftStopLoss = true;
BackdraftIndicator = "K-FX-BACKDRAFT_V8.8_PremiaX";
Volatility_X = 5; ・・・ インジケータのプロパティと一致させる
StopLoss = 0;
TakeProfit = 0;
TakeProfitCoefficient = 2;
Trailing = false;
AutoCloseByTPSL = true;
CloseByK_S = false;
CloseByBollingerbands = false;
Straddling = true;
StraddlingCoefficient = 0.8;

ダウンロードは→こちら←をクリック。

※このブログのアフィリエイトリンクから【FXバックドラフト】を購入して頂いた方には、特典として「ぽちっとVT」のライセンスキーをプレゼントします。特典は商材のダウンロードページからダウンロードして下さい。

応援クリックお願いします↓

2011/08/24 Wed. 14:06 | trackback: -- | comment: -- | edit

【FXバックドラフト】EA更新 

【FXバックドラフト】用EAを更新しました。

主な変更点は以下の通りです。

・有効証拠金、ストップ値、リスク係数からロット数を自動算出
・ストップ値とリミット係数からリミット値を自動算出
・ボリンジャーバンドでのポジションクローズ

■ロット数
Lotsが0以外の場合は固定ロットとなります。
Lotsが0の場合、RiskPercentageとストップpipsから次の式でロット数を計算します。
有効証拠金 × RiskPercentage ÷ 100 ÷ (ストップpips * TICKVALUE)
※TICKVALUE・・・MarketInfo(NULL, MODE_TICKVALUE)の値

■ストップ、リミット
UseBackdraftStopLossがtrueの場合、【FXバックドラフト】の初期ストップ値を取得します。
これはStopLoss(pips)の値より優先されます。
ストップ値またはStopLossからストップpipsを計算し、上のロット数が計算されます。
TakeProfitが0以外の場合はそのまま固定pipsとして採用されます。
TakeProfitが0の場合、ストップpips×TakeProfitCoefficientでリミットpipsが計算されます。

■ボリンジャーバンド
CloseByBollingerbandsがtrueの時、±nσにタッチした時にポジションクローズします。
BandsPeriodで計算する平均期間を、BandsDeviationで本線からの偏差を指定します。

【単純な固定ロット、固定ストップ、リミット】
Lots = 0.1;
UseBackdraftStopLoss = false;
StopLoss = 30;
TakeProfit = 45;
Trailing = true;
AutoCloseByTPSL = true;
CloseByK_S = false;
CloseByBollingerbands = false;

【初期ストップをFXバックドラフトから取得、リミットはストップの1.2倍、ロット自動計算(リスク2%)】
Lots = 0;
RiskPercentage = 2;
UseBackdraftStopLoss = true;
BackdraftIndicator = "K-FX-BACKDRAFT_V8.8_PremiaX";
Volatility_X = 5; ・・・ インジケータのプロパティと一致させる
TakeProfit = 0;
TakeProfitCoefficient = 1.2;
Trailing = true;
AutoCloseByTPSL = true;
CloseByK_S = false;
CloseByBollingerbands = false;

【初期ストップをFXバックドラフトから取得、K-Sインジケータでクローズ、ロット自動計算(リスク2%)】
Lots = 0;
RiskPercentage = 2;
UseBackdraftStopLoss = true;
BackdraftIndicator = "K-FX-BACKDRAFT_V8.8_PremiaX";
Volatility_X = 5; ・・・ インジケータのプロパティと一致させる
TakeProfit = 0;
TakeProfitCoefficient = 0;
Trailing = true;
AutoCloseByTPSL = true;
CloseByK_S = true;
CloseByBollingerbands = false;

【初期ストップをFXバックドラフトから取得、ボリンジャーバンドでクローズ、ロット自動計算(リスク2%)】
Lots = 0;
RiskPercentage = 2;
UseBackdraftStopLoss = true;
BackdraftIndicator = "K-FX-BACKDRAFT_V8.8_PremiaX";
Volatility_X = 5; ・・・ インジケータのプロパティと一致させる
TakeProfit = 0;
TakeProfitCoefficient = 0;
Trailing = true;
AutoCloseByTPSL = true;
CloseByK_S = false;
CloseByBollingerbands = true;
BandsPeriod = 20;
BandsDeviation = 2.0;

ダウンロードは→こちら←をクリック。

※このブログのアフィリエイトリンクから【FXバックドラフト】を購入して頂いた方には、特典として「ぽちっとVT」のライセンスキーをプレゼントします。特典は商材のダウンロードページからダウンロードして下さい。

応援クリックお願いします↓

2011/08/16 Tue. 07:15 | trackback: -- | comment: -- | edit