SSブログ

FX暗中模索中・・・っていうか・・・ちょっと挫折中・・・ [投資]

光が見えてこないです・・・

以下に示すメチャクチャ高い本ではドンチャンのブレイクアウトシステムは為替(特にUSD/JPY)と相性良さそうなのですが・・・

トレーディングシステム徹底比較 第2版 - 日本市場の全銘柄の検証結果付き

トレーディングシステム徹底比較 第2版 - 日本市場の全銘柄の検証結果付き

  • 作者: ラーズ ケストナー
  • 出版社/メーカー: パンローリング
  • 発売日: 2000/07
  • メディア: 大型本


ドンチャンのブレイクアウトシステムに移動平均のフィルタを追加してみたり、手仕舞いを2ATRのトレーリングストップにしてみたりと色々試してみましたがエッジを見いだせません(涙)


正直、ちょっと挫折中です。

いや、自作の株のシステムトレードが相場にも助けられて好調だったりするのでFXを研究するモチベーションが低下中なんですよねぇ。

まあ、自作の株のシステムトレードはバックテストよりも良い結果が出ているので、裏を返せばもうすぐドローダウンすると思われます。
「節分天井彼岸底」って言いますしね。

ドローダウンが起これば、自然とFXへのモチベーションが復活して来る事でしょう(笑)


光も見えてこないしFXの研究は少し休もうかなぁ・・・


カウンタートレンドのルールとか試してみればエッジを見つけられるかもしれないけど、そもそも「トレンドフォローで儲けられるようになりたい。」ってのがFXに手を出す理由だしね。


FXのシステムトレードでトレンドフォローで利益を出せている方がいらっしゃったらコメント欄にヒントを書きこんでいただけると助かります。


って、それは都合良すぎですよね。
やっぱり自分で頑張らないとなぁ・・・

株のシステムがドローダウンするまでFXは休んで英気を養いますか。
行き詰まっている時って、一休みするとフッと解決法を思いつく場合もありますものね。


nice!(6)  コメント(0)  トラックバック(0) 
共通テーマ:マネー

MQL4ってプログラミング環境としてはちょっと貧弱かも? [投資]

相変わらずメタトレーダーと格闘中です。
調べた事を以下に箇条書きにします。


start()関数はマルチスレッドなのか?:
調査するために以下に示すようなEAを作って実験してみました。
--ここから--
int start() {
if (IsTradeAllowed()) {
Print("IsTradeAllowed()=true");
} else {
Print("IsTradeAllowed()=false");
}
Sleep(10000);
return(0);
}
--ここまで--
実行結果を以下に示します。

startTest.jpg

思ったよりティックしていないので、ある通貨ペアでstart()実行中にティックが発生した場合のテストになっていないかも?
Sleep()に指定するミリ秒をもう一桁大きい値にしておけばよかったな・・・

ただUSD/JPYとEUR/JPYで同時にstart()が実行された場合のテストにはなっていると思います。
IsTradeAllowed()はすべてtrueを返してますね・・・
start()ってマルチスレッドじゃなくてマルチプロセスなのかな?
いずれにしても、IsTradeAllowed()の使い方はよくわからないですね。
リファレンスを見ても
Returns TRUE if the expert is allowed to trade and a thread for trading is not occupied, otherwise returns FALSE.
エキスパートがトレードを許可されて、トレードのスレッドが占有されていない場合は、TRUE を返し、そうでない場合は、FALSE を返します。

としか書いていないし・・・
まあ、この文章を読む限りマルチスレッドで間違いなさそうだけど・・・
この説明だけじゃよくわからないですよね。
MQL4ってグローバル変数を多用する思想みたいだけど、グローバル変数にアクセスする際にロックする関数とか無さそうだし・・・
まあ、お客様のために書くコードじゃないんで、この辺りは深く考えずにFXメタトレーダー実践プログラミング (現代の錬金術師シリーズ)がライブラリ化してくれているトレード関数を使った方が良さそうですね。



Macからだとコーディングし難い(笑):
私はMacからVMを使ってWindows2000を起動して、そこでメタトレーダーを動かしています。
っで、コーディングをメタエディターを使って行うわけですが・・・
Macユーザの方ならわかってもらえると思いますが、Macのキーボードってcontrolキーがshiftキーの上に付いているんですよね。
Macの場合commandキーっていうのがあって、コピー&ペーストとかはcommand+c→command+vだったりします。
でもWindowsではcontrol+c→control+vだったりします。
なのでcontrolキーを押し難いはMac環境とWindows環境で使うキーが違うはでとにかく使い難いです(笑)
メタエディター自体もスペースやタブを表示してくれなかったり、自動生成する雛形のカッコの付け方が私のコーディングスタイルと違ったりと、とにかく使い難いです。
インデントがスペース三個ってのも個性的っていうか微妙ですよねぇ。
インデントはタブ派の私には合わないです。
メタエディターの設定でインデントは変更できるのですが、雛形には反映されないんですよね・・・
eclipseみたいにインデントの自動整形機能とかあれば良いのに・・・



やっぱりスワップポイントを調べる関数は無いですね・・・:
FXにはスワップポイントというものが存在する以上、スワップポイントが貰える方向に多少はバイアスがかかっていると思うのですが・・・
「リファレンスに載っていないだけで、隠し関数として通貨ペアを指定してスワップポイントを返す関数があるんじゃね?」と思いmqhファイルを漁ってみましたが、やはりそのような関数は無いようです。
う〜ん。やっぱりFXってデイトレが基本なのかなぁ・・・



総評:
MacからVMでWindowsを起動して使っているという私の事情を差し引いて考えても「MQL4はプログラミング環境としては少し貧弱かなぁ?」と思います。
MQL5ではその辺り改善されているのだろうか・・・
しかしMQL4が普及してしまっている以上、MQL5を積極的に採用するFX業者は少ないでしょうし、ある程度割りきってEAを作成して行くしか無さそうですね・・・


nice!(5)  コメント(0)  トラックバック(0) 
共通テーマ:マネー
Related Posts Plugin for WordPress, Blogger...

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。