MizuToriEAに関しての質問(初心者用)

EA(自動売買)の使用について

MizuToriEAに関しての質問(初心者用)

投稿記事by tubasa on 2010年2月21日(日) 22:51

こんばんは。はじめてまして、tubasaと申します。最近MizuToriのEAを知りました。
このEAを通してプログラム作成について勉強しいつか自分でもEAを作れるようになればと思っております。

 早速質問ですが、今はMizuTori23.1_Custom_EAのバージョンで勉強させてもらっていますが、
求められた値MaShift、MaLimtShiftを移動平均線等を求める式に代入されていて、かつ時間帯によっても値が変化できるように設計されていますが、
どのような意味合いがあるのでしょうか?移動平均線をシフトすること自体どのような意味があるのかよく理解できていません。
どなたか詳しく解説をお願いいたします。
tubasa
 
記事: 4
登録日時: 2010年2月21日(日) 22:27

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by bighope on 2010年2月23日(火) 23:42

tubasaさんへ
はじめまして、たぶんこの質問に対して、私しか答えることができないと思いますので書き込みます。
まず、このEAを作成するにあたり私が取った手法?方法から説明します。
元祖Firebirdの心臓部の指標(インジケーター)は、エンベロープ【http://www.k3.dion.ne.jp/~forex/tc/envelope.htm】です。
私は、まずエンベロープをチャートに表示させてチャートの転換点に合わせる作業をしました。
しかし、ボラ(値幅)の違いによる不具合が多く発生しました。(取引回数が少なすぎる等)
そこで、ボリンジャーバンドのように、ボラ(値幅)による巾の変化を考慮に入れるのではなく
『過去のエンベロープを基準にする、つまりshiftさせる方法を取りました。』
shiftさせると、させない時より緩やかなチャートの転換点も拾う事が出来ます。(一度、指標を表示させて試してみてください)
そして、時間ごと(タイムゾーンごと)にshiftを変化させることで調整しようとする試みがタイムゾーンごとのshiftの変化となります。
こんな感じだったと思います。
基本は、『チャートに指標を表示し、不具合を修正する』の繰り返しで作ったEAです。
ご参考までに!
bighope
 
記事: 122
登録日時: 2008年4月18日(金) 17:45

bighope さんありがとうございます

投稿記事by tubasa on 2010年2月24日(水) 22:16

 詳しい解説ありがとうございます。なかなか奥の深いEAで理解するには相当な時間を必要そうですね。
せっかくご解説頂いたのに正直理解できているのは5割程度かと思います。汗 まずは本スレを読破すればきっと少しずつ見えてくるので、
また何かにぶつかった時には質問させて下さい。早く本スレで皆様と議論したいです :D
 皆様にお願いですが、ミズトリは現在様々なバージョンが出ていますが、オススメのバージョンあれば教えて頂けないでしょうか。
インジケータを合わせて添付して頂けると助かります。汗
tubasa
 
記事: 4
登録日時: 2010年2月21日(日) 22:27

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by chinposize18cm on 2010年2月28日(日) 01:28

作者様を前にして恐縮ですが、私が思うシフトに関しての意見です(特に検証とか行っていません)。
MAを例にしますと、MAの値をよく観測すると、遅延が生じています。
過去のn本のデータからの計算値ですから、単純計算で(1/2)×n遅れます。
実際MT4上でSMAを表示させ、(1/2)×n過去側にシフトさせると、値動きとSMAが一致することが理解できると思います。
しかし一番欲しい現在値は将来の値を参照することになり、使用できません。
ではどうするかですが、値動きには波動的な動きがあることで、シフトさせる事で一波前の波動的には同位置から値から値を取得する効果があるのではないかと想像しています。
実際波動で考えると、周期は安定してませんし、波動自体、歪、オフセットがかかっています。このようのものをある程度補正すれば精度はさらにあがるのかなっと妄想しています。
現時点では、シフトは周期の統計的値にカーブフィティングしたものとの認識です。

以上、私の作りたい構想をにもなりますが書き込みしました。ご意見などぜひ御願いします。

PS.このHNでヤフーチャット株部屋1で割とでています。お暇な方お待ちしています。
尚、株1部屋は基地外、偽HNが多いのでそれなりのチャット技術が必要かもしれませんw
chinposize18cm
 
記事: 8
登録日時: 2009年1月31日(土) 21:52

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by bighope on 2010年3月01日(月) 00:49

chinposize18cmさんへ
確かにMAには遅延が存在し、それが欠点となっていますね。
ただ、『シフトさせる事で一波前の波動的には同位置から値を取得する』方法は、かなり難しいことだと思います。
参考に、下図の指標を見てくださ。

これは、ある手法によりチャートからSIN波成分を抽出したものです。
見て頂ければわかるように、規則的な波形が現れたとしても継続性がなく1サイクル過去の波形を利用することに疑問を感じるからです。

シフトさせて遅延を低減させるよりも、MAの異種(例:KAMA/MAMA/AYMA/ect)を使用したほうが得策だと思います。
多くの先人達が試行錯誤し、遅延を低減させています。
否定的な発言は、場違いだと思いますがお許しください。
では!
添付ファイル
sin.jpg
sin.jpg (139.3 KB) 表示回数: 4052 回
bighope
 
記事: 122
登録日時: 2008年4月18日(金) 17:45

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by chinposize18cm on 2010年3月05日(金) 02:30

bighope さん,貴重なご意見ありがとうございます。
参考用の分析チャートすばらしいですね。
分析用チャートは、トレンド未発生時には素直に周期が観測できるようですし。
トレンド発生時においても元周期の成分も観察できてる感じもします。
いや、これは参考になります。
またこの分析チャートを出すためのある手法も気になります。w

今回のご指摘を検討しながら、遅々ながら、いろんな事したいと思います。
ありがとうございました。
chinposize18cm
 
記事: 8
登録日時: 2009年1月31日(土) 21:52

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by jyoriri on 2010年3月16日(火) 12:09

こんにちは bighopeさん
常にうまくいくのかわかりませんが添付の波形は
きれいに位相ずれや周波数変化が検出できてアイデアとして面白いですね
位相差インジケータや周波数インジケータなどに変換してみると
有用な情報が得られそうな期待がありますね
jyoriri
 
記事: 5
登録日時: 2009年5月18日(月) 17:12

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by bighope on 2010年3月16日(火) 23:48

jyoririさんへ
自作なら公開できますが、書籍に記載されている指標なので公開することができません。
もし興味があるのでしたら以下の書籍を参考にしてください。
『ロケット工学投資法』著:ジョン・F・エーラース
EasyLanguage言語によるコードが記載されています。
bighope
 
記事: 122
登録日時: 2008年4月18日(金) 17:45

Re: MizuToriEAに関しての質問(初心者用)

投稿記事by jyoriri on 2010年3月17日(水) 01:28

bighopeさん 
ご紹介ありがとうございました

最近は特にpingの近いところにある大手のロボットのおかげで急速に値段が飛び
ノイズと予測しづらいインパルスのようなもので短い時間足は難しいですね
デジタル信号処理の応用は試したことあるんですが
なかなか有用な情報として使えていません
もろにそんな内容みたいなので興味あります。
とりあえずアマゾンでぽちっとしてみました
ちょっと高いけど10000倍になって戻ってきてくれるでしょう。
jyoriri
 
記事: 5
登録日時: 2009年5月18日(月) 17:12

質問です

投稿記事by tubasa on 2010年4月03日(土) 21:10

bighopeさん先日はアドバイス頂きありがとうございました。あれからC言語の基礎本を見ながら自分なりに勉強しています。
その中で疑問な点があったため質問させて頂きます。MizuTori23.1_Custom_EAのコードですが、
①最後に決済した注文を抽出する時にOrdersHistoryTotal( )-1;としていますが、なんのために1を引いているのでしょうか
②自作関数のClosePositions中にはRefreshRates();を使っていて自作関数のOrderPositionsでは使われていませんが、
 どういった理由の工夫でRefreshRates();を使っているのでしょうか?
③売りポジション決済条件『シグナル』コードの中で最後に
return(0);
}

//+------------------------------------------------------------------+
return(0);
}となっていますが、 return(0);を一つ削除したらコンパイルエラーとなりました。なぜreturn(0);が2回連続となっているのでしょうか?

④指標の計算コードの最後にPrint関数を入れて
double Dv = iStdDev(NULL,PERIOD_H4,Dv_Period,0,MODE_EMA,PRICE_CLOSE,0);
Print(" Dv ", Dv )
Dvの計算値はどのようなものになるのか見るのに便利ですが、BTする時に期間を今年の初めからにしても
直近の一日程度しか計算結果が表示されないのは、そういった仕様になっていると理解すればよろしいでしょうか?
tubasa
 
記事: 4
登録日時: 2010年2月21日(日) 22:27

次へ

Return to EA(自動売買)

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]

---- 友情リンク ----
FXDD Japan