5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【MT4/MT5】 EA開発スレ Part9

1 :Trader@Live!:2011/07/17(日) 23:08:37.42 ID:wxE8f/bO
EAの開発をメインとしたスレです。
姉妹スレとの住み分けを考慮しながら利用しましょう。
姉妹スレとのマルチポストは止めましょう。
姉妹スレへ誘導された場合は素直に従いましょう。
長いソースを貼る時は>>2のアップローダーを利用しましょう。

▼前スレ
【MT4/MT5】 EA開発スレ Part8
http://kamome.2ch.net/test/read.cgi/livemarket2/1304178085/

▼過去ログ
【MT4】EA開発スレ Part1
http://anchorage.2ch.net/test/read.cgi/livemarket2/1260885415/
【MT4】EA開発スレ Part2
http://anchorage.2ch.net/test/read.cgi/livemarket2/1272739231/
【MT4】EA開発スレ Part3
http://kamome.2ch.net/test/read.cgi/livemarket2/1276729174/
【MT4】EA開発スレ Part4
http://kamome.2ch.net/test/read.cgi/livemarket2/1283178072/
【MT4】EA開発スレ【児童売買】
http://kamome.2ch.net/test/read.cgi/livemarket2/1283997762/
【MT4】EA開発スレ2【児童自動売買】 > 実質Part6
http://kamome.2ch.net/test/read.cgi/livemarket2/1294388535/
【MT4/MT5】EA開発スレ Part7
http://kamome.2ch.net/test/read.cgi/livemarket2/1298955679/

2 :Trader@Live!:2011/07/17(日) 23:08:54.11 ID:wxE8f/bO
・参考サイト
MQL言語リファレンス日本語翻訳マニュアル
http://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html

MetaTraderまとめWiki
http://hikaku.fxtec.info/metatrader/

・アップローダー
めたとれなうpろだ
http://u3.getuploader.com/mt

MetaTrader掲示板
http://bbs.fxtec.info/x/c-board/c-board.cgi?cmd=;id=metatrader

・姉妹スレ
MetaTrader Expert Advisors 23
http://kamome.2ch.net/test/read.cgi/livemarket2/1310337698/

【MT4/5】MetaTrader初心者専用26【ゆとり隔離スレ】
http://kamome.2ch.net/test/read.cgi/livemarket2/1306936578/

【MT4/MT5】インジケータ開発【ネタ募集】
http://kamome.2ch.net/test/read.cgi/livemarket2/1304547533/

◆ダブルオーのスレ◆EA.インジ製作
http://kamome.2ch.net/test/read.cgi/livemarket2/1298722517/

3 :Trader@Live!:2011/07/17(日) 23:19:47.30 ID:Rdnwj4Pw
乙です

プログラムは何とかなっても、結局手法の開発が難しいですな・・・

4 :Trader@Live!:2011/07/18(月) 01:10:40.70 ID:JPnddcZb
いきなり難問です。

このサイトどこだか覚えてる方いますか?
思い出せません。しかも、画像がちっさいです。

http://news.motto-jimidane.com/s/news2d1621.gif

5 :Trader@Live!:2011/07/18(月) 01:27:09.08 ID:Ozr6KAHM
スレ違い。

6 :Trader@Live!:2011/07/18(月) 03:14:30.78 ID:/L3iiDXU
pfが1を超えるのは最適化してたらさほど難しくはないようだけど、
安定とマックスドローダウンを考えるとpf2.5は必要っぽいね
月300pipsを安定して取れるぐらいじゃないと実用的にはきつそう

7 :Trader@Live!:2011/07/18(月) 08:14:58.98 ID:JPnddcZb
>>5
いいえ

8 :Trader@Live!:2011/07/18(月) 19:30:03.26 ID:M+QDZKt+
オプティマイズ高速化にSSDってどんくらい有効?
何時間が何時間になった、みたいな話ないかな。

9 :Trader@Live!:2011/07/18(月) 20:28:18.20 ID:Qm/BBgzT
ただの推測で無用レスかもしれないけど、メモリ十分な量積んでれば、
HDDにアクセスすることはあんまりないんじゃないかな?
まぁ検証した方がいたら俺も知りたいので教えてください。
もしHDDに対する依存度が高いんなら、メモリ増し増しでRAMDISK仮想で作って
MT4移してやったらSSDより早くなるはずだな!

10 :Trader@Live!:2011/07/18(月) 20:53:32.59 ID:UEMgHZMJ
アクセスランプ見てるとスタート直後に
1分足の一時ファイル作るのにガリガリやってるぐらいだよね

11 :Trader@Live!:2011/07/18(月) 22:01:24.07 ID:M+QDZKt+
いや、オプティマイズ中見てると数MB/秒くらいでI/Oアクセスがあるのよ。
キャッシュした1分足を読み読みしてるんだと思うけど。
あとログも出るしでSSD化でどんくらい効果でるかなぁと。

12 :Trader@Live!:2011/07/18(月) 22:11:52.76 ID:Zf7rtEGt
そもそもMT4に2GB制限があったような気が・・・

13 :yuuki:2011/07/18(月) 23:10:56.13 ID:xiM1g1WV
Kerberosって日本産のEAはSimple H1 GBPUSD EAのコピーEAですかね?
ご存知の方がいらっしゃれば教えて下さい

14 :Trader@Live!:2011/07/19(火) 11:08:19.84 ID:O9vAFL2Y
結論から言うとSSDは全く効果がない。

15 :Trader@Live!:2011/07/19(火) 12:08:12.71 ID:qIb/e+OF
ハイスペックPCが最適化の高速化に貢献するとしても、
そもそもハイスペPCを気軽に買えるほど儲かってたからEA開発なんてやってないっていう

16 :Trader@Live!:2011/07/19(火) 20:50:50.51 ID:qc38wClF
>>14
結論じゃないところを頼む。

17 :Trader@Live!:2011/07/19(火) 23:28:39.29 ID:qIb/e+OF
EAを考えてる時間:コーディングしてる時間:optimization=1:2:20

CPUとマザボ買い換えようかな

18 :Trader@Live!:2011/07/19(火) 23:47:18.61 ID:4XMCnVaw
>>17
現在のスペックどんなんよ?

19 :Trader@Live!:2011/07/20(水) 00:24:25.41 ID:d8WihZi1
>>18
intel celeron2600、メモリ1G XPです
i3かi5あたり入れてみようかな

20 :Trader@Live!:2011/07/20(水) 00:46:59.83 ID:wOyEWvSU
BTはデバッグの範疇、オプチはお遊びの範疇。
根拠を持たないブルートフォースの結果が将来に対する何の保証になるんだっつ〜のw

21 :Trader@Live!:2011/07/20(水) 00:52:55.36 ID:UQgRNIGR
>>16
要は最適化はほとんどがCPU依存なんだよ。SSDはI/Oがボトルネックになってるなら
効果あるけどMT4のBTや最適化は1コアのパワーがある構成に汁。

>>20 みたいなやつは出来合いのEAにおんぶに抱っこなんだろうけどBTは最低限
の試験だからな。BTで結果が悪くて本番でいいってことはありえない。有ったとしても
短期ですぐにDD食らう。

22 :Trader@Live!:2011/07/20(水) 01:12:34.88 ID:Q9Pkekxw
>>21
いや、そんな定性的な話じゃんくて具体的な話が欲しかったんだが。
10%とか最低5%でも改善するなら考えるかなと思ってね。
でもヒストリーファイルをまとめたら結構サイズ減ったんで自分で買って試すわ。

23 :Trader@Live!:2011/07/20(水) 11:13:47.52 ID:s/r06gY+
年間取引回数50回でPF2のEAと
年間取引回数100回でPF3のEAがあります。
同時に走らせた場合のPFはいくつですか?

24 :Trader@Live!:2011/07/20(水) 11:45:19.51 ID:OMg6EbyB
簡単に使えて使用期限のないアンチデコンパイルソフトってないですか?
色々試してみましたがデコンパイルされてしまったやつとか、高すぎて導入できなかったりとか、
使い勝手は良いけど毎年更新料がかかるので配布や販売にしても年間コストを見ておかないとい
けなかったりと、なかなか良い物にめぐり合えません。

使用済み
・Guardian ---> 他のEAを落とす重大なバグがあり使用不可・・・
・EX4 Protector ---> 現行Buildに未対応・・・
・EX4 Protection ---> いとも簡単にex4tomq4に陥落w
・MQL Defender ---> 他のEAのインストールを妨害する重大なバグがあり使用不可 & 陥落済w
・Forex CIO ---> バカみたいに高いくせに日本語版Windowsでは動かない重大なバグあり

DLLでのロジック隠蔽も、ある程度の力量の人がその気になれば割られてしまいますし・・・
よいデコンパイル対策ソフトご教授ください!
配布・販売すんな以外でお願いしますw

25 :Trader@Live!:2011/07/20(水) 12:21:12.61 ID:/0zRmZIl
どうせ勝てないEA販売するならデコンパされてインチキEAぶりを晒されて叩かれたほうが世のため人のためだなw
過去相場にカーブフィットさせたものを売っててそのうちドカンと死んで、またそのドカンがでないようにカーブフィットさせたのをVerUPと称して売り出す

26 :Trader@Live!:2011/07/20(水) 12:25:12.17 ID:VuTGOL3F
DLLでいいでしょ

27 :Trader@Live!:2011/07/20(水) 14:28:08.11 ID:d8WihZi1
損小利大EA完成した

Bars in test 80757
Ticks modelled 4151925
Modelling quality n/a
Mismatched charts errors 27
Initial deposit 10000.00
Total net profit -7535.95
Gross profit 377.67
Gross loss -7913.62
Profit factor 0.05
Expected payoff -21.17
Absolute drawdown 7535.95
Maximal drawdown 7535.95 (75.36%)
Relative drawdown 75.36% (7535.95)
Total trades 356
Short positions (won %) 202 (1.98%)
Long positions (won %) 154 (3.25%)
Profit trades (% of total) 9 (2.53%)
Loss trades (% of total) 347 (97.47%)
Largest
profit trade 276.67   ←注目
loss trade -62.00          ←
Average
profit trade 41.96    ←
loss trade -22.81           ←
Maximum
consecutive wins (profit in money) 3 (14.00)
consecutive losses (loss in money) 87 (-2162.00)
Maximal
consecutive profit (count of wins) 276.67 (1)
consecutive loss (count of losses) -2162.00 (87)
Average
consecutive wins 2
consecutive losses 50

28 :Trader@Live!:2011/07/20(水) 14:50:50.50 ID:A9mGnyu7
Total net profit -7535.95
( ゚д゚)
( ゚д゚ )

29 :Trader@Live!:2011/07/20(水) 15:28:53.66 ID:d8WihZi1
と思ったら、エントリーを逆にしてみたら・・・

Bars in test 2583
Ticks modelled 78093
Modelling quality n/a
Mismatched charts errors 29
Initial deposit 10000.00
Total net profit 47578.08
Gross profit 210878.38
Gross loss -163300.30
Profit factor 1.29
Expected payoff 23.23
Absolute drawdown 1729.03
Maximal drawdown 7017.60 (11.96%)
Relative drawdown 24.77% (2723.96)
Total trades 2048
Short positions (won %) 1024 (78.13%)
Long positions (won %) 1024 (80.18%)
Profit trades (% of total) 1621 (79.15%)
Loss trades (% of total) 427 (20.85%)
Largest
profit trade 1099.00
loss trade -3478.90
Average
profit trade 130.09
loss trade -382.44
Maximum
consecutive wins (profit in money) 24 (5621.39)
consecutive losses (loss in money) 4 (-2609.95)
Maximal
consecutive profit (count of wins) 5621.39 (24)
consecutive loss (count of losses) -3478.90 (1)
Average
consecutive wins 5
consecutive losses 1

俺の中で新記録だ
関わった全てのものに感謝したい気分だ
>>28
ありがとう

30 :Trader@Live!:2011/07/20(水) 15:49:52.25 ID:x1lfl48S
>27
>Maximal drawdown 7535.95 (75.36%)

WW

31 :Trader@Live!:2011/07/20(水) 18:14:41.92 ID:J7CtaDgY
wwwwwwwwwwww

32 :Trader@Live!:2011/07/20(水) 18:27:21.64 ID:GWX8rF1H
>>27
いくらなら売ってくれる?www

33 :Trader@Live!:2011/07/20(水) 21:11:47.28 ID:8UJ3tZZg
損小利大、だ、と?www

34 :Trader@Live!:2011/07/20(水) 21:28:46.00 ID:0/leQRSD
チャート間で、トレードのデータを変数かなにかでやり取りする方法ってありますか。

Aのチャートでクローズした時の勝敗を、Bのチャートへ教えたいのです。
できますでしょうか?


35 :Trader@Live!:2011/07/20(水) 21:49:33.13 ID:/0zRmZIl
グローバル変数か何か使えばいいんじゃない?

36 :Trader@Live!:2011/07/20(水) 23:07:22.88 ID:HU/fzzjx
SSDにしたら5%くらい遅くなってもた...orz

37 :Trader@Live!:2011/07/21(木) 08:15:43.95 ID:0sOngO8D
>>34
オーダーコメントに分かるようなの入れとけばヒストリーで分からんかい?

38 :Trader@Live!:2011/07/21(木) 13:42:56.47 ID:ebgBb8I9
質問なんですが、Control pointsでだけ成績がいいことがあるという状況は
探していると過去ログでも報告があったようなのですが、
これをうまくリアルトレードに生かす方法はないでしょうか?

そもそもこの原因になっているControl pointsの補完ティックは
どういう値動きとして補完になっているのでしょうか?

>>34
クローズしたとき勝ったら1、負けたら2をフラグとして変数に入れておいて、
知りたいときはその変数を見るという方法じゃダメ?

39 :Trader@Live!:2011/07/21(木) 14:53:09.01 ID:XEf3hDZu
下記のプログラムは先日作ったMACDのGCで買ってDCで決済というプログラムなのですが、
MT4のstrategy testerを使ってCHF/JPYの日足でバックテストしてみるとbuyやcloseの時間が17:13、23:51、19:08など中途半端な時間や00:00の売買が多々ありました。
日足の場合GCやDCが確定(翌日の日足が出現)するのは、どの業者でも大体4:00〜7:00(サマータイム含む)など決まった時間だと思うのですが、
この時間帯の売買が一度もないので、おそらく下記のコードだと終値が確定してから売買を行うのではなく、クロスした瞬間に売買してしまっているのだと思います。
下記のコードのどこをどのように変えれば、終値が出て翌日の日足が出現してからの売買ルールになるのか具体的に教えて頂けないでしょうか。

int start()
{
//変数の宣言
int cnt, CurrentPosition;
int Ticket;
double kakoa,gennzaia;
double kakob,gennzaib;

// オーダーチェック(ポジションなどのデータ)
CurrentPosition=-1;
for(cnt=0;cnt < OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS);
if(OrderSymbol() == Symbol()) CurrentPosition=cnt;
}
//一つ前のMACDのメイン
kakoa = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
//一つ前のMACDのシグナル
kakob = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

//現在のMACDのメイン
gennzaia = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
//現在のMACDのシグナル
gennzaib = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

// ポジションチェック ポジション無し
if(CurrentPosition == -1)
{
//もしメインがシグナルを下から上にクロスしたら
if( kakoa < kakob && gennzaia >= gennzaib)
{
//買いポジションを取る
Ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, 0, 0, "Buy", 0, 0, Red);
}
// ポジション有り
else
{
//ポジションの選択
OrderSelect(CurrentPosition,SELECT_BY_POS);

//通貨ペアの確認
if(Symbol() == OrderSymbol())
{
//もし買いポジションだったら
if(OrderType()==OP_BUY)
{
//もしメインがシグナルを上から下にクロスしたら
if( kakoa > kakob && gennzaia <= gennzaib)
{
//手仕舞い
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
}

return(0);
}

40 :Trader@Live!:2011/07/21(木) 15:18:45.68 ID:6TWOfBh2
>>39
あんまりよく見たわけではないが、
ずばり「現在のMACD」って自分でコメントして使ってるじゃねえか。

41 :Trader@Live!:2011/07/21(木) 15:32:52.25 ID:l5Ke7fTE
>>39
一つ前のMACDの〜の一番最後を2に、現在のMACDの〜の一番最後を1に変える。メイン、シグナル両方。
あんまり初心者過ぎる質問は叩かれるから、それくらいなら自分で考える(リファレンス読む)か初心者スレいきな。

42 :39:2011/07/21(木) 16:15:44.97 ID:XEf3hDZu
>>40-41
売買時間が全て6:00、7:00、00:00の3つに統一されました。
ただ終値が確定して次の日足が出たときに売買されるのなら、6:00と7:00の2つに統一されるはずなのですが、なぜかほとんどの売買が00:00なのでまだ何か誤りがあるようです。
初心者スレでご教示をお願いしてきます。親切に教えていただき本当にありがとうございました。

43 :Trader@Live!:2011/07/21(木) 17:34:32.81 ID:diNA17Iq
>>38
さてさて、38さんは超能力をお持ちでしょうか。
現実と乖離したレートで勝てるEAができても、ブローカーに現実と
乖離したレートを配信させる能力がなければ役に立ちません。
同じことを考える人はたまに見かけますが、その考えは忘れたほう
がいいと思いますよ。

44 :Trader@Live!:2011/07/21(木) 20:34:49.92 ID:ebgBb8I9
>>43
やはり、control pointsでだけ成績がいいEAはリアルには応用が効かないのでしょうか・・・
もう少し実験してみて無理そうなら諦めます・・・

45 :Trader@Live!:2011/07/21(木) 20:46:26.69 ID:VhGyb7L1
凄い事を思い付いた
究極の損大利小システムを作って逆にポジればいいんじゃね?
やっぱり俺って目の付け所がシャープだわw

46 :34:2011/07/22(金) 02:02:01.20 ID:PV7KeOKp
>>35
ありがとう。うんシステムグローバル変数っていうのがあるようなので、
ちょっと出直してきます。

>>37
クローズしたのだからヒストリープールのデータを使う手もありましたね。
こっちの方が簡単かな?

>>38
ちょっと筋違いだったけど、ありがとう。

47 :Trader@Live!:2011/07/22(金) 10:18:06.56 ID:gjCWDqo7
>>45
通過儀礼
皆そうやって大人になっていく(笑)

48 :Trader@Live!:2011/07/22(金) 11:32:19.58 ID:GlrAbLkr
>>46
MT4のオマケで付いてくる移動平均のEAが負けるとロットを下げる
ロジックを実装してた希ガス。

49 :Trader@Live!:2011/07/22(金) 11:44:43.44 ID:N1ri/WqN
しかしBTしてると、よく板で「MAのクロスで〜」とかレス見るけど
実際何分足でパラメータがいくつに設定するかが超重要だってのが分かるよな

パラが間違ってたらいくら経験積んでも、使い方を工夫して使い込んでもどうしようもない

50 :Trader@Live!:2011/07/23(土) 05:00:57.33 ID:E8cDQ3sE
最近メタトレーダー入門という本を買ってEAを作り始めたんだがこれってイケてる?

Bars in test 17846
Ticks modelled 208241
Modelling quality n/a
Mismatched charts errors 14
Initial deposit 10000.00
Total net profit 892.00
Gross profit 8056.64
Gross loss -7164.64
Profit factor 1.12
Expected payoff 0.90
Absolute drawdown 225.97
Maximal drawdown 443.95 (3.98%)
Relative drawdown 3.98% (443.95)
Total trades 989
Short positions (won %) 490 (64.69%)
Long positions (won %) 499 (67.74%)
Profit trades (% of total) 655 (66.23%)
Loss trades (% of total) 334 (33.77%)
Largest profit trade 70.00
loss trade -140.00
Average profit trade 12.30
loss trade -21.45
Maximum consecutive wins (profit in money) 15 (413.39)
consecutive losses (loss in money) 7 (-100.00)
Maximal consecutive profit (count of wins) 413.39 (15)
consecutive loss (count of losses) -229.00 (2)
Average consecutive wins 3
consecutive losses 1

5分足ユーロドル5月2日から7月22日。
感覚的にイケテルのか分からん。もっと過去までやった方が良いのかなぁ?

51 :Trader@Live!:2011/07/23(土) 05:07:22.65 ID:o62MAb8Z
>>50
超新星登場

52 :Trader@Live!:2011/07/23(土) 05:40:29.28 ID:E8cDQ3sE
逆張りロジックだからドル円でもやってみたがこっちも勝ってた。
一応ちょっと工夫はしているが移動平均とATRしか使ってない。
こんなんで勝てるとかおかしいw何かミスしてそうだが見つからないんだよな。

53 :Trader@Live!:2011/07/23(土) 07:36:14.31 ID:FM0rkDCy
>>52
5分足とは言え2ヶ月では期間が短過ぎる。
最低でも2年はBTするべき。2年BTでもDDが少なければイケてるともいえるかもしれんが、
ロットがいくつなのかにもよる。ロットが少なければmaxDD4%はあまり意味を持たない。
ユロドルなら1profit80円。年間どれだけ稼げるか、それに対して種はいくら必要か。
この辺を考えて年利が200%以上あれば悪くないと考える。

54 :Trader@Live!:2011/07/23(土) 23:12:55.12 ID:Ih5Qpsl1
昔から思ってたが、BT期間が長く必要って、根拠はなんなんだ?

55 :Trader@Live!:2011/07/24(日) 00:22:53.68 ID:zU9vN8Pu
2年間同じパラメータで勝ち続けるsetが出来上がって
それでFTしたら、翌日から右肩下がりになること請け合い

じゃあ直近3ヶ月でBTすればいいのかというと、それも何とも分からん

BT理論を誰か教えてくれ

56 :Trader@Live!:2011/07/24(日) 01:11:31.44 ID:tiACm3Vw
>>55
そこでウォークフォワード分析ですよ。
少なくともBTのロジックが汎用的に通用しないかどうかがわかる。
経験的にはやっぱりBTの売買回数が2000回超えてれば大体
実戦で通用すると思う。

57 :Trader@Live!:2011/07/24(日) 01:58:21.81 ID:2IQrVlrh
本当に世の中に勝ち組っているの?
じつは運でしか勝てないんじゃない?

58 :Trader@Live!:2011/07/24(日) 04:07:21.34 ID:cMjT5nGs
>>57
欲張らなきゃ勝てるだろ。

59 :Trader@Live!:2011/07/24(日) 05:42:31.33 ID:LIg+1Y1E
>>58
欲張らなきゃ勝ち組には成れん。
小銭拾いみたいなEA作っても税金に食われて終わりや。

60 :Trader@Live!:2011/07/24(日) 10:46:32.15 ID:p1DXc/ng
多少は運はあると思う。
でも、運用次第で聖杯になるEAはあると思う。
それにたどりついてないけど。

マーチンは小銭稼ぎだし、スキャはブローカーに目を付けられたら終わり。
トレンドフォローは博打的で、運的要素が増大すると思う。
どう思います?

61 :Trader@Live!:2011/07/24(日) 13:46:12.32 ID:uFxgTH9V
トレンドが動く5分くらいまえを予測することはできるように
なったけど、それがどこまで行くのかはわからんなあ。
リカクのタイミングはほんとむずかしい

62 :Trader@Live!:2011/07/24(日) 14:24:57.91 ID:tiACm3Vw
>>61
トレーリングTPしてみたら?トレーリングSLとセットで
挟み撃ち作戦で俺は結構うまく逝ってる。
でも5分前ってすごくない?どうやって予測するの?

63 :Trader@Live!:2011/07/24(日) 16:02:00.13 ID:zU9vN8Pu
>>56
そういうソフトあったな
ratioが0.5超えればおkっていう
1度使ってみたんだが、あのratioがどう計算した数値なのか謎だった

>>61
機関投資家なら5分前に情報が入ると聞いたことあるが、個人ならエスパー

64 :Trader@Live!:2011/07/24(日) 16:27:00.74 ID:OmE7HE+D
>>56
>>55
>そこでウォークフォワード分析ですよ。
>少なくともBTのロジックが汎用的に通用しないかどうかがわかる。
>経験的にはやっぱりBTの売買回数が2000回超えてれば大体
>実戦で通用すると思う。
ウォークフォワードがどの程度上手くいけばいいのかな。
トレンドフォローだから、2000回も売買しないんだよなあ。

65 :Trader@Live!:2011/07/24(日) 17:22:28.30 ID:zU9vN8Pu
>>64
http://www.easyexpertforex.com/walk-forward-videos.html
前スレで出てたこのソフトで、ratio 0.5以上ならおk

.Net Framework 4必須で、トライアル14日間と、お試しでやるにはイマイチだけど
まぁ1600円だし、効果があるなら買ってもいいかって感じ

66 :Trader@Live!:2011/07/24(日) 18:01:08.90 ID:OmE7HE+D
>>65
その0.5ってどういう計算式?

67 :Trader@Live!:2011/07/24(日) 21:38:04.23 ID:IpDijF5T
バックテストとリアル運用でどのくらい成績乖離するものなん?
カーブフィットとかそういう問題は抜きにして、スプの広がりと約定で必ずリアルの方が悪くなると思うが。
対策としてバックテストのスプのコストの上乗せしようと思うがどのくらいがいいかなぁ。

68 :Trader@Live!:2011/07/24(日) 22:16:41.19 ID:IpDijF5T
ってかちょっと思ったけどバックテスト期間って長ければ長いほど使い物にならなくならねぇか?
相場の環境が変わればその環境に特化したEAが良いわけで、満遍なくいい成績だと満遍なく特化していないから
つまり中途半端なものしかできない。キャリトレード専用とか〜ショック専用とかトレンド専用とかレンジ専用
とか色々作って実際それを使い分けるのが運用者の腕なんかな?と思ったり。

69 :Trader@Live!:2011/07/25(月) 02:03:17.34 ID:mNVOqNHI
ここ1ヶ月いろいろやってみて、とりあえず
MAは1分足や5分足では心もとないということがよく分かった
30分足〜日足でパラはそれぞれとして、少なくともスイングじゃないときついというのが
分かっただけでも収穫

70 :Trader@Live!:2011/07/25(月) 08:27:12.58 ID:eiBEy4E5
>>68
それなんて裁量トレード?

71 :Trader@Live!:2011/07/25(月) 10:04:01.85 ID:mNVOqNHI
ところでトレンドラインやチャネルラインのEAの作り方が載ってる本とかあったら
どなたか教えてください

72 :Trader@Live!:2011/07/25(月) 10:35:54.67 ID:twGQgq/W
>>59
月利5%くらいで転がしてるけれど、資産5億超えたよ。

73 :Trader@Live!:2011/07/25(月) 10:44:42.12 ID:9SBnnk7H
あんたそりゃ元の資本が多かったんじゃないの?w

74 :Trader@Live!:2011/07/25(月) 10:59:53.68 ID:twGQgq/W
>>73
1000万くらいからだよ。
早くからパフォーマンスを安定化できたのが勝因だと思う。
タネ100万から始めてたとしても1000万にするには数年だし。

あ、俺欲張らなきゃ勝てるだろって書き込んだやつね。

75 :Trader@Live!:2011/07/25(月) 11:35:04.67 ID:x2udLX/1
プログラミング出来ないけど勝てるEAって簡単に作れるんじゃないの?
プログラミング出来たら

76 :Trader@Live!:2011/07/25(月) 11:59:04.77 ID:x2udLX/1
↓の画像を見て欲しいだけど
http://www.dotup.org/uploda/www.dotup.org1827521.png
Uが為替の過去n年間
全ての動きのパターンだとする。
A、B、Cはその中の一部のパターン。DはA、B、C以外のパターン。
A=(1月〜3月)。B=(3月〜6月)。C=(6〜9月)。D=(9月〜12月)と期間に分ける

一定期間だけ爆発的に勝てて取引回数の多いEAなら最適化で簡単に作れるよね?
mt5でバックテスト最適化のマルチコア対応、マルチPC対応したらしいし
見つけるのに時間は掛からないんだろ
どれだけカーブフィッティング、オーバーフィッティングしてようが良い
じゃあ、A、B、C、Dの短期間だけ完璧に取引をしてくれるEAを最適化でそれぞれ作る
それでA、B、C、D全部の条件を満たした時にだけエントリーすればUのパターン(全てのパターン)
で勝てるEAが完成するはずだろ。
もし取引回数が少なくなるなら組み合わせた条件のEAを最適化してやれば良い
これでどんなパターンでも絶対勝てる


何か問題があるの?

77 :Trader@Live!:2011/07/25(月) 12:02:35.38 ID:WoGR3fps
>>75
あくまでバックテストに限定すりゃね

78 :Trader@Live!:2011/07/25(月) 12:06:40.35 ID:twGQgq/W
>>76
その分類するのが難しいじゃない。
アノマリーとかエッジとかいうやつ?

79 :Trader@Live!:2011/07/25(月) 12:07:15.66 ID:x2udLX/1
>>77
これで勝てない理由を教えてよ
何故バックテスト限定なのか。
為替は過去起きたパターンを繰り返してる。
それで期間別に分けてパターンを解析し
あらゆるパターンで勝てるEAが作れる
現実で、どのパターンが来ても勝てるはずだろ

80 :Trader@Live!:2011/07/25(月) 12:11:44.77 ID:twGQgq/W
>>79
× 為替は過去起きたパターンを繰り返してる。

81 :Trader@Live!:2011/07/25(月) 12:13:24.64 ID:WoGR3fps
>>79
そのパターンってなんなのさ?
上の例では季節ごとに分けてるようだけど、毎年同じパターン
があるわけないでしょ。
パターンが定常的に推移するんならいいけど、ファンダメンタルズ
の変化で毎日のように急変してんのが現実。

82 :Trader@Live!:2011/07/25(月) 12:20:29.58 ID:x2udLX/1
じゃあつまり勝てない理由は
過去に起きたパターンより、新しく発生するパターンの方が出現率が高いって事か
じゃあ過去から分析しても意味ない
EAで絶対勝てるEAは存在しない事になるし
過去から分析してもあまり意味がない事になる。
それとなんで新しく発生するパターンの出現率が
過去に起きたパターンの出現率より低いと分かる?
勝てないと言うならそれを説明してよ
俺はバックテストした事ないし説明できない
そちらも説明できないなら、どちらも勝てるかどうか
ID:twGQgq/W やID:WoGR3fpsが指摘した観点から判断する事は出来ない

83 :Trader@Live!:2011/07/25(月) 12:22:32.82 ID:x2udLX/1
間違えた
>それとなんで新しく発生するパターンの出現率が
>過去に起きたパターンの出現率より低いと分かる?
? 低い
○ 高い

84 :Trader@Live!:2011/07/25(月) 12:31:13.26 ID:twGQgq/W
>>82
過去に起きたパターンは繰り返される確率が高いだけで、
それだけで絶対勝てるとはならない。
想定外のリスクは常にある。

85 :Trader@Live!:2011/07/25(月) 12:33:02.64 ID:WoGR3fps
>>82
君のいうパターンが曖昧すぎるけど、例えば8月は過去にドル円が
下落しやすいというパターンを見つけたとして、それに過剰最適化しても
来月勝てる保証なんてないってこと。

86 :Trader@Live!:2011/07/25(月) 12:43:49.97 ID:x2udLX/1
ID:twGQgq/W さんは過去に起きたパターンが繰り返される確率が高いと認めた。
でも絶対勝てるとはならない?
何故?
過去に起きたパターンの出現の確率が新しく出現するパターンより高いなら
絶対トータルで勝てる。勝てるパターンで取引してるんだから

>>85
だから何故?
それは
新しく発生するパターンの出現率が
過去に起きたパターンの出現率より高いことを意味する。
それで何故そうなるのかさっきから聞いてるだけど
双方で分からない観点で否定してくるような揚げ足とりがしたいなら
そういうのは辞めてくれないかな?

87 :Trader@Live!:2011/07/25(月) 12:48:15.65 ID:WoGR3fps
>>86
なんだタダのアホなのか
そんなパターンの出現が否定された論文は腐るほどあっても
証明された論文なんてないからw

88 :Trader@Live!:2011/07/25(月) 12:52:36.13 ID:twGQgq/W
>>86
俺が認めたかどうかはまったく重要ではない。
自分で確かめて結論を出すべき。
それに確立が高いと書いたのになぜ絶対という言葉が出てくる?


89 :Trader@Live!:2011/07/25(月) 12:52:53.38 ID:x2udLX/1
>>87
あるなら論文を提示してください

90 :Trader@Live!:2011/07/25(月) 12:56:50.38 ID:x2udLX/1
>>88
あぁそういう確率は結果論であって、とかは良いですよ
勝てるパターンの出現率の方が高いなら
そのパターンで取引してるんだから勝てるでしょ。確率的には
確率から言ってだから絶対というのは撤回しますが。

91 :Trader@Live!:2011/07/25(月) 13:01:57.23 ID:4jX/3MJt
>>88
わかった
その確実に勝てるEAを作ってやるから
パターンの定義と100万円用意してくれ

92 :Trader@Live!:2011/07/25(月) 13:02:44.25 ID:4jX/3MJt
88じゃないや、>>86だった

93 :Trader@Live!:2011/07/25(月) 13:03:25.29 ID:4jX/3MJt
86さんの理論に自信があるなら100万円ぐらい屁でもないでしょ?

94 :Trader@Live!:2011/07/25(月) 13:04:59.24 ID:twGQgq/W
>>90
なんでそんなに喧嘩腰なのよ。
俺はID:WoGR3fps さんとは意見が違うからパターンの出現は否定しないよ。
パターンを否定する論文もあれば肯定する論文もある。

ただ、時間の経過と共に過去のパターンは通用しなくなる。
これはマーケットの内包している構造(金の流れ)が変化するから。
リーマン・ショックやどこかの国のデフォルトとか想定外のファンダメンタルの変化に
よって一夜にして激変することもあるわけ。

まあ、持論に自信があるならリアルマネーでやってみればいいじゃない。

95 :Trader@Live!:2011/07/25(月) 13:14:45.61 ID:FPmVP2F5
> じゃあ、A、B、C、Dの短期間だけ完璧に取引をしてくれるEAを最適化でそれぞれ作る
> それでA、B、C、D全部の条件を満たした時にだけエントリーすればUのパターン(全てのパターン)
> で勝てるEAが完成するはずだろ。

そもそもここが全く意味がわからん
ABCD全部の条件ってなに?

96 :Trader@Live!:2011/07/25(月) 13:16:57.83 ID:x2udLX/1
>>91
100万は用意できない
それと確実にっていうのは撤回しただろ。確率、つまり結果論だから

97 :Trader@Live!:2011/07/25(月) 13:27:02.14 ID:x2udLX/1
>>94
出来ないよ
俺の過去レスにプログラミングできないって書いてある
だから出来ない

>>95
エントリーポイントだよ。エントリーポイントを組み合わせる
EAを作り最適化しそれでエグジットも取引回数も調整する。

98 :Trader@Live!:2011/07/25(月) 13:34:16.47 ID:x2udLX/1
>>95
A、B、C、Dあらゆる期間に分けてるのは出来るだけ多くのパターンに対応するEAを作るため
A、B、C、Dはそれぞれ短期間で勝率高く取引回数も高いEAを最適化で作る
オーバーフィッティングして良い。短期間の完璧なエントリーと勝率を求める
それを組み合わせる

99 :Trader@Live!:2011/07/25(月) 13:35:07.61 ID:GuEsM5pH
プログラミングできないなら、EAを作ってくれるところに依頼すればいいのでは?
「EA 作成」とか「作成代行」とかでググれば色々出てくるぞ
完成したら、一言報告よろ

100 :Trader@Live!:2011/07/25(月) 13:36:11.24 ID:x2udLX/1
>>93
学生の俺にとって100万はとんでもなく大金だよ

101 :Trader@Live!:2011/07/25(月) 13:38:41.95 ID:hhuJnWYI
>>76
絶対勝てるかどうかはわからんが勝てるかもよ。
EAによっては時間や曜日を見てエントリーするやつがあるからね。

102 :Trader@Live!:2011/07/25(月) 13:40:17.35 ID:FPmVP2F5
>>98
ABCDの4通りのカーブフィットのパラメーターで回すだけってことか
それは12頭出走の馬券全部買うのと大して変わらないだろ
必ず勝てるってどっからくるの

103 :Trader@Live!:2011/07/25(月) 13:41:56.26 ID:x2udLX/1
>>99
依頼するのに金が掛かるし、依頼して実際に運営するのも嫌だよ。
ただ俺は勝てる方法をここで言っただけで実際取引は出来ないよ
したくもないからね
プログラミングを勉強して確かめる事なら時間が掛かるけど出来るかもね
教えてくれる人が居ないと無理だけど。やる気の問題もあるし

104 :Trader@Live!:2011/07/25(月) 13:45:03.77 ID:x2udLX/1
>>102
何か誤解してる。俺、自信が何か誤解してたら聞き流してくれれば良いけど
4パターンのEAの条件が全部一致したエントリーをエントリーポイントとするんだよ。

105 :Trader@Live!:2011/07/25(月) 13:50:40.10 ID:FPmVP2F5
>>104
ああそういうことね
それをやると勝率が高く見えるだけのテスト結果は帰ってくるよ
足りないなら増やすって簡単に言うけど回数だけ増やすのはまず無理ゲ
フォワードウオークでは使えないものが出来上がり

106 :Trader@Live!:2011/07/25(月) 14:08:16.99 ID:hhuJnWYI
>>103
煽られてるけど気にしないでまずはExcelや手動でバックテストしてみたら?
世の中に存在する手法やEAも全て過去経験を頼りに永続性があるかも?
と期待して作られたものばかり。数学的に意味のあるものなんて存在しない。
統計学的には存在するけどね。

107 :Trader@Live!:2011/07/25(月) 14:09:03.56 ID:nwy/Slds
78.55でS待ってたのに刺さってないぞ師ねアホ通貨

108 :Trader@Live!:2011/07/25(月) 14:10:21.94 ID:x2udLX/1
>>105
確かにエントリー条件を厳しくしていくんだから回数だけを増やすのは無理ゲになる
パターンを増やせば増やすほどエントリー回数が減っていく
なんとかする必要がある
条件を緩めるか(ABCDの内、4つ揃った時ではなく3つ、2つって感じに)、それか
条件について何らかの応用を加えるか。
解決しないと行けない点はそこだね。


それと今俺が言ってるこの考え方、どっかで見たのを言ってる
市販で売ってる高勝率右肩上がりのスキャEAを何個か用意して、
その中でいくつかエントリー指示が出て損失が出ていたら
エントリーしてみるって奴、そうすれば資産が安定して増えたって感じの

109 :Trader@Live!:2011/07/25(月) 14:16:56.31 ID:x2udLX/1
>>106
手動じゃ最適化出来ないし、期待してるのは作れないよ
mt5使って最適化しないと

110 :Trader@Live!:2011/07/25(月) 14:24:31.51 ID:FPmVP2F5
>>108
方向性がまずいなそんな事やっても解決しないし必ず勝てない
ただ作る前にどういう方向性にするかってのはEAを作るには非常に重要って考え方だけはいいと思う

あとmt5じゃなくても最適化できるただスレ違いだから言わないだけで
そもそも2週間もC言語勉強したら余裕でEAなんかかける
学生なんだから2chしてる暇があればC言語勉強しろ

111 :Trader@Live!:2011/07/25(月) 14:39:16.65 ID:x2udLX/1
>>110
なんで方向性が間違っている?

それとC言語なら一度独学だけどしてたことあるよ。殆ど忘れてるけど
変数、代入演算子、%d、加減乗除、scanf()
double型変数(%f,%lf)、関係演算子、論理演算子、if文(if-else,if-elseif-else)、
剰余演算子(%)、for文、インクリメント演算子(++)、選択制御構造、反復制御構造、跳躍制御構造
関数(引数、戻り値、プロトタイプ宣言)、main()関数
変数(グローバル変数、ローカル変数)、関数(サブルーチン)
#include(標準ヘッダファイル、ユーザヘッダファイル)、#define(単純マクロ)、プリプロセッサ
配列(配列変数、要素、要素数、要素番号)、多次元配列、バブルソート
文字(char型変数)、文字列(char型配列変数、文字列定数、文字列操作(strcat(),strlen(),strcmp()))
ファイルの利用(fopen()、fclose())、強制終了(exit())、
入出力ストリーム(stdin、stdout、stderr、ファイルポインタ)、入出力関数(fprintf()、fscanf())
とこまで勉強しててポインタで辞めた。mtってMQL言語っていうやつなんでしょ?
mt4とmt5で若干違うらしいし。それとテクニカルについて全くの無知だからそこも分からないから
2週間では作れないよ

112 :Trader@Live!:2011/07/25(月) 14:45:27.11 ID:z/opavzw
「証明されていない物に俺様の人生の貴重な時間を割くのは嫌だ。誰か証明しろ」

こう言ってるのと一緒だな。失せろ

113 :Trader@Live!:2011/07/25(月) 14:48:17.29 ID:x2udLX/1
>>112
そうだよ。その通り



いやだ

114 :Trader@Live!:2011/07/25(月) 14:55:42.07 ID:FPmVP2F5
ポインタは使えないからそこまで出来れば書ける
MT4と5はかなり違う

115 :Trader@Live!:2011/07/25(月) 15:13:09.57 ID:4jX/3MJt
仕方ない。マジレスしてやるよ

1.MAが上向きで買い
2.MAがゴールデンクロスで買い
3.ボリンジャー2σで買い
4.RSI 30以下で買い

まぁどれもある期間でいいなら確実に勝てる手法だよ

で、この4つを組合わせて勝てるEAになると思う?

4つを組合わせてって簡単に言うけど、過去のパターンなんてそれこそ無限にある
その中から4つを選んで勝てるEAを作るのは奇跡に近いよ


116 :Trader@Live!:2011/07/25(月) 15:25:16.12 ID:x2udLX/1
>>115
4つじゃなくても良いよ
例としてABCDと4種類の期間別にあげただけ
何種類でも良いから期間が違うもの。テクニカルは何でも良い
最適化で高勝率高取引のEAをいくつも作る

あと4つ【同時】にエントリー条件が整った時にエントリーじゃなくて
一つエントリー条件が整っててSTに掛かっていなければそれは条件を満たしているとする
そうやってエントリーの条件が何個か揃ったらエントリーするEAを作る
それを最適化しても良いししなくても良い。高勝率、ただ条件を改善しないと取引回数が少ない
あらゆる期間、パターンに対応して勝てるEAが完成する。確率的にはだけど

117 :Trader@Live!:2011/07/25(月) 15:25:24.82 ID:twGQgq/W
結局何が目的なのかわからん。

118 :Trader@Live!:2011/07/25(月) 15:32:35.68 ID:x2udLX/1
>>112が詳しく言ってくれた

119 :Trader@Live!:2011/07/25(月) 16:04:46.55 ID:twGQgq/W
だったら時間の無駄だぜ。結果は出せても誰も証明なんかできないよ。

120 :Trader@Live!:2011/07/25(月) 16:13:33.40 ID:x2udLX/1
>>119
なんで。良い結果が出たら勝てるって証明出来てる
あと>>116訂正
期間はある程度被っていた方が良い。本来は被せるべきで
期間は別にしては行けない

121 :Trader@Live!:2011/07/25(月) 16:14:23.34 ID:fvpZsVQk
なぜ労を惜しむのかが分からん。
楽して金もうけ出来るとでも思ってるんだろうか。

122 :Trader@Live!:2011/07/25(月) 16:23:29.83 ID:x2udLX/1
>>121
俺は
金儲けが目的じゃなくて
勝てるって事を証明したいだけ
俺はFXしないから

>>120
期間別にした方が良いってずっと言ってきたけど、間違い。期間を分けちゃ行けない
分けるのはテクニカルの数値や組み合わせ、種類を分ける。
期間を分けてしまっては意味ない

123 :Trader@Live!:2011/07/25(月) 16:33:13.47 ID:fvpZsVQk
>>122
おまえの夏休みの宿題に付き合うやつなんていない。
パパに手伝ってもらいな。

124 :Trader@Live!:2011/07/25(月) 16:35:56.24 ID:twGQgq/W
>>119
あんたにわかるように説明するのも俺らにとって時間の無駄なんだよね。
それに見合ったアウトプットがあるなら別だけど。

125 :Trader@Live!:2011/07/25(月) 16:39:32.15 ID:x2udLX/1
そんなの関係ない
作ってくれ

126 :Trader@Live!:2011/07/25(月) 16:50:35.15 ID:FPmVP2F5
誰も作らないから帰れって言われたろwww
それに君があるパラメーターでは有効な方法を渡されても最適化できないで終わるわけ
自動で全部やってくれると思ってるようだが全く違うんだよ

127 :Trader@Live!:2011/07/25(月) 16:51:54.06 ID:x2udLX/1
最適化なら自分で出来ます
EAだけ作ってくれれば良いです

128 :Trader@Live!:2011/07/25(月) 17:04:00.08 ID:9f5g1Mrw
全員落ち着くんだ!!深呼吸だ。

129 :Trader@Live!:2011/07/25(月) 17:11:41.99 ID:MiuF+Ide
> オーバーフィッティングして良い。短期間の完璧なエントリーと勝率を求める
> それを組み合わせる
この時点でこのスレの住人はあきれてるんだよ
オーバーフィッティングについては身をもって(お金でもって)怖さを
経験した人じゃないとわからん
最適化期間でのみ勝てるロジックを組み合わせれば勝てるって考えは、
ゆとり教育の賜物としてもお花畑過ぎるぞ
このスレでお子ちゃまの妄想に付き合ってくれる人を探すのは無理
そうだから、初心者スレあたりで頑張れば?

130 :Trader@Live!:2011/07/25(月) 17:14:14.86 ID:MiuF+Ide
ごめん。深呼吸間に合わなかった。あげてるし

131 :Trader@Live!:2011/07/25(月) 17:44:39.22 ID:x2udLX/1
>>129
経験とか知らないから。
それを双方で証明出来ないから証明したいって言ってるんだよ
妄想だって証明出来るなら証明してよ

132 :Trader@Live!:2011/07/25(月) 17:49:02.01 ID:i2ABWML8
例えば○○分後に100ピピ変動すると仮定し
あらかじめ描写するボリンジャーバンドを作ることはできますか?

133 :Trader@Live!:2011/07/25(月) 17:52:08.47 ID:x2udLX/1
>>132
インジで作れる
それとスレ違

134 :Trader@Live!:2011/07/25(月) 18:40:37.45 ID:GuEsM5pH
終わった?

135 :Trader@Live!:2011/07/25(月) 18:46:48.07 ID:x2udLX/1
終わってない

136 : ◆N5NekoNeko :2011/07/25(月) 18:53:05.17 ID:R5eUmIra
ユロドルが暇なので来てみた

一年をいくつかの期間に分けて、それぞれの期間で最適化させたEAを作る
で、全部の条件が一致したときにトレードすれば常勝じゃね?っていう主張だと理解

まず「パターン」って語が曖昧すぎる。
そもそも、そのパターン自体がどのようなものか定義されてないのに、
「パターン」って語自体に「繰り返す現象」って意味が織り込まれてるから、
「繰り返す現象があるなら、それを検出して勝てる」って内容にしかなっていない

たしかに、パターンを見つけ出せたのなら当然、必ず勝てるけど
EAを作るときに重要なのはどうやって、どのようなパターンを見つけるか。
そのために誰かがMACDだのRSIだのボリバンだのを作ったわけです。

137 : ◆N5NekoNeko :2011/07/25(月) 18:56:40.95 ID:R5eUmIra
ようするに、「パターンを見つけ出せれば勝てる」っていうのが本質であって、
期間がどうとか、パラメータがどうとかはあなたの話の本質ではない。
そんなものなしに、「パターン」を見つけることができたのなら問題なく勝てる。
が、問題はそのパターンが具体的にどういうものか、ということ。

暇だし、具体的な考えがあるなら作ってあげるけど、単に「パターンを検出するのを作って」
っていうならそれは「勝てるEAを作って」っていうのとなんら変わりないから無理だぬ
そうでないならご一報。

138 :Trader@Live!:2011/07/25(月) 18:57:03.54 ID:x2udLX/1
オーバーフィッティングさせたEAを組み合わせると勝てるか負けるか誰も分からない
為替は過去の値動きのパターンを繰り返してるのは確か。
ただ新しく発生するパターンの出現率が
過去に起きたパターンの出現率より高いかどうか誰も証明出来ない

なのに>>129で全否定
なんの根拠もない経験で
オーバーフィッティングで勝てる考えがゆとりでお花畑過ぎると言われる。

139 :Trader@Live!:2011/07/25(月) 18:58:32.43 ID:MiuF+Ide
もう面倒くさいなぁ。129なんて書いた俺がバカなんだが
ID:x2udLX/1の戯言が必ず失敗する証明なんて誰にもできんよ
否定の証明だからな。よかったな
俺にできるのはオーバーフィッティングが未来には通用しない
例を示すことだけだ

http://u3.getuploader.com/mt/download/545/overfitting.jpg
過去の膨大な架空トレード結果を多角的に分析、その分析結果を
基に売買するEA。望み通りのオーバーフィッティング
分析期間の結果はまずまずでも、分析期間以降はまったく使えない
良くてトントン、損をだす可能性のほうが高い

オーバーフィッティングして良いなんて戯言は恥ずかしいから
やめたほうがいい
意地になっても、仕様もないEAを作ってやろうなんて奇特な人
もいないでしょう

140 : ◆N5NekoNeko :2011/07/25(月) 19:04:18.84 ID:R5eUmIra
具体的なアイデアがあるなら作ってあげるお

なお、オーバーフィッティングを日本語に訳すなら「過剰な最適化」
この語自体に、暗に「負ける」という結果が織り込まれてる
それで勝てるなら別にオーバーフィッティングじゃないじゃん、という話。

最適化の是非については、ロジックに普遍性があるなら最適化すべき
そうでないなら最適化の前に、普遍性があるロジックにすべき
最適化自体は悪いわけではなく、過去の相場への最適化で今後利益が見込めないロジック自体に問題がある

141 :Trader@Live!:2011/07/25(月) 19:07:25.61 ID:FPmVP2F5
オーバーフィットさせてそのEAを合算して(単純に多数決で)勝てるか勝てないかはみんなわかってる
買って売るもしくは売って買うまでが1セットそのタイミングをわざわざオーバーフィットさせて決めてるのに
また合算させてタイミングを狂わせてもうまくいかない
オーバーフィットして崩して何か意味があるのですかってこと

142 :Trader@Live!:2011/07/25(月) 19:13:26.09 ID:B3uM9/KF
>ID:x2udLX/1
よかったな。相手してもらって。これ以上は出てこないよ。
そもそも住民にID:x2udLX/1の論理を反証してあげるヒマなんてないんだ。

>>129=139
>過去の膨大な架空トレード結果を多角的に分析、その分析結果を 基に売買するEA。
俺が目下開発中のものを全否定されて笑ったw
直接会っていろいろ話が聞きたいわ。

143 : ◆N5NekoNeko :2011/07/25(月) 19:15:02.35 ID:R5eUmIra
 本 当 に 暇だから、反論があれば付き合うお・・・

144 :Trader@Live!:2011/07/25(月) 19:18:01.73 ID:B3uM9/KF
>>◆N5NekoNeko
ID:x2udLX/1が終わってまだヒマだったら付き合ってほしい。
今作ってるやつで悩んでる箇所があるんだ。
(ロジックとかではなく考え方の部分で)

145 :Trader@Live!:2011/07/25(月) 19:18:36.85 ID:9f5g1Mrw
>>72
もし、まだ見てたら教えてください。
何か節税してますか?それとも、海外治外法権?

146 : ◆N5NekoNeko :2011/07/25(月) 19:19:26.79 ID:R5eUmIra
>>144
どうぞ。

147 :Trader@Live!:2011/07/25(月) 19:23:36.70 ID:FPmVP2F5
>>146
悩んでることが一個あって僕もいいですかね

148 : ◆N5NekoNeko :2011/07/25(月) 19:25:01.88 ID:R5eUmIra
>>147
どうぞどうぞ。
交際運・結婚運を良くしたいなら東南にピンクのものを置くと良いらしいお

149 :Trader@Live!:2011/07/25(月) 19:28:27.17 ID:GuEsM5pH
あれ、そのNekoNekoってトリップ、なんか見覚えが…
過去にこのスレ追い出された人でしたっけ?

150 :Trader@Live!:2011/07/25(月) 19:29:19.88 ID:x2udLX/1
>>140
じゃあ時間が掛かりますけど勝てそうなアイデア複数持ってきます
>>140さんが退場しないまでに。時間は掛かると思います

それで複数アイデアを持ってきて◆N5NekoNeko さんに
過剰な最適化させて貰って右肩上がり、高勝率、取引回数は極端に
少なくならないEAを複数作ってもらう。最適化は俺がやるでも良い
それと別の一つEAを作る。エントリー条件は複数作ったEAのエントリーの多数決で決める
もしくはエントリーの多数決について改良を加える。
エグジットは最適化させる。
これでデモだけどリアルで稼動させ勝てたら証明完了という流れで良いですか?

あと少し質問なんですけど
>>115で上げれている
1.MAの傾きで売り買い
3.ボリンジャー2σで売り買い
4.RSI 20以下で売り買い
などボリンジャーバンドの傾きで売り買い
過去にあったVQ、QQEAなど。組み合わせて売り買いの
過剰な最適化で数年間高勝率右肩上がりのEAは作れませんよね?

151 :Trader@Live!:2011/07/25(月) 19:30:03.09 ID:3CeEBMpu
だれか、ドテン型のEAを実際作った人いる?
成績はどう?

152 : ◆N5NekoNeko :2011/07/25(月) 19:30:24.14 ID:R5eUmIra
>>149
これまで議論で負けた経験は無いと思うから、追い出されたことも無いと思う・・・
というか、主にユーロドルスレがメインであんまりここには来ないからぬー

153 :Trader@Live!:2011/07/25(月) 19:31:43.56 ID:P7+FnSNV
すごいことになってるっぽいけど100レスくらい読み飛ばした。ココまで読んだ

154 :Trader@Live!:2011/07/25(月) 19:33:06.18 ID:FPmVP2F5
>>148
結婚運じゃないけどね。

主要な通貨パワー(USDとかEURとか)6つの分のMAなりモメンタムなりがあって
それが横軸を挟んで線対称で似た動きになったら
その2つの通貨パワーの組みを買うなり売るなりするんだけど
その似た動きをどう考えるかって悩んでます
変化率でフィルターかけて変化率が大きい2つってなら簡単だろうけどなにか違う気がして

155 :Trader@Live!:2011/07/25(月) 19:35:49.18 ID:x2udLX/1
アイデアというよりEAが腐る程あるんですけど…全部ですか?
>>152

156 : ◆N5NekoNeko :2011/07/25(月) 19:44:39.69 ID:R5eUmIra
>>150
前半の証明の件と、後半の組み合わせの件、まとめて回答すると
まず、相場で勝てるかどうか、というのはパターンを見つけられるか、ということは間違ってない。
だけど、たとえば過去のデータから、たとえば「素数である日付の相場は80%の確率で上がっている」
というデータを見つけたとして、それが今後も通用する!と主張することは明らかにオカルトの領域であることはわかると思う
じゃあ、MA、ボリバン、RSIはどうなの、というと正直「多くの条件の下では」眉唾であると考えている
MAの傾きとは何か、というと動きを平均したものの差(微分)でしかないわけだし、
ボリバン2σは「大きく動いた」ということ、
RSIも売りと買いの比率が「そうである」ということでしかない
故に、それ単体で(たとえばMAの傾きが〜だから買い!、とかボリバンXσだから売り!とか)だと
オカルトとトントンの結果しか出ない、(スプ分で損失)ということは相場の複雑さを考えれば容易にわかる。
(実際にやってみればいいんだけどね。)
じゃあどうするか?そこがロジックの肝なのでガンガレ
 >過剰な最適化で数年間高勝率右肩上がりのEAは作れませんよね?
確率的にはバックテストに限れば、上記の条件で右肩上がりのEAはできる
たとえばMAのGCDCだけでも、短期を1-20、長期を20-100と仮定しても20x80=1600通りの組み合わせがあり、
そのなかでバックテストで右肩上がりになるものがあっても不思議ではない。
もちろん、将来的に利益が上がるか?ということは別にして。

ちょっと休憩。

157 : ◆N5NekoNeko :2011/07/25(月) 19:49:25.14 ID:R5eUmIra
>>154
>それが横軸を挟んで線対称で似た動きになったら
横軸って何をあらわしてるんです?縦軸もよくわかりません
>その似た動きをどう考えるかって悩んでます
「似た動きを検出する方法」ってことでいいのかな?

その通貨パワーが表示されてるスクショ見せてくれたらわかる気がする

158 : ◆N5NekoNeko :2011/07/25(月) 19:53:54.48 ID:R5eUmIra
こういうことかな・・・

http://mog.tank.jp/up/src/mog3658.jpg

159 :Trader@Live!:2011/07/25(月) 20:04:27.58 ID:FPmVP2F5
>>158
そういうこと
横軸は時間タテが強さ
ttp://mog.tank.jp/up/src/mog3659.jpg
「似た動きを検出する」にはってことです

160 :Trader@Live!:2011/07/25(月) 20:06:25.70 ID:bO61oynw
異常に伸びてると思ったらおまえら・・・

161 :Trader@Live!:2011/07/25(月) 20:09:21.43 ID:3CeEBMpu
この速さなら大丈夫
NullPointerException

162 :Trader@Live!:2011/07/25(月) 20:13:26.07 ID:x2udLX/1
>>158
>じゃあどうするか?そこがロジックの肝なのでガンガレ
ちょっと待ってください意味が分からない。
テクニカルをオカルトと言ってしまってつまり設定さえもオカルトという設定
それでそのオカルトな事意外で
具体的なあらかじめ設定する売買ルール(ロジック)を言え?
意味不明な事言わないで下さい

>確率的にはバックテストに限れば、上記の条件で右肩上がりのEAはできる
>もちろん、将来的に利益が上がるか?

出来るんですね。簡単に作れてしまう。それで将来利益が出るかは謎という事ですよね

その謎な部分を俺は確かめたいんです。過剰な最適化を行ったものが
リアルでは勝てるのかどうかという事
俺は少し改良を加えて
そういった過剰な最適化を行ったEAを複数作り
その複数のEAのエントリー条件を元に
エントリーするEAを作ってさらにそのEAのTPも最適化させる
出来上がるEAは高勝率で右肩上がりです。リアルでも通用するはずです。
でも
リアルで通用するかどうか誰も証明出来ない、分からない。だからそれを検証したいんです
勝てるなら通用するという事です
◆N5NekoNekoさんも分からないんですよね?だから検証しましょう

163 : ◆N5NekoNeko :2011/07/25(月) 20:14:41.26 ID:R5eUmIra
>>159
なるほどなるほど。
変化率ってのはつまり、たとえば強さP(通貨、時間)だとして、
P(USD,1)-P(USD,0)みたいな感じかな。(これじゃ無理そうだけど)

線対称(上下逆方向の動き)って条件があるなら簡単。
まず一方をある時点から逆にして、スケールを合わせる。(スケールについてはあわせなくても良いかも?)
んで、期間内の二つのPの差を総計して、どっちかのもしくは両方の期間内の上下の幅で割ればいい
分散の考え(大きな違いを重く見る)を取り入れるなら、差の二乗合計を用いてもいい。
それで、差の変動幅に対する割合を条件にすれば良いと思う。

返信に時間かかったから、書いてるてる間に思いついちゃったかなー
わかりにくかったらいってくれれば、画像で説明します

164 :Trader@Live!:2011/07/25(月) 20:15:38.18 ID:B3uM9/KF
>>159
類似度=N次元の距離とする方式は?
√{(x-X)^2 + (y-Y)^2 + (z-Z)^2}

x,y,z:通過ペアAのMA(傾きとか),モメ(剥離率とか)、RSI(そのまんまでOK)
X,Y,Z:通過ペアAのMA(傾きとか),モメ(剥離率とか)、RSI(そのまんまでOK)


165 :Trader@Live!:2011/07/25(月) 20:17:45.81 ID:3CeEBMpu
そもそもオカルト的な依頼なのに、、

166 :Trader@Live!:2011/07/25(月) 20:17:54.99 ID:P7+FnSNV
>>161
■━⊂( ・∀・) 彡 ガッ☆`Д´)ノ

167 : ◆N5NekoNeko :2011/07/25(月) 20:21:51.30 ID:R5eUmIra
>>162
ロジックの肝、に関する答えは自分自信で納得できるものは持っている。
けどそれをいうわけにはいかないから、がんばって考えてね、という意味だと補足。

あとテクニカルをオカルトといってるんじゃなく、テクニカルといわれているものであっても
相場の複雑さに比して、十分無意味といえる単純さの組み合わせでは「オカルト」といえるものと
同じような結果しか出ない、ということ。同じではないが、結果として同じ様なものってことだぬ。
まあ、推敲すればなんとかなると思うお。けどここで話題のオーバーフィッティングっていうのは間違ったアプローチ、というのが
私の考えだけどね。

一応考えを聞いておくけど、「素数の日付の相場は上がりやすい」っていうのがもし仮にあったとして、どう思う?

168 : ◆N5NekoNeko :2011/07/25(月) 20:23:10.55 ID:R5eUmIra
どう思うってのは、要するに
「じゃあこれからは素数の日付でロングエントリー場苦役!!」と思うか
「今後も続くかはわからない」と思うか、ってことね。

169 :Trader@Live!:2011/07/25(月) 20:26:43.75 ID:FPmVP2F5
>>163
変化率は
MathLog(usd,1/usd,0)
たぶん形式間違ってるけどこんな感じ

ちょっと理解できてない
>両方の期間内の上下の幅で割ればいい
ここが特に
画像お願いします

170 :Trader@Live!:2011/07/25(月) 20:32:26.23 ID:FPmVP2F5
あとスケールは総和が0になるような指標なので合わせないつもり

171 :Trader@Live!:2011/07/25(月) 20:34:14.03 ID:3CeEBMpu
以下の仮定において、
確率は上がるか下がるか解らない1/2である。
上昇トレンドの最中である。

その場合トレンド追従派の俺にとっては、今後も上がるに賭ける。

そんなおいらは、素数の日にエントリーするなあ。

172 : ◆N5NekoNeko :2011/07/25(月) 20:38:13.20 ID:R5eUmIra
>>169
http://mog.tank.jp/up/src/mog3660.jpg
たとえば、2つの違いが10単位だとしても100動いたときに違いが10単位なのか、
1000動いたときに10単位なのかで違うから動いた幅で割ってみようってだけの話。

もっと厳密にするなら、過去のデータから通貨の違いのσだしておいて(もちろん上記の変動幅で割る、は行う)、
違いが+Xσ以上ならって条件もありだぬ。
Log使う方が好み?まあいいか・・・。

適当コードで書くなら
P(USD,n)-P(EUR,n)の総計を、
MAX(P(USD,0)〜P(USD,Y))-MIN( 左に同じ )
って感じ

173 : ◆N5NekoNeko :2011/07/25(月) 20:46:07.49 ID:R5eUmIra
>>172 補足
適当コードで書くなら
P(USD,n)-P(EUR,n)の総計を、
幅:MAX(P(USD,0)〜P(USD,Y))-MIN( 左に同じ )
で割る って感じ

もしかして
>どっちかのもしくは両方の期間内の上下の幅で割ればいい
この書き方だったから、「両方の」って表現がひっかかってるのかな。
スケールあわせるかどうかわからなかったからこの書き方になっただけで、
スケールあわせないなら、幅は両方の
(USDとEURの期間内MAXで大きいほう)-(USDとEURの期間内MINで小さいほう)
を使おうってだけの話
わかりにくくて御免

174 :Trader@Live!:2011/07/25(月) 20:58:28.46 ID:FPmVP2F5
なんとなくわかりましたあがりがとう

175 :Trader@Live!:2011/07/25(月) 21:03:53.52 ID:x2udLX/1
>>168
>一応考えを聞いておくけど、「素数の日付の相場は上がりやすい」っていうのがもし仮にあったとして、どう思う?
丁寧に二択用意してもらったんでその二択から答えると
「今後も続くかはわからない」と思う

上がり「やすい」ってだけしか問にないのでそれがどの程度なのか判断できませんが
上がり「やすい」って言うのだけでは「今後も続くかはわからない」と思う
ただちゃんとしたバックテストを基にした結果の答えなら
「じゃあこれからは素数の日付でロングエントリー場苦役!!」と思います
ただ俺はそれだけじゃ不十分だから例えば「奇数の日付の相場はあがりやすい」というのが仮にあったとして
それもエントリーの基準として考えたらより確実な勝利が得られると考えてます
ただこの考えは誰も証明できません。だから証明したいんです。勝つ事で


じゃあこっちからも質問です
なんでオーバーフィッティングっていうのは間違ったアプローチだと思うんですか?
俺は間違ってないと思います
過去の値動きのパターンは繰り返される、過去に起きたパターンの出現率と
新しく発生するパターンの出現率を比べると
過去に起きたパターンの出現率の方が高いと俺は思うから。
過去の値動きのパターンは繰り返されているのだからオーバーフィッティングさせてようが
過去の取引で最高の成績を収めたEAは今後も良い成績を収めるだろうと考えます。エッジのあるトレード
をしていますから。確率的に

176 :Trader@Live!:2011/07/25(月) 21:10:13.02 ID:x2udLX/1
エッジのあるトレードがリアルで出来る
EAをオーバーフィッティングさせるのは間違ったアプローチではないです

177 : ◆N5NekoNeko :2011/07/25(月) 21:18:41.19 ID:R5eUmIra
>>175
えーと、自分としては、
「素数の日付の相場は上がりやすいってのがあったとしてもオカルトだけど、テクニカルの場合は違う」
って答えを期待してたんだけども・・・。
じゃあ、オーバーフィッティングという言葉に含まれる間違いともあわせて説明しよう。

たとえばさ、太陽の黒点の数、その日に生まれた男子の数、降水量の下一桁、
年月日をそれぞれ加算して13で割った数、巨人の今期勝利数、「日付が素数かどうか」。
なんでも良いけど、「おそらく相場に関係の無いであろう数」をとにかくいっぱい集めてきて、
それぞれの組み合わせから売買の判定を出すバックテストをしたとしよう。
仮にその売買のパラメータ組み合わせ数が、5000位だとしよう。
その5000の組み合わせを片っ端からバックテストして、3個右肩上がりのものがあったとして、
それは今後有効といえるかどうか?
これがオーバーフィッティング。

確かに有効なシステムでは、「最適化」(オーバーフィッティングと表現したくない)は意味があるが、
全く有効でないシステムでも数の論理で手当たり次第にバックテストを行えば、確率的にいくつかは右肩上がりの
ものを作ることができる。
故にロジックからではなく、オーバーフィッテングから何かを生み出そう、という試みは意味がない。

下半分の「パターンが云々」っていうのはちょっと前に私が書いた通り。

178 : ◆N5NekoNeko :2011/07/25(月) 21:27:01.68 ID:R5eUmIra
簡単にまとめると、
・有効であるシステムに対する最適化は意味がある
が、
・でたらめなシステムに対する最適化でもバックテスト上は利益を出すことができる
つまり
・バックテストで利益が出るかどうかはシステムが有効かどうかに関係ない(出そうと思えばいくらでも出せる)
故に、
・バックテストによるオーバーフィッティングからのアプローチは意味がない

179 :Trader@Live!:2011/07/25(月) 21:34:46.64 ID:B3uM9/KF
>>◆N5NekoNeko
色々聞きたいことがあったんだけど2つだけ。
処理ロジックは重要じゃないので割愛します。

1.数千個の一般的なテクニカル/パラメータの組み合わせ
 (=2^数千パターン)のトップor上位は未来も有効か?
 ⇒私は有効だと思っているが、どうか。

2.組み合わせの良し悪し(スコア)を定量化するには何がよいか?
 ⇒現在は(値動き予測,取引結果)の相関係数、
  またはBTのTotalNetProfit/Trade期間/MaxDD(not%)で判断している。

どちらも今開発&テスト中のシステムの肝の部分です。

180 :Trader@Live!:2011/07/25(月) 21:38:50.32 ID:B3uM9/KF
>>◆N5NekoNeko
補足)

・数千個の一般的なテクニカル/パラメータ
 例)移動平均薄利率、ボリバンの幅、直近の強相関通貨との値動き乖離など
   書籍やWebなどで「有効」と語られている手法


181 :Trader@Live!:2011/07/25(月) 21:45:02.97 ID:z/opavzw
ニコニコに対する反論としては、
有効であるシステムについても、普通にオーバーフィッティング出来ちゃうだろ、
と言うだけで十分な気がするわ。

オカルト−非オカルトの区別とは別問題だろ。

182 :Trader@Live!:2011/07/25(月) 21:51:46.01 ID:3uLntw5h
取り敢えず日課でこのスレ見てるけど
おまえら書き込みすぎ(笑)読むの大変(笑)
誰か今日あった事ガンダムに例えて三行にまとめて

183 : ◆N5NekoNeko :2011/07/25(月) 21:59:17.47 ID:R5eUmIra
>>179
1は表す内容がどうなのか、による
A数千個の「(一般的なテクニカル)/(パラメータ) 」を組み合わせ一つのシステムにする
B「(一般的なテクニカル)/(パラメータの組み合わせ)」を過去の相場から数千個調べ、有効な組み合わせのトップを抜き出す
Aなら、もちろん統合の方法にもよるが有効であると思う。
Bなら、そうではないと思う。

2.
システムの評価についてはいろいろあるので、どれが一番優れている、とはいえないが
他人のシステムを評価したときは、損益グラフの直線性、複数ポジとるならそこからの必要資金からの利率、とか使ってた。
利益、期間、DDの利益については必要資金換算にしたほうがいい。
期間よりも予想回数(≒取引回数)のほうが良いかも。(たとえあ、ナンピンを使うようなものは取引回数≠予想回数。自分のEAじゃナンピンなんて使わないけど・・・。)
DDに関しては、そのバラツキも判断したほうがいい。同じようなDDが何度も続いているのか、大きなDDが一回あるのかではシステムの安定性が違う。
ほかに何かあったかな。
基本的には、システムが有効かどうか、というのはロジック

184 : ◆N5NekoNeko :2011/07/25(月) 22:00:22.71 ID:R5eUmIra
途中送信。
大体書いてあるし、まあいいか。

185 : ◆N5NekoNeko :2011/07/25(月) 22:07:26.31 ID:R5eUmIra
書き方がわかりにくいか。
Bでいいたいことは、
B「(一般的なテクニカル)/(パラメータの組み合わせ)」を過去の相場から数千個調べ、成績のいいものをリストアップ。
→たとえば、MA(15)とMA(25)のクロスが一番成績がよかった、ならそれを使用する
ということ。

186 :Trader@Live!:2011/07/25(月) 22:10:26.64 ID:FPmVP2F5
2.
モデル効率 = 利益/完全利益
完全利益は毎日トレードして必ず勝った場合の利益
定量化としては一番優れていると思われる
日足でトレードするには2割必要って偉い人が言ってた。
逆に言えば2割あればどんな相場でも勝てるとも。

187 :Trader@Live!:2011/07/25(月) 22:18:07.60 ID:z/opavzw
>>186
>完全利益は毎日トレードして必ず勝った場合の利益

違うだろ。
しかもそんなマイナーな基準を引用元明記せずに使うなよ。

188 :Trader@Live!:2011/07/25(月) 22:22:09.48 ID:FPmVP2F5
>>187
アルゴリズムトレーディング入門のP403
この場合の完全利益は上の意味だよ
なんで起こってるのかしら

189 : ◆N5NekoNeko :2011/07/25(月) 22:27:41.57 ID:R5eUmIra
>>186
に関しては、自分で作った、ロジックが正しい、機能するシステムだと確信できるならそれ(モデル効率?)が簡単だし、一番いいかもしれない
要するに(潰れないとと仮定して)銀行の金利を比べるようなものだから。
他人が作った正しいシステムなのかどうかわからないもの、将来機能するかわからないものを比較するには不十分のような気がする

190 :Trader@Live!:2011/07/25(月) 22:27:42.27 ID:cx1TzePt
>>175
回帰式で説明すると次数が上がると自由度が高まりフィッティングしやすくなるということ。
これがオーバーフィッティングの本質。パラメータを沢山作ると都合よくはまる組み合わせが
見つかって利益が出るようになるんだよね。

191 :Trader@Live!:2011/07/25(月) 22:41:27.57 ID:z/opavzw
>>188
じゃあ日足なら日足のOHLCが100, 150, 50, 100だったら、
完全利益はいくつなんだよ。

192 :Trader@Live!:2011/07/25(月) 22:45:14.33 ID:x2udLX/1
◆N5NekoNekoは有効であるシステムと
でたらめであるシステムの区別に付いて全く触れても居ないのに
それらから結果を出した。この結論は◆N5NekoNekoの思い込み、詭弁である
まずその結果を出す前に有効であるシステムの定義付け
でたらめであるシステムの定義付けを
しないと何を言ってるのかさっぱり分からない。
俺の意見はバックテストによるオーバーフィッティングからのアプローチは
確率的にエッジのあるトレードを可能にするので
バックテストによるオーバーフィッティングからのアプローチは確率的に考えて有効
ゾーンの著者マーク・ダグラスはトレードでのエッジついて
「Trader's Edge : Thinking In Probabilities」と説いている
トレードのエッジつまり強みは確率から来る
それらは過去のデータのバックテストから得られ
過剰なオーバーフィッティングしてようがその結果から求められた高勝率の確率は
エッジのあるトレードを可能にする
オーバーフィッティングからのアプローチは有効性を持つ

193 :Trader@Live!:2011/07/25(月) 22:48:50.17 ID:P7+FnSNV
お前の勝ちでいいよ
もう自分の思う通り好きにやってりゃいいじゃん

194 :Trader@Live!:2011/07/25(月) 22:51:32.34 ID:FPmVP2F5
>>191
その一日だけなら0


195 : ◆N5NekoNeko :2011/07/25(月) 22:51:35.83 ID:R5eUmIra
それってファb(ry
だからMAとかRSIとかじゃロジックがシンプルすぎてパターンを捕らえる程の複雑さが・・・
デタラメを定義するんじゃなくて、有効じゃないシステムがすべてデタラメであるので、有効であるロジックを晒す気は・・・

まあいいや。
じゃあ、どういうシステムを作ってほしいの?
実際に試してみると良いと思うよ。

196 :Trader@Live!:2011/07/25(月) 22:54:12.03 ID:z/opavzw
>>194
アホ。それは「偉い人」が作った人間レシオというんだよw

197 : ◆N5NekoNeko :2011/07/25(月) 22:59:00.35 ID:R5eUmIra
12時までにお風呂入って寝たい・・・

198 :Trader@Live!:2011/07/25(月) 23:00:48.96 ID:DkXMd2Th
良き討論であったぞ、皆の者乙

199 :Trader@Live!:2011/07/25(月) 23:02:20.73 ID:z/opavzw
>>195
お前、本当に最初から最後まで事の本質を分かって無かったんだなあ。
問題は最初から「証明」の仕方にかかってたっていうのに。

200 : ◆N5NekoNeko :2011/07/25(月) 23:05:02.14 ID:R5eUmIra
>>199
本質をわかっていない人が、あの人は本質をわかっていない、といっているのか、
本質をわかっている人が、あの人は本質をわかっていない、といっているのか、
おなじ、あの人は本質をわかっていない、という発言からはわからないものだなぁ(まる)

何が言いたいのかさっぱりわからん

201 :Trader@Live!:2011/07/25(月) 23:11:42.87 ID:oe1wDHnS
なんか、
 クリスマスプレゼントにお前らの言う通りのEAを作ります!と言ってトンズラ
 今月中にそのインジで儲かるEA作ります!と言いつつ、宿題として人にやらせようとする
やつに似てると思うのは俺だけ?


202 : ◆N5NekoNeko :2011/07/25(月) 23:12:48.07 ID:R5eUmIra
あー・・・
クリスマスは、リアルタイムでその人見てた・・・

203 : ◆N5NekoNeko :2011/07/25(月) 23:28:43.35 ID:R5eUmIra
シャワー浴びてきたけど、特に進展ないな・・・

204 :Trader@Live!:2011/07/25(月) 23:31:22.61 ID:MiuF+Ide
みんな仲がいいのやら悪いのやら

>>192
唯一相手してあげようって人にたてついちゃいかんでしょう

>>142
> 俺が目下開発中のものを全否定されて笑ったw
あはは、まあ同じようなことを考えた人は他にもいるでしょうから、
その中には成功してる人もいるんじゃないかな
前スレあたりで「逆転の発想おもしれぇ〜」みたいなカキコがあったけど、
そんな発想のEAです
オーバーフィッティング イクナイ→じゃトコトンオーバーフィッティング
させればどうなるんだ?
過去の数万トレードの結果を分析して結果に従えば?
週足、日足、H4足のMA乖離しか見てないけど、BT結果は予想以上でした
もしかしたらPF1.5を望むのは贅沢としても、1.2か1.3くらいは大丈夫かも
そんな期待も最初のフォワード分析で雲散霧消

142さんのEAは全く違うものでしょうから、俺の失敗で悲観することも
ないでしょう

205 :179:2011/07/25(月) 23:35:49.87 ID:nlzI9rWY
>>183-189
コメントありがとうございます。移動中でした。すみません。

>◆N5NekoNeko

1.はBです。(数千個のテクニカル) の組み合わせですね。
テクニカル/パラメータの集合体 Func[5000]に対し
Funcの利用率 Weight[5000]{0〜2} の最適解を探すシステムです。
検証数が膨大なので、EA,BT,GA全てC,CUDAにて自作しています。
⇒アドバイスによると、方向性は大外れではないと理解しました。

2.損益グラフの直線性のスコア化は有効そうですね。
現在使っているスコア 「予想値動きと取引結果の相関係数」や
「利益/DD等から算出した年利」は、ある一定期間に爆発的に利益が出て
あとはトントンの組み合わせが優秀と判断され、困っていました。
損益グラフと理想直線の偏差にて直線性を判断してみます。

アドバイスありがとうございました。

206 :179=142:2011/07/25(月) 23:46:21.65 ID:nlzI9rWY
>◆N5NekoNeko

一番間違えちゃいけないところ間違えた。
1.は「A」です。。。。

>>204
142は私です。フィッティングパラメータは上記の通り数千に及ぶ予定です。
パラメータを突っ込む(式を書く)ところ以外は全自動なので、とりあえず
ガンガン突っ込んで結果を報告してみます。

プロトタイプの分析結果は、こんな感じです(パタメータ128個)
BT5年:P/F1.5 3000取引 収益/DD/年=1.3
FT1年:P/F1.3 400取引 収益/DD/年=1.0

207 : ◆N5NekoNeko :2011/07/25(月) 23:56:10.60 ID:R5eUmIra
>>206
そっか。
Bって言ってるのに内容が?だったんだけど、Aなら安心、というかなんというか。
私が使用してるのと方向性は似ているので、うれしいというかなんというか。
>検証数が膨大なので、EA,BT,GA全てC,CUDAにて自作しています。
やっぱりそうなるよねー
私も、最初作ったときは更新時に15分くらいフリーズして、高速化に苦心しました

2についても多少なり役に立ったようならうれしい。

205を見た印象から、もうちょっとアドバイスというかヒントをほのめかすなら、「関係」を考えるともっとよくなるかもしれない。
具体的にどういうことかはいわない。言わなくても既に取り入れてるアイデアかもしれないしね。ガンガレ

それでは皆さんおやすみなさい
気が向いたらまたきます。

208 :Trader@Live!:2011/07/26(火) 01:00:42.98 ID:9hQ4xmgs
>>192
書きたくもないけど、勘違いする人がいるといけないので

> ゾーンの著者マーク・ダグラスはトレードでのエッジついて
> 「Trader's Edge : Thinking In Probabilities」と説いている
> トレードのエッジつまり強みは確率から来る
ここまではOK、次の解釈が余計というかデタラメ

> それらは過去のデータのバックテストから得られ
> 過剰なオーバーフィッティングしてようがその結果から求められた高勝率の確率は
> エッジのあるトレードを可能にする
> オーバーフィッティングからのアプローチは有効性を持つ
トレーディングルール作成のための最適化の結果は確率ではなく絵空事
ルール作成後のルールに従った結果が確率

209 :204:2011/07/26(火) 01:03:55.10 ID:9hQ4xmgs
>>206
FTでも利益がでてなにより
PF1.3 収益/DD/年=1.0 これくらいが現実的というか理想的かな
俺もデータありきのアプローチはダメだろうと思う反面、もしか
したらこれくらいはと期待してたんですが
俺の場合「BT結果はたぶん大丈夫、その後FTがダメなとき、複数
のインジを使用していると原因究明は困難だろう」ということで
インジは1つに絞りました
おかげであっさりとこのアプローチは忘れるという結果に至りました
206さんの健闘を祈ります

210 :179=142:2011/07/26(火) 01:36:31.09 ID:jOta6q0t
>◆N5NekoNeko
>204
色々ありがとうございます。精進します。
私も朝早いので寝ます、おやすみなさい。

皆に堅益あれ!

211 :Trader@Live!:2011/07/26(火) 02:02:17.62 ID:jAhHmbdp
お前らのイケテルEAのバックテスト時の成績と、リアル運用時の成績教えてくれ。
トレード回数とPFだけでもいいから。
PF1.2〜1.4の壁が超えられない。


212 :Trader@Live!:2011/07/26(火) 02:27:57.68 ID:rE2gIv+K
俺が使ってるシステムは5つ。全て自作。
BT時との大きな違いはほぼ全てのシステムで
RDDがBT時の2倍近いこと
他はほぼBTどおり

A:2010年 PF1.40 145trade RDD28.25%
B:2010年 PF1.55 137trade RDD4.66%
C:2010年 PF1.53 96trade RDD22.01%
D:2010年 PF1.43 181trade RDD15.29%
E:2010年 PF1.24 41trade RDD15.57%

213 :Trader@Live!:2011/07/26(火) 03:18:55.99 ID:5mtYyyew
ID:x2udLX/1
ウザ!! あぼーんした

214 :Trader@Live!:2011/07/26(火) 05:16:47.64 ID:jAhHmbdp
>>212
それは実運用の成績?それともバックテスト?
ドローダウンはやっぱ余裕持った方が良さそうだな。2倍も違うのか。

215 :Trader@Live!:2011/07/26(火) 07:33:37.46 ID:jAhHmbdp
コントロールポイントでPF1.8出来た〜と思ったらエブリティックで1.4に下がった。
こんなに変わるかよ‥。

216 :Trader@Live!:2011/07/26(火) 08:14:57.35 ID:tdV6duNp
RDDが2倍なのに他はBTどおりになるシステムって?

217 :Trader@Live!:2011/07/26(火) 08:44:54.05 ID:tcIryidk
やっと使えそうなのができたかな?
 http://nullpo.vip2ch.com/ga4233.png
2008〜2010でオプティマイズ、2008〜現在でBT。

218 :Trader@Live!:2011/07/26(火) 10:03:11.57 ID:+kg9c6M+
>>217
通貨ペアなんですか?

219 :Trader@Live!:2011/07/26(火) 10:18:01.68 ID:rE2gIv+K
>>214
実運用の成績。BTだとこれより遥かに成績良い
>>216
不思議だろう?RDDは2倍近くなるのにPFはそんなに下がらないんだぜ
全てロジックは違うのにさ
2005−08最適化&BT&2005−2008単年ごとBT&2009FTの後2010実弾
>>217
mismatched chart errorsとmodeling qualityを直したほうがいい

220 :Trader@Live!:2011/07/26(火) 10:24:12.98 ID:4+8W5Xno
1分足から作った各足でのeverytickでのBTですら信頼性薄いのに
mismatched chart errorsとmodeling qualityがひどいBT結果を鵜呑みにするのは危険だお

221 :Trader@Live!:2011/07/26(火) 10:43:54.15 ID:jAhHmbdp
誰か成績上げるコツ教えてくれ。玉操作しないとやっぱ無理?
あとみんな何分足で作ってるの?なるべくトレード回数多い方がいいと思って
5分とか15分で作ってるが結構無理ゲーっぽくなる。

222 :Trader@Live!:2011/07/26(火) 11:10:07.49 ID:7rLnm4iU
>>221
どうすれば良いかを考える前に、
なんでダメなのかを考える。
なんでダメなのかを考える前に、
どこがダメなのかを考える。

利益が上がらないのか、DDが大きいのか、
成績が安定しないのか、取引回数が少ないのか、
トレンドに弱いのか、レンジに弱いのか、
MT4の基本機能だけでもわかる事は沢山ある。

現状分析なき試行錯誤は時間を浪費するだけだよ。

223 :Trader@Live!:2011/07/26(火) 11:20:45.33 ID:3rcDwKWc
>>219
実tickデータの99% qualityでBTしたらDDが増えるかもよ。
俺はDukascopyのTickデータ使ってBTしてる。

224 :Trader@Live!:2011/07/26(火) 12:09:44.84 ID:lW05OnGp
30分足以上ならpfが1を超えるのを作るのはわりと簡単だと思う
トレンドフォロー型ならだいたいいけるはず
でも、それだけだと月200pips程度になっちゃう

225 :Trader@Live!:2011/07/26(火) 12:12:36.83 ID:lW05OnGp
DDが大きいと思っても、成績が安定しないと思っても、取引回数が少ないと思っても、
トレンドに弱いと思っても、レンジに弱いと思っても、解決方法が見出せないんです・・・

トレンドに強くしたらレンジに弱くなるし、DDを減らしたら取引回数が少なくなるし・・・

226 :Trader@Live!:2011/07/26(火) 13:57:41.97 ID:j4NkyRNH
開発なのに一切開発してない件
所詮痰壺

227 :Trader@Live!:2011/07/26(火) 14:03:07.22 ID:j4NkyRNH
お前ら程度が作れるEAは世の中に無料で配布されてるだよwwwwwwwwww
http://codebase.mql4.com/experts



      ク    ク || プ  //
      ス  ク ス  | | │ //
       / ス    | | ッ //   ク   ク  ||. プ  //
       /         //   ス ク ス _ | | │ //
         / ̄ ̄\     /  ス   ─ | | ッ //
       /  _ノ  .\     /         //
       |  ( >)(<)       ____
.        |  ⌒(__人__)     ./ ⌒  ⌒\
        |    ` Y⌒l    /  (>) (<)\
.         |    . 人__ ヽ /  ::::::⌒(__人__)⌒ \
        ヽ         }| | |        ` Y⌒ l__   |
         ヽ    ノ、| | \       人_ ヽ /
.         /^l       / /   ,─l       ヽ \



228 :Trader@Live!:2011/07/26(火) 14:05:27.27 ID:j4NkyRNH
開発スレ(笑)何の具体的アイデアもなく開発するでもなく、EAをうpするでもなく

【MT4/MT5】 EA開発スレ Part9だっておwwwwwwww




      ク    ク || プ  //
      ス  ク ス  | | │ //
       / ス    | | ッ //   ク   ク  ||. プ  //
       /         //   ス ク ス _ | | │ //
         / ̄ ̄\     /  ス   ─ | | ッ //
       /  _ノ  .\     /         //
       |  ( >)(<)       ____
.        |  ⌒(__人__)     ./ ⌒  ⌒\
        |    ` Y⌒l    /  (>) (<)\
.         |    . 人__ ヽ /  ::::::⌒(__人__)⌒ \
        ヽ         }| | |        ` Y⌒ l__   |
         ヽ    ノ、| | \       人_ ヽ /
.         /^l       / /   ,─l       ヽ \



229 :Trader@Live!:2011/07/26(火) 14:06:14.87 ID:j4NkyRNH
腹痛てぇwwwwwwwww

230 :Trader@Live!:2011/07/26(火) 14:13:57.49 ID:kpZvt7wz
なんだ昨日のゆとりか?w

231 :Trader@Live!:2011/07/26(火) 14:15:26.27 ID:pT52GYmF
二人いたどっちかだな

232 :Trader@Live!:2011/07/26(火) 14:25:21.63 ID:c6tnxVW7
夏だなあ

233 :Trader@Live!:2011/07/26(火) 14:31:13.34 ID:j4NkyRNH
このスレの特徴
・開発スレなのに一切開発はしてない
・アイデアに価値がると思ってアイデアも出さない(実際は無価値、無料で公開されているもの以下w)
・EAはうpされることはまずなく。あっても糞EA
・住民は負け組みですぐ切れる

234 :Trader@Live!:2011/07/26(火) 16:05:38.24 ID:lW05OnGp
まぁ文章で手法を説明するのとは違って、EAうpしたらそのまんまだもんな
わずかなコードの中に使うテクニカルも売買方法もイグジットも全てが詰まってるんだもん

235 :Trader@Live!:2011/07/26(火) 16:16:50.06 ID:kpZvt7wz
なんの努力もせずにクレクレ狙ったゆとりが発狂してるだけでしょ
彼の妄想したことはシストレ初心者なら一度は通る道だから別にいいけど、
それを全部他人にやらせようとかゆとりもここまでかって思ったよw

236 :Trader@Live!:2011/07/26(火) 16:38:56.35 ID:qfJlqfGZ
前スレで浦田Qが出してた半年で口座残高が10倍になってPF9のEAは
どこにも売ってないしなぁ〜
プログラム組めない人の投機人生終了の感じ。


237 :Trader@Live!:2011/07/26(火) 16:45:01.53 ID:j4NkyRNH
まぁ痰壷の正しい利用をしてるだけですよ僕は
毎日変わったレスをして反応を楽しむ
荒らし行為などは一切せず反応を見て楽しむのが痰壷の楽しみ方でしょ
IDも毎日変わりますし

238 :Trader@Live!:2011/07/26(火) 17:02:13.48 ID:M67rmvIZ
EA絡みで職はないものかと探してみたのですが、
いまEA開発を仕事にしてるのはフリーランスか、それか怪しげな業者くらい?
(とりあえず、ヘッジファンドとかの金融エリートな人たちは別世界として)
まあ今のままじゃEA自体で稼げそうにないからなんですが。。

239 :Trader@Live!:2011/07/26(火) 17:23:21.52 ID:+kg9c6M+
トレサポでも紹介されているクロアチア人が作ったFreeEAを
改造して、発展させたいのですが、協力してくれる方
いませんでしょうか?

240 :Trader@Live!:2011/07/26(火) 17:34:16.87 ID:M67rmvIZ
いません

241 :Trader@Live!:2011/07/26(火) 17:37:56.66 ID:VkKZvWAw
>>j4NkyRNHって昨日の
>>x2udLX/1 ?



242 :Trader@Live!:2011/07/26(火) 17:40:09.42 ID:tcIryidk
>>218
ドル円。
>>219
直した。まぁ結果は変わらないけど。
 http://nullpo.vip2ch.com/ga4235.png

243 :Trader@Live!:2011/07/26(火) 17:43:40.06 ID:M67rmvIZ
EA絡みで職はないものかと探してみたのですが、
いまEA開発を仕事にしてるのはフリーランスか、それか怪しげな業者くらい?
(とりあえず、ヘッジファンドとかの金融エリートな人たちは別世界として)
まあ今のままじゃEA自体で稼げそうにないからなんですが。。

244 :Trader@Live!:2011/07/26(火) 17:44:56.53 ID:+kg9c6M+
>>240
あなた、ついさっきまでEA関係の職をさがしてましたよね。
そういう態度だと仮にそういう職があっても、採用してもらえないと
思うんですが。

245 :Trader@Live!:2011/07/26(火) 17:49:03.91 ID:M67rmvIZ
>>244

      ク    ク || プ  //
      ス  ク ス  | | │ //
       / ス    | | ッ //   ク   ク  ||. プ  //
       /         //   ス ク ス _ | | │ //
         / ̄ ̄\     /  ス   ─ | | ッ //
       /  _ノ  .\     /         //
       |  ( >)(<)       ____
.        |  ⌒(__人__)     ./ ⌒  ⌒\
        |    ` Y⌒l    /  (>) (<)\
.         |    . 人__ ヽ /  ::::::⌒(__人__)⌒ \
        ヽ         }| | |        ` Y⌒ l__   |
         ヽ    ノ、| | \       人_ ヽ /
.         /^l       / /   ,─l       ヽ \

246 :Trader@Live!:2011/07/26(火) 17:53:46.46 ID:c6tnxVW7
>>242
まじレスしますよ。
ドル円のショートオンリーだよね?
2008年からのドル円のチャート見てみなよ。ショートしてりゃ俺でも儲かる。
それとトレード回数と利益が少なすぎる。
PFはどうでも良くて、要するにDDを小さくして利益が大きくなればいい。金持ちになるためにやってるんだからね。


247 :Trader@Live!:2011/07/26(火) 17:54:27.80 ID:VkKZvWAw
金融エリート(金融工学?)が、俺たちが使っているようなテクニカル使って
EA開発してるのかな?
俺の知ってる限りは、ポートフォリオ理論使ってリスク管理したり、ブラックショールズ式使って
オプション価格を決めたり。そおいうのだと思うんだけど。
彼らとか、経済学者は総じて、価格は予想できないとして、テクニカル自体を
オカルトだと考えてるのが大半だと思う。

248 :Trader@Live!:2011/07/26(火) 17:54:30.47 ID:jAhHmbdp
>>222
なんというか自分が思うトレンドフォローや逆張りをテクニカルで再現するのが果てしなく難しいんだよなぁ。
いろいろやるとパラメータ多くなって複雑になって無意味になるからやりたくないし。
まぁこれはプログラミング能力の問題なのかもしれないけど。
あとトレンド図るためにMTFのインジ作ったがなぜかまともに動かない。バックテストだと違う時間軸の足参照できないのかな‥。
>>242
それ何分足?ってか凄い成績だな。コツを教えてくれ。ってかここでリアル運用結果を報告してくれ。


249 :Trader@Live!:2011/07/26(火) 17:58:30.02 ID:jAhHmbdp
>>247
彼らのシステムって億かかってるんでしょ?
少なくとも価格データのみのテクニカルの組み合わせでパターン認識はありえないだろうなw


250 :Trader@Live!:2011/07/26(火) 18:08:04.13 ID:VkKZvWAw
テレビとかで銀行のトレーディングルームとか映るときあるけど。
少なくとも、MACDやらRSIとか使ってるようじゃなかったな。(見せてないのかもしれんけど)
ただ200日のMAは映っていたわ。

251 :Trader@Live!:2011/07/26(火) 18:22:57.66 ID:tcIryidk
ロングはいまいち。ドル円1時間足。
 http://nullpo.vip2ch.com/ga4237.png
>>246
PF2以下のEAは運用する気になれないけどなぁ。

252 :Trader@Live!:2011/07/26(火) 18:48:59.58 ID:BA0ZvYTr
PF ってブローカーによってスプ違うから、やるならinstaとかでやればいい。

253 :Trader@Live!:2011/07/26(火) 20:18:01.65 ID:c6tnxVW7
>>251
運用してみればいいじゃない。BTだと見えないものが見えてくるよ。

254 :Trader@Live!:2011/07/26(火) 22:41:47.49 ID:VkKZvWAw
ドテンシステムで運用している人いる?

255 :Trader@Live!:2011/07/27(水) 00:58:41.64 ID:JNwUYe/g
一定期間内のMAの頂点を簡単に出す方法ありますか?
あと、最頂点から、現在のMAを結んだ線の角度なんてのも出せたりします?

三角関数とか使えばいけるんでしょうか

256 :Trader@Live!:2011/07/27(水) 01:27:35.66 ID:1XmDQcP+
>>254
ドテンシステム現在フォワードテスト中。経過20日くらいで若干のマイナス。
約4年半のBTで一度もスクエアすることなくプラスで終われた時は嬉しかったもんだけど、現実はそう甘くはないだろうね。
まぁそれを確かめるべくFTしてるんだけども。

257 :Trader@Live!:2011/07/27(水) 09:37:28.02 ID:ARr66MzO
>>256
おおお、ドテンシステムって天井・底を狙うのが理想なんだけど、
やっぱり難しいね。僕もFTを始めたところまだ、結果わかんないな。

>>255
MAの微分的なものを求めるのならMACDもその考えと近いので
MACDを研究するといいと思うよ。

258 :Trader@Live!:2011/07/27(水) 10:08:36.63 ID:NukQ2eF5
>>250
あんなのTV向けの画面にしてるだけだよ
200MAなのは「まあ当たり障りないな」ってだけのこと

259 :Trader@Live!:2011/07/27(水) 14:26:08.46 ID:Z4BUSaZY
blessing3という無料の海外製EAがあるのですが
パラメーターの設定次第によって円口座で正しくロット計算されません。

どなたか円口座で正しく稼働するように改造していただけないでしょうか。

少しですが(paypal等で)謝礼もお支払したいと思います。
ご興味のある方ご連絡ください。

shdalk457851@yahoo.co.jp

260 :Trader@Live!:2011/07/27(水) 16:22:42.88 ID:pm1rEUP/
このスレでエクセルのVBAのソースコード解読出来る人っていますかね〜 ロジックを知りたいんですが、
もしいたら解読を依頼したいんだけど。。。
タダとは言いませんよ手付金も払います
VBが出来て興味ある方は下のアドレスまでメール下さい。よろしくです。
kpp1919@livedoor.com

261 :Trader@Live!:2011/07/27(水) 16:27:01.32 ID:wO/ZRx1V
これって発狂したクレクレ君がやってんの?

262 :Trader@Live!:2011/07/27(水) 17:44:32.19 ID:nkPHfPrH
>>261
・スレ内で反応
 クレクレ君だった場合 ⇒ クレクレ君大喜び m9(^Д^)
 クレクレ君じゃない場合⇒ メールを晒しているので無意味
・メールで反応
 クレクレ君だった場合 ⇒ 被害拡大防止のためスレ内で報告、それ以上は触らない
 クレクレ君じゃない場合⇒ ヒマだったら開発してあげれば?

何が言いたいかっつーと、ここで反応しても良い事ないよ、と。

263 :Trader@Live!:2011/07/27(水) 21:24:51.85 ID:I2zfjVUH
別にクレクレにいちいち反応しなくてもいいと思うけど。
余裕があるやつは、親切に提供するだけだろうし。

264 :タイラー ◆QdImR0/90g :2011/07/27(水) 21:49:23.48 ID:G5QawKM7
>>259-260
mt4user01@gmail.com

265 :タイラー ◆QdImR0/90g :2011/07/27(水) 21:51:19.75 ID:G5QawKM7
あー途中で書きこんでしまた。
↑のメールアドレスにソース送ってくれれば、
出来るかどうかは今日中に答える。謝礼とか別にいらないけど
メアド欄のブログアクセスに貢献してくれると嬉しい。
ExcelのVBAは8年くらい昔の記憶しかないから
最新のは無理かもしれんけどできたらやる。



266 :Trader@Live!:2011/07/27(水) 22:17:14.45 ID:DGLlQmXm
質問です
最適化しても二つ目までは全パターンを検証してくれているのですが、
最適化する項目が三つ以上になると全パターンを検証していなかったり
もしくはほとんど検証していないことがあるのですが、仕様でしょうか?

267 :Trader@Live!:2011/07/27(水) 22:22:50.73 ID:eMoq9+z0
>>265
オフトピだがアクセス欲しいならblogのテーマ絞ったほうがいいよ。
自動取引が話題のblogならRSSリーダに登録しようかと思ったけど、ゲームの記事とか
一緒くたになってるからパスだわ。


268 :Trader@Live!:2011/07/27(水) 22:48:11.79 ID:ARr66MzO
>>266
日本語でお願い

269 :Trader@Live!:2011/07/27(水) 22:54:38.06 ID:DGLlQmXm
>>268
最適化するパラメーターが二つまでなら正常に動くのですが、
三つ以上になると問題が起こってしまっているように見えます

具体的には 1つ目がスタート1 ステップ1 ストップ4、
二つ目がスタート1 ステップ1 ストップ3、
三つ目がスタート1 ステップ1 ストップ5とかだと、4*3*5で60パターン検証するのが
正常だと思うのですが、30パターン程度しか検証されていないことがよくあります

これは仕様なのでしょうか?それともコードの記述の問題、もしくはバグなのでしょうか?

270 :タイラー ◆QdImR0/90g :2011/07/27(水) 23:20:16.86 ID:G5QawKM7
>>267
アドバイスありがとうございます。
ブログのアクセスの伸ばし方なんて今まで考えてなかったので
適当に垂れ流してる状態です。
確かにテーマを絞ったほうがいい記事になると思うんですが、
webでなんかやるっていうのは先にツイッターから入ってしまったので
それを引っ張って垂れ流し式になっちゃってるんですよねw
まぁ最低限自己アフィ出来ればいいんですが。

アクセス伸ばすことに主眼を置くならEA定期的に作って上げてみたり
MQL4について語れればいいのですがそれほど技術力があるわけでもなく…。
EAは出来合いのものを買う気はないので
レビュー系に特化する事もできずそれをアフィるわけにもいかず(w
まーのんびりやらせていただきます。
</ここまでチラ裏>

主題>>259さんと>>260さん、
mt4user01@gmail.com(もちろん捨て垢)までメールにて連絡いただければ
出来る保証はしませんが挑戦はします。もう眠りそうなので、
対応は明日の16時以降になるかと思います。
EXCEL2007ならMOS持ってますがあの資格はVBA関係ないしなぁ。

皆様お疲れさまです。長文荒らしすみませんでした。

271 :タイラー ◆QdImR0/90g :2011/07/27(水) 23:25:45.73 ID:G5QawKM7
>>269
パラ2つまでなら正常に全件テストできてたんなら
Genetic Algorithmはチェック外してあるよね?
あとは、最適化バックテストのOptimization Resultsの画面で右くりして
Skip Useless Resultのチェックを外す…。

くらいしか思いつかない。少なくともよっぽど特殊な数字をパラにしてない限り
MT4のバグって可能性は低いと思うよ。


272 :Trader@Live!:2011/07/27(水) 23:31:38.07 ID:j1kbjyNb
ただ単にMT4で使用できるメモリーの上限に達しただけだったりして。

273 :Trader@Live!:2011/07/28(木) 00:00:40.37 ID:DGLlQmXm
>>271
どちらもチェックがついていたので、今作っているEAで
またそのようになってしまったら試してみます
ありがとうございます

>>272
MT4のメモリーに上限はあまり高くないのか、
もしくは作ったEAがメモリーを食いすぎる構造になってしまっているのか・・・
コード見直して試してみます
ありがとうございます

274 :Trader@Live!:2011/07/28(木) 05:11:59.90 ID:XxcEOSiG
PF1を切るのは結果に表示されない

275 :Trader@Live!:2011/07/28(木) 07:44:11.56 ID:09NaloNg
表示されます

276 :Trader@Live!:2011/07/28(木) 09:38:09.03 ID:GnmojAWp
>>273
Genetic algorithmは遺伝的アルゴリズムで最適化を早く終わらせるための
ものだよ。要は見込みの無さそうな組み合わせを学習してスキップする。
たまに外すけどね。

277 :Trader@Live!:2011/07/28(木) 11:14:58.22 ID:5OTe7HhL
>>275
「skip〜」にもチェック入ってるって言ってる>>273の設定ではってこと。
言葉足らずスマソ。

278 :Trader@Live!:2011/07/28(木) 11:58:38.52 ID:+eohR4o1
>>276-277
ありがとうございます
そのような設定だったんですね
今回の問題がそれが原因だったのなら、設定だけで解決なので助かるので
その状況になったとき試してみます

279 :タイラー ◆QdImR0/90g :2011/07/28(木) 14:25:45.76 ID:YuMcyEuE
>>259
>>260
メール確かに受信しました。今からぼちぼち作業開始します。
結果は個別にメールで返したほうがいいですよね。
つか、なんか今朝異常に眠くて基金訓練さぼってもうたw

280 :Trader@Live!:2011/07/28(木) 16:05:14.60 ID:xSJ12Dfe
タイムフィルター関数を作りたいのですが、以下の記述は間違っているのでしょうか?
全くフィルターがかかりません。
bool OpAllow(){

bool op = false;
bool op1 = false;
bool op2 = false;
bool op3 = false;
if ((useTime1 == true) && ((Hour() >= opHour1) && (Hour() <= stHour1))) op1 = true;
else op1 = false;
if ((useTime2 == true) && ((Hour() >= opHour2) && (Hour() <= stHour2))) op2 = true;
else op2 = false;
if ((useTime3 == false) && (!(Hour() <= opHour3) && !(Hour() >= stHour3))) op3 = false;
else op3 = true;
if(op1 == true || op2 == true || op3 == true) op = true;
else op = false;
return (op);
}


281 :タイラー ◆QdImR0/90g :2011/07/28(木) 16:24:01.36 ID:YuMcyEuE
>>259
メール送信しました。ご確認ください。

282 :Trader@Live!:2011/07/28(木) 16:51:08.08 ID:fyvrYb16
>>280
280さんの考えている仕様がわからないので、怪しいとすればop3かなとしか
他の人にはわからないんじゃないかな。
op1単独、op2単独、op3単独と条件を単純にして、どこで失敗しているかを
確認すればわかるかも。
単独はすべてOKならop1+op2、op1+op3、op2+op3、op1+op2+op3と組み合わせて
どうなるかで不具合の場所は特定できるでしょう。
場所を特定できれば、280さんの考えている仕様を日本語で紙に書いて、それと
プログラムを見比べれば解決しませんか?

283 :タイラー ◆QdImR0/90g :2011/07/28(木) 16:51:18.43 ID:YuMcyEuE
>>260はちょっとキツイかも…、できなかったらごめんなさい。
とりあえず久々過ぎるVBAと圧倒的なソース量に対処できないので
カロリー補給&気晴らししてきます。ノシ

284 :Trader@Live!:2011/07/28(木) 17:39:51.17 ID:xSJ12Dfe
op3が間違えてました。
失礼しました。
下で動きました
if ((useTime3 == true) && ((Hour() >= opHour3) || (Hour() <= stHour3))) op3 = true;
else op3 = false;

285 :タイラー ◆QdImR0/90g :2011/07/28(木) 22:21:47.77 ID:YuMcyEuE
>>260
メール送りました。(´・ω・`)結論から言うと対応しきれなくてごめんお。
まぁ全体をMQL4にコンバートしてくれとかじゃなく、
部分的に知りたいことがあるなら答えられるかもしれないお。

286 :Trader@Live!:2011/07/28(木) 23:54:48.71 ID:jiXn4RYy
pipの算出について教えてください。

2&4桁の業者でも3&5桁の業者でも使えるように↓の関数使ってるんですが
もっとスマートな書き方ないですかね?
MQ4は3項演算子使えないし・・・

double pip = getPip();

double getPip()
{
 // Point = 0.01 or 0.001
 if(Point >= 0.001)
 {
  return 0.01;
 }
 // Point = 0.0001 or 0.00001
 else
 {
  return 0.0001
 }
}

287 :タイラー ◆QdImR0/90g :2011/07/29(金) 00:08:12.84 ID:vCp1HP8E
今日他人のEAから教わった方法をドヤ顔で伝授。
if(Digits % 2 == 1)
{
//ここに入るのは下3桁、5桁業者の場合。
//後の処理はわかるな?自分で特定の変数を10倍したければすればいい。

}

288 :286:2011/07/29(金) 00:30:29.70 ID:OTbl5EXD
>>287
ありがとうございます。こんな感じですね。

double pip = Point * MathPow(10,Digits % 2);


289 :Trader@Live!:2011/07/29(金) 00:41:59.81 ID:5sj9eOxs
control pointsでテストすると、基本的に逆張り系でいい成績が出やすいと思うのですが、
逆にcontrol pointsで順張り系である程度いい成績が出ればかなり有効なEAと
考えることはできると思いますか?

自分は一応、逆張りはevery tickでテストして、順張りはcontrol pointsでテストして
いい結果が出れば信用することにしてるのですが・・・

290 :Trader@Live!:2011/07/29(金) 18:43:44.62 ID:Tnh/cxG0
>>288
pip計算式、俺も使わせてもらうわ。
実用的には>>286の関数でも十分な気がするんだが、
>>287のヒントからサラっと>>288の式が出てくるあたりセンスの良さを感じる。

>>289
>control pointsでテストすると、基本的に逆張り系でいい成績が出やすいと思うのですが、
それはMT4のtick補完ロジックを理解した上での根拠のある話?
それともただの経験談?
なんでそう思ったかを書かないと誰もコメントできないよ。

というか、EAの性質やタイムフレームにかかわらず
・その通貨ペアの1分足のデータをそろえる
・every tickでテストをする
・条件を厳しくする場合はspreadで調整する
がバックテストの基本だと思ってたんだが、みんな違うのかな。


291 :Trader@Live!:2011/07/30(土) 00:07:21.60 ID:uWNyp4VX
初歩的な質問で申し訳ありません。
移動平均に平行線を描画したいのですが、
((iMA())+0.0010)または((iMA())-0.0010)
だと捻れてしまって、駄目みたいです。
有効な式はありますでしょうか?

292 :Trader@Live!:2011/07/30(土) 00:17:37.77 ID:BMWv0g1L
MAの線は線分の集まりなんで、直線のように扱って上下にずらしてもだめでしょう。
線分に対して垂直方向にずらさないと。

293 :Trader@Live!:2011/07/30(土) 04:57:17.95 ID:kX+BensP
>>291
Custom Indicators-MovingAverageの場合
Levelsタブに例えば100と設定すれば、5桁業者で10pips上にオフセットしたラインを追加できる。

これじゃダメ?

294 :Trader@Live!:2011/07/30(土) 12:51:06.99 ID:ijwKV6jq
RSI+MAの傾きですごいEA作れた

295 :Trader@Live!:2011/07/30(土) 14:11:10.35 ID:ebCSN0CQ
>>259
です。
タイラーさん、改造ありがとうございました。
これからフォワードテストで動きをチェックしてみます。

296 :タイラー ◆QdImR0/90g :2011/07/30(土) 21:15:56.53 ID:n/u3otfI
ご丁寧にどうもo(^^)o

297 :Trader@Live!:2011/07/31(日) 14:10:39.41 ID:U3KPtuq/
レバ規制のせいで
マーチンゲールが途中で途切れる可能性がでてきた
どういう仕組みで回避するべ
複数の通貨で1枚から負け積みしていくんだけど
他の通貨でポジ持ってたら・・・でやめたらめちゃくちゃ取引回数減るし
もういや

298 :Trader@Live!:2011/07/31(日) 14:37:02.67 ID:Vemv+QT7
PF2.0以上のEA全然つくれねえ。
普通に1.3程度が限界
最適化とかすれば2.0超えるのもあるが
それじゃ意味ねえしなあ

299 :Trader@Live!:2011/07/31(日) 14:52:26.48 ID:sYR2E/DM
>>297
入金しろw

300 :Trader@Live!:2011/07/31(日) 15:09:42.58 ID:QEVDuRFd
>>288
筋がいい。感動した。

301 :Trader@Live!:2011/07/31(日) 15:14:35.49 ID:QEVDuRFd
みんなはエントリー条件の最適化どうやってる?
俺はまずエグジットを適当に20pipsでTP,-20pipsでSLみたいな
単純な条件にしてPFが最大になるところを最も良いエントリー
条件としてる。次にエグジット条件のTP/SL/Trailing stop等に
移るんだけど仮決めのTP/SLに必然性はないし納得しきれない
部分がある。

302 :Trader@Live!:2011/07/31(日) 18:52:10.15 ID:VOntqVdx
逆ポジのエントリー条件をエグジットにそのまま使ったらどうだろう

303 :Trader@Live!:2011/07/31(日) 19:42:51.59 ID:QEVDuRFd
>>302
d。
確かに一旦ドテンシステムにして理想的なエントリを探し
その後エグジットをチューニングするのもありかもね。
後で試してみる。

304 :Trader@Live!:2011/07/31(日) 19:57:25.44 ID:5vVRvdio
>>301
趣旨からズレるが、tp,slはATRの倍率掛けにした方が良い。

305 :Trader@Live!:2011/07/31(日) 21:06:19.92 ID:QEVDuRFd
>>304
試したことあるんだけど単純tp/slの方が成績が良かった。
どの時間足でピリオドどれくらいでやってるの?

306 :Trader@Live!:2011/08/01(月) 00:19:47.01 ID:a2Zex6Kr
>>305
横レスだけど、5分足6本でやってる。
ATRは足が始まった時に少々値が小さくなるので、そこは補正してる。
あと、単純に倍率で掛けるだけだとかなり大きい値になったり小さい値になったりするので、
最大値と最小値でフィルタリングしてるかな。

307 :Trader@Live!:2011/08/01(月) 06:02:28.52 ID:4wCXxc1q
ストキャスとMACDでサイン出すEA探してるけど見つからないお
作ってもいいけど俺じゃ時間かかりそうだしなぁ


308 :Trader@Live!:2011/08/01(月) 06:15:22.99 ID:So4KvUze
EA Builderで作れんの?

309 :Trader@Live!:2011/08/02(火) 09:56:25.92 ID:3WjUttto
本当はここでもっと色々な話をしたいと思っているのだが、プロバイダが規制されまくっててほとんど書き込みができない・・・

310 :Trader@Live!:2011/08/02(火) 10:02:16.41 ID:SDohLWhD
MT4って指定したバックテスト期間のデータが無い場合は
エラーでてほしいよね。
散々回して後で気づくことがある。

311 :Trader@Live!:2011/08/02(火) 10:26:29.41 ID:nYrYn/tj
>>309
代行してもいいけど、規制されてない代行依頼スレのURLはってくれ

312 :Trader@Live!:2011/08/02(火) 12:55:59.81 ID:Qy5JtVrI
>>310
MT4iのData integrity checker使うといいよ。

313 :Trader@Live!:2011/08/04(木) 16:01:36.83 ID:OORa46iI
BTしててトレードを最低何回はしてないと信頼しないって基準はいくつぐらい?
回数300回でPF2.0と600回でPF1.5だったらどっち使いたい?

314 :Trader@Live!:2011/08/04(木) 16:32:17.45 ID:Aq1BDbxE
>>313
どっちもヤダ
トレンドフォローなら1000回は欲しい
スキャ系なら3000回くらい

315 :Trader@Live!:2011/08/04(木) 16:35:45.01 ID:eKvYpWWC
アラート音の回数を1回だけとかに制限する方法は簡単ですか?

シグナル発生中に鳴りっぱなしでどうにかしたいのですが。

316 :Trader@Live!:2011/08/04(木) 17:50:58.18 ID:+FPdVzc0
>>315

参考になるかな?
ttp://fxboyt.blog56.fc2.com/blog-category-13.html

317 :Trader@Live!:2011/08/04(木) 20:13:56.46 ID:lIsWZP/K
>>313
そのBT期間によるね。
100回以上/年は欲しいかな。


318 :Trader@Live!:2011/08/04(木) 22:35:13.12 ID:jdFidsIt
>>313
そのどちらかで選ぶんなら、トータルのProfitが大きくてDDが小さいほう。
俺的クライテリアは、
300トレード/年、PF:2.0、DD10% (福利)

319 :Trader@Live!:2011/08/04(木) 22:55:40.19 ID:rkeF0nkz
前にエントリー条件だけを先に最適化するには?と書いたもの
だけどドテンは結果的に上手くいかない気がする。トレード回数
が極端に減っちゃうんだよね。

ところでみんなは最適化の結果を選ぶときにどんな相対的基準で
選んでる?損益、PFはオーソドックスだと思うけど俺は
損益/最大DD を使って更に主観でトレード回数が多いものを
採用してる。でも最大DDはFTすると変わるしこれでええんか?と
自問自答してる。みんなの意見を聞きたい。

320 :Trader@Live!:2011/08/05(金) 00:59:04.94 ID:gmJ3dXDo
>>319
「損益/最大DD」っていいかもと思ったら、
すぐ上に自分で「トータルのProfitが大きくてDDが小さいほう」と書いてたw
あとは超主観的要素として、損益グラフがきれいなやつw

321 :Trader@Live!:2011/08/05(金) 01:39:16.10 ID:o/8IAVGb
>>314
朝スキャ系で2年BTで600回を超えたことがないんだが、3000回て・・

322 :Trader@Live!:2011/08/05(金) 07:25:55.22 ID:fhw3G+KR
>>320
それ大事だよね。長い目で利益が大きくても半年原資が減り
続けたら精神的に耐えられないと思うよ。

323 :Trader@Live!:2011/08/05(金) 20:15:10.42 ID:o/8IAVGb
>>319
2年BTで単純に「損益/最大DD」で選んでFTしたら負けまくった

324 :Trader@Live!:2011/08/05(金) 20:21:52.21 ID:fhw3G+KR
>>323
負けなくなったじゃなくて負けまくったかい!
俺も最大DDはあてにならない気がするんだよね。
で、323さんは今はどの基準がいいと思ってるの?

325 :Trader@Live!:2011/08/05(金) 21:19:04.50 ID:AK3vvBFR
基準以前にロジックが有効かどうか
エッジがあるかどうかってことじゃないの

答えがNOならどのパラメータを選択しても、以後どうなるかは
神に祈るのみ

326 :Trader@Live!:2011/08/05(金) 21:37:40.01 ID:fhw3G+KR
>>325
もちろんロジックは有効であり、良い結果が沢山あるから悩んでる。
その中でも最善のものを見つけたいのは誰でも同じだと思う。

327 :Trader@Live!:2011/08/05(金) 21:58:06.37 ID:t2wf7Qqc
質問があります。

あるイベント(ゴールデンクロス・デッドクロス)が発生して、成行きオーダーを発注したとします。
クローズはゴールデンクロス・デッドクロスのドテンの場合のほか、指値決済・逆指値決済の場合もあります。

ただこの設計だと、イベントが発生し、オーダーを発注したときのカレントのバー(ロウソク足)で、
指値・逆指値に引っかかり直ぐにクローズすることがあるのですが、これを避けたいと思っています。

次のバー以降に移ったら、ドテン決済でも指値決済・逆指値決済でも可能にしたいです。

つまり、オーダーをしかけたバーを特定し、そのカレントバーでの決済を不可にさせ、それ以外のバーでは
決済を可能にさせる方法はありますか?「オーダーをしかけたバーを特定」して何かしらの変数に残せば
可能だと思うんですが、、、ちょっと自分のプログラム力では難しいところです。

ちなみに、豊嶋先生のFXトレーダー実践プログラミングを元にこれらのEAを作成しています。


スタート関数は以下のような流れです。
===================

// スタート関数
int start()
{
// エントリーシグナル
int sig_entry = EntrySignal(MAGIC);

// 買い注文
if(sig_entry > 0)
{
MyOrderClose(Slippage, MAGIC);
MyOrderSendSL(OP_BUY, Lots, Ask, Slippage, SLpips, TPpips, COMMENT, MAGIC);
}
// 売り注文
if(sig_entry < 0)
{
MyOrderClose(Slippage, MAGIC);
MyOrderSendSL(OP_SELL, Lots, Bid, Slippage, SLpips, TPpips, COMMENT, MAGIC);
}
}

===================
EntrySignal()関数では、ゴールデンクロス・デッドクロスの判別して、ゴールデンクロスなら1を返し、デッドクロスなら-1を返します。
MyOrderClose()/MyOrderSendSL() は豊嶋先生のオリジナル関数です。OrderClose関数/OrderSend関数と考えてください。


これで、、質問の内容わかるかな。。。
いいヒントありましたらお教えください。宜しくお願いします。

328 :Trader@Live!:2011/08/05(金) 22:10:26.53 ID:t2wf7Qqc
ああ、これでは逆指値・指値決済の意味なかったですね。。。
ごめんなさい。逆指値・指値決済のことを忘れていただいて、

カレントのバーで成行きで決済できないように、カレントバーを
特定する方法ありましたら。教えてください。

329 :Trader@Live!:2011/08/05(金) 23:00:47.65 ID:AK3vvBFR
>>326
「BTで良い結果を残すパラメータがたくさんあるからロジックは有効」
この考えには賛成できないけど、自信があるならデモトレードでも、
リアルトレードでもやればいいじゃないですか。
デモなら複数のパラメータセットを試せるし、機会損失を除けば損は
ないんだから。

330 :Trader@Live!:2011/08/05(金) 23:22:08.40 ID:fhw3G+KR
>>329
いやいや、リアルでやっていてそれなりに結果も出てるよ。
リアルで採用しているのは月単位で勝率が一番高い組み合わせ。
でももっと出来るはずと思ってる。

331 :Trader@Live!:2011/08/05(金) 23:26:13.91 ID:fhw3G+KR
>>328
if (Time[0] == TimeCurrent()) {
// Barが更新された瞬間
売買;
}

じゃダメなん?

332 :Trader@Live!:2011/08/05(金) 23:33:46.04 ID:fhw3G+KR
>>331
自分で実際に動かしてるコード見てみた。


datetime ctime = iTime(NULL, 0, 0);
if (ctime != BarStartTime) {
BarStartTime = ctime;
売買ロジック;
}

BarStartTimeはグローバル変数かstatic変数ね。

333 :328:2011/08/06(土) 00:30:19.04 ID:jg4SBiUl
>>332さん。
完璧です。ありがとうございました。
iTime()関数なんて始めて知りました。

334 :tomato:2011/08/06(土) 01:35:17.72 ID:edrRoZ/P
超初歩的な質問!
誰か教えてくださいまし!
.mq4のファイルを書き換えて(パラメーター)を変えてバックテストしてるの。
でも、バックテストの結果が変わらないの。
なんでですか?

335 :Trader@Live!:2011/08/06(土) 01:40:00.23 ID:CEmP9sCi
>>334
すんげー難問。俺らは超能力者か?ww
エスパーすると可変範囲が意味ないんじゃね?
例えばSLを1万pipsから1000pips刻みで最大
5万pipsまで変えて最適化しても変わらんよね。

336 :Trader@Live!:2011/08/06(土) 01:42:35.24 ID:3dl9qlg3
>>334
ストラテジーテスターの右上にあるボタン「Expert Properties」を押すとパラメータを設定できる。
そちらが優先されるよ。

337 :tomato:2011/08/06(土) 01:46:40.70 ID:edrRoZ/P
例えば・・・
if( 短期平均線>= 長期平均線)

if( 短期平均線<= 長期平均線)
に変えたら真逆にいくのでわ???

338 :Trader@Live!:2011/08/06(土) 01:51:34.78 ID:CEmP9sCi
>>333
そりゃ良かった。
お互い頑張ろう。

339 :tomato:2011/08/06(土) 01:52:06.05 ID:edrRoZ/P
336>
ありがとう!
天才!
パラメーターについてはよく分かりました!
でも、条件を真逆にするのができません。
どなたか教えておくんなまし・・・

340 :Trader@Live!:2011/08/06(土) 06:33:26.11 ID:b6QQwpHL
>>339
初心者スレで聞くのがいいよ
【MT4/5】MetaTrader初心者専用26【ゆとり隔離スレ】
http://kamome.2ch.net/test/read.cgi/livemarket2/1306936578/

341 :Trader@Live!:2011/08/06(土) 10:22:49.27 ID:3dl9qlg3
我が家のEA達、今週はDDを連発してしまいました。。。
何があってもEAは止めない主義なんだけど、また米国債格下げとか。。。来週もDDかもw

342 :Trader@Live!:2011/08/06(土) 18:24:35.11 ID:jg4SBiUl
1年間のBTでトレードは1000回ぐらいは必要とか、よくレスがありますが、
みんな5分足か15分足で動かしているのですか?
一日あたり4回ぐらいのトレードとなると、5分足か15分足になりますよね。
MT4のEAを開発しているみなさんは、あまりスイングでは運用しないのですかね。


343 :Trader@Live!:2011/08/06(土) 19:09:51.34 ID:2sOYLgpP
メタトレーダー4に最初から入っているEA 「Moving Average」の売買ルールを見出そうとしているのですが、中々分かりません。

どなたか教えていただけないでしょうか?

解説されているサイトでも構わないので、どうかお願い致します。

344 :Trader@Live!:2011/08/06(土) 19:36:44.30 ID:2sOYLgpP
連投申し訳ありません。

12本移動平均線を足6本ずらしたインジを使っているのはわかるのですが、
そのインジを値が抜けた時、売買しているときとしていない時があるのです。

345 :Trader@Live!:2011/08/07(日) 04:33:23.68 ID:bRX4V7/y
>>343
移動平均を値足がクロスしたら売買。

346 :Trader@Live!:2011/08/07(日) 04:36:05.90 ID:bRX4V7/y
>>344
途中だった。あれはバグがあって始値と終値が綺麗にクロスしないと
売買を見落とす。例えば終値が移動平均より下で次の始値が上の場合
は買わない。だから自分でロジックを変更する必要がある。

347 :Trader@Live!:2011/08/08(月) 00:12:22.29 ID:eQF9QWnr
前々スレで話題になってたwalk forward analyzerを買ってみたんだが、
to use walk forward analyzer an administrator must gurant permission to run the software at least once
みたいなエラーポップアップが出て使えん。
他にも買った人こんなエラーでた?

348 :Trader@Live!:2011/08/08(月) 01:32:50.93 ID:OJwhrYo0
>>347
言いだしっぺだがないねえ。Administratorの権限を付けてみたら?
初回だけでいいみたいだし。

349 :Trader@Live!:2011/08/08(月) 07:03:58.84 ID:WMYe43+n
Free版をTotal Uninstallでアンインスコしても再インスコNGだったのは
Admin権限が必要なフォルダかレジストリにデータ入れてたのか

350 :Trader@Live!:2011/08/08(月) 10:57:08.69 ID:P1oGkYWl
FT中のEAがプラテン
種90%から110%へ
こりゃテンション上がる

351 :Trader@Live!:2011/08/08(月) 15:17:07.15 ID:afsfcZd4
自作のEAをチャートに放り込みたいんだけど、ニコチャンはおろか、初期設定を促すダイアログすら出ない。
ウィザードで適当に作った、中身からっぽのinit,deinit,startしかないEAですらダイアログ出るのに。
ちなみにバックテストは普通に出来、レポートも出る。なんで?どこ見て制限されてるの?EA走らせたいよ!
教えてエロい人!!

352 :Trader@Live!:2011/08/08(月) 15:18:14.86 ID:afsfcZd4
自作のEAをチャートに放り込みたいんだけど、ニコチャンはおろか、初期設定を促すダイアログすら出ない。
ウィザードで適当に作った、中身からっぽのinit,deinit,startしかないEAですらダイアログ出るのに。
ちなみにバックテストは普通に出来、レポートも出る。なんで?どこ見て制限されてるの?EA走らせたいよ!
教えてエロい人!!

353 :Trader@Live!:2011/08/08(月) 15:34:49.44 ID:mA1moz9B
うp

354 :Trader@Live!:2011/08/08(月) 15:38:46.47 ID:afsfcZd4
おうち帰ったらうpするね。
なんか怪しい点あるかなぁ?

355 :352:2011/08/08(月) 17:20:12.04 ID:afsfcZd4
コメントアウトしまくって分かったわ
#property indicator_separate_window
#property indicator_buffers 2
が入ってた
ご迷惑おかけしました

356 :Trader@Live!:2011/08/08(月) 20:00:58.08 ID:xcfvJ5QD
>>352
このレベルなら、初心者スレで質問してくれ。
>>353
スルーしようよ。

357 :Trader@Live!:2011/08/09(火) 04:58:31.89 ID:U41ZH/GJ
EUR/USD=1.4255 を1.4200というように
の小数点3桁以降をまるめたいので、

MathFloor(Close[0]*1000)/1000 としたんだが、、

これだと、USD/JPY=81.02の場合そのままであるのに気づいた。
USD/JPYの場合は、81.00としたい。

どうせなら、5桁対応のブローカーでも使えるようにしたい。
何か汎用的でいい方法ありますか?

358 :Trader@Live!:2011/08/09(火) 05:12:41.07 ID:U41ZH/GJ
こうしてみたが、どうだろう?笑わないでね。

if(digits == 2) MathFloor(Close[0]*10)/10;
else if(digits == 3) MathFloor(Close[0]*100)/100;
else if(digits == 4) MathFloor(Close[0]*1000)/1000;
else if(digits == 5) MathFloor(Close[0]*10000)/10000;

359 :Trader@Live!:2011/08/09(火) 05:48:49.72 ID:ZgAeeyqx
ちょっと何がやりたいのかわからんのだけど、
とりあえず最後の1桁を丸めたいなら
 NormalizeDouble(Close[0], Digits - 1);
切り捨てたいならMathFloor()で、無理やり1行にするなら
 MathFloor(Close[0] * MathPow(10, Digits - 1)) / MathPow(10, Digits - 1);
とかかなぁ。

360 :Trader@Live!:2011/08/09(火) 13:12:23.20 ID:FKAsri0N
int a = 1.4255 x 100 (a = 142)
int b = 81.02 x 1 (b = 81)

double c = a / 100
double d = b / 100
でおk。多分

361 :Trader@Live!:2011/08/09(火) 15:46:40.61 ID:U41ZH/GJ
>>359 サン >>360さん ありがとお。
MathPow()の意外な使い方勉強になります。

>これだと、USD/JPY=81.02の場合そのままであるのに気づいた。
ごめん。これだと、どの桁をまるめる(切捨て)るか解りにくいでしたね。
USD/JPY=81.32→81.00としたかったです。
pip単位下2桁をまるめる形で、、、。

で、5桁ブローカーの場合も考慮して、こんな風にしました。笑わないでくらさい。


if(Digits == 2 || Digits == 3) point = MathFloor(Close[0]*10)/10;
else if(Digits == 4 || Digits == 5 ) point = MathFloor(Close[0]*1000)/1000;

362 :Trader@Live!:2011/08/09(火) 16:17:13.62 ID:KiZ4g0JY
>>361
NormalizeDouble(Close[0], MathPow(3, Digits & 4 >> 2) - 1);
って書いても期待通りの動作にはなってると思う。

363 :Trader@Live!:2011/08/09(火) 16:36:42.92 ID:Ky/oXgqL
>361
double ans=MathFloor(Close[0]*MathPow(10,(Digits>3)*2))/MathPow(10,(Digits>3)*2);

364 :Trader@Live!:2011/08/09(火) 16:49:08.46 ID:KiZ4g0JY
>>363
bool型の自動型変換か、その発想はなかったわw

それパクらせてもらえると
NormalizeDouble(Close[0], MathPow(3, Digits & 4 >> 2) - 1);

NormalizeDouble(Close[0], (Digits > 3) * 2);
て、より短く書けるし関数呼び出しが減らせるな。

365 :Trader@Live!:2011/08/09(火) 16:52:43.07 ID:zzaJwCbm
コンパイル時に警告出るんじゃね?
boolがTrueの時には1が入るけど
今後も保証されるんだっけ?

366 :Trader@Live!:2011/08/09(火) 17:15:52.56 ID:KiZ4g0JY
>>365
警告は出ないけど保証はないな。

てことで、これでいいんじゃね?
NormalizeDouble(Close[0], Digits & 4 >> 1);

367 :Trader@Live!:2011/08/09(火) 17:45:17.30 ID:ZgAeeyqx
んー、やっぱりわからない。

> if(Digits == 2 || Digits == 3) point = MathFloor(Close[0]*10)/10;
> else if(Digits == 4 || Digits == 5 ) point = MathFloor(Close[0]*1000)/1000;

これだと 81.32 → 81.3 になるよね...
1.2345 は 1.234 だし...

81.32/81.321 → 81.00
1.2345/1.23456 → 1.2300
としたいんだよね? 違う?

まず、切り捨てにしたいということなので NormalizeDouble() は使えない。
で、やりたいことがもし↑であっているのなら、

MathFloor(Close[0] * 100) / 100

だけでいいんでは。

>>365
保証されている。
http://docs.mql4.com/basis/types/bool
 Its internal representation is a long 4-byte integer number. Boolean
 constants can assume the values of 0 or 1.


368 :Trader@Live!:2011/08/09(火) 17:46:45.93 ID:ZgAeeyqx
>>367
あ、ウソかw 81.32の場合は100じゃなくて1をかけるようにしないといけないねw

369 :Trader@Live!:2011/08/09(火) 17:52:51.76 ID:ZgAeeyqx
>>365
論理演算の結果についてだから厳密にはこっちか。(どちらにしても0か1)
http://docs.mql4.com/basis/operations/relation
 The value of expressions containing operations of relation or logical
 operations is 0 (FALSE) or 1 (TRUE).

370 :Trader@Live!:2011/08/10(水) 04:49:18.55 ID:937yhF1a
すみません
どなたかsleep の使い方を教えていただけませんか?
以下は、瞬間的なシグナルを取得する関数ですが、この状態を5秒間保持した場合に、trueを返したいのです。

If (L_high <= price_a >= ma1)
signal = true;
else signal = false;

371 :Trader@Live!:2011/08/10(水) 04:52:54.18 ID:MsPA8akg
簡単な問題だけど、奥が広いな。

>>362
MathPow(3, Digits & 4 >> 2
この「>>」って何の演算子?


>>367
こう書きたかったんだと思う。初心者の俺にはこれがしっくり。
//USDJPY=81.23 / 81.234
if(Digits == 2 || Digits == 3) point = MathFloor(Close[0]);
//EURUSD=141.2345 / 141.23456
else if(Digits == 4 || Digits == 5 ) point = MathFloor(Close[0]*100)/100;


372 :Trader@Live!:2011/08/10(水) 05:22:15.54 ID:Jxu9Kb9C
MathPowとかMathFloor使うと、見た目は美しいが、処理重くなりそう
CPU 3GHzの時代に言うことではないが

373 :Trader@Live!:2011/08/10(水) 05:51:56.63 ID:U0NuRy3T
インジケーターならそれほどでもないけど、EAで使うなら関数呼び出しはかな
り遅いから気にした方がいいね。足/tickごとに呼び出される上にMQL自体が遅い
から3GHzでもまったく足りない。

double x1, x2;

init()
{
 :
 if (Digits <= 3) {
  x1 = 1;
  x2 = 1;
 } else {
  x1 = 100;
  x2 = 0.01;
 }
}

start()
{
 int i = Close[0] * x1;
 double d = i * x2;
 :
}

374 :Trader@Live!:2011/08/10(水) 06:12:57.46 ID:MsPA8akg
すごいな。いままでPCの負担なんて考えたことなかった。Orz,,

375 :Trader@Live!:2011/08/10(水) 06:24:12.40 ID:U0NuRy3T
PCの負担じゃなくて気にするのはオプティマイズの時間ね。
1秒でも、とは思わないけど1分でも速くなるようにはしたい。
あと、ゆとり質問だけど>>はビットシフトね。

376 :Trader@Live!:2011/08/10(水) 07:13:38.50 ID:MsPA8akg
ゆとりですか。そうですか。Orz,,



ところで、埋もれてしまった、
>>370さんの質問にもこたえたげて。

377 :Trader@Live!:2011/08/10(水) 07:36:05.08 ID:OTysaEnt
>>373
for (int i = 0; i < ArraySize(hoge); i++)だと毎回ArraySizeが呼ばれるから
int size = ArraySize(hoge); for (int i = 0; i < size; i++)の方が効率いい?
って思って試してみたことがあるんだが、100回くらいの呼び出しだと
GetTickCount( )で計測する限りは差が出なかった。
意外と気にしなくてもいい気がしないこともない。

378 :Trader@Live!:2011/08/10(水) 07:53:14.46 ID:U0NuRy3T
>>377
だからインジならいいけど、オプティマイズするならその100万倍の1万倍とか
呼び出しがされるわけで。
100万tickでBTする場合、1μ秒余計にかかれば1回のBTで1秒、オプティマイズ
だと10000秒増える。

379 :Trader@Live!:2011/08/10(水) 08:41:03.57 ID:/RuGPX6I
MT5だとそれだけで100倍くらい速いんだっけ?

380 :Trader@Live!:2011/08/10(水) 17:57:36.35 ID:MsPA8akg
MQLは、do while の構文って使えるんでしたっけ?

381 :Trader@Live!:2011/08/10(水) 18:07:37.63 ID:WEoAxFiO
>>380
普通にwhileはあるけど、do whileは使えない


382 :Trader@Live!:2011/08/10(水) 19:09:15.09 ID:MsPA8akg
ありがとう。
CとC++ にはあるようだけど、、。
まいっか。別な方法考えよう。

383 :Trader@Live!:2011/08/10(水) 19:57:14.29 ID:Q0ORAsfo
while(1)
{
...
if(expression) break;
}

で代用するしかないのかな

384 :Trader@Live!:2011/08/10(水) 22:24:23.01 ID:C+caerku
>>383
Yes。

while (True)
の方がほんの僅か見栄えがいいかもしれん。

385 :370:2011/08/11(木) 01:22:33.28 ID:qcdkRNP1
すみません。
>>370 ですけど、
例えば「ボリンジャーバンドを○秒間超えた状態を保持した場合のみtrue を返す」
という条件などは結構複雑になるんでしょうか?

386 :Trader@Live!:2011/08/11(木) 01:23:56.00 ID:nXdUZJ3r
○秒間超えたことの精度にもよるけど、そう難しくもない。

387 :Trader@Live!:2011/08/11(木) 01:28:26.46 ID:+EhXHWOV
>>373 この発想はなかなか出ないなあ。にわかプログラミングでは限界あるのか。

388 :Trader@Live!:2011/08/11(木) 01:56:40.76 ID:oH+z3Q+H
>>385
判定
Sleep(5000);
RefreshRate();
判定



static int t1 = 0;
if (判定 == true) {
 if (t1 == 0) t1 = TimeCurrent();
 else if (TimeCurrent() - t1 > 5000) ret = true;
} else t1 = 0;

インジならSleepは使えないので、後者のみ

389 :370:2011/08/11(木) 02:23:11.63 ID:qcdkRNP1
>>388 ありがとうございます。
If (price_a >= ma1)
Sleep(5000);
RefreshRate();
If (price_a >= ma1)
signal = true;
else signal = false;
このような形でよろしいでしょうか?
sleep についてよく分らないのですが、前の条件が維持する限りsleepして待ち続けるということでよろしいでしょうか?


390 :Trader@Live!:2011/08/11(木) 02:37:58.20 ID:+EhXHWOV
sleep()って単に停止させるだけかと。

391 :Trader@Live!:2011/08/11(木) 03:34:25.34 ID:+EhXHWOV
終値価格が20日移動平均より低い日数が14日続く場合
買いポジション用意。売りはその反対。

という逆張りのロジックを考えているのですが、
「終値価格が20日移動平均より低い日数が14日続く場合」という条件の挙動が不安低です。

すいません。
このプログラムに添削をしていただけますですか?

int filterperiod = 14;
int MAPeriod = 20;
int counter1 = 0;
int counter2 = 0;
for (int i=0; i<filterperiod; i++)
{
int ma20 = iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,i);
if(ma20 > Close[i])
{
counter1 += 1;
}
if(ma20 < Close[i])
{
counter2 += 1;
}
}

if (counter1 == filterperiod ){//買いポジション用意}
else if (counter2 == filterperiod ){//売りポジション用意}

392 :Trader@Live!:2011/08/11(木) 04:22:42.12 ID:kKkr5h22
>>389
Sleep(5000);
5000ナノ秒プログラムを停止させる つまり5秒動かなくなる。
素直に388のコードでいいんじゃないの?
if (TimeCurrent() - t1 > 5000) ret = true
日本語に意訳すると、5000秒を経過したらret は trueである。(約83分)



393 :Trader@Live!:2011/08/11(木) 05:17:29.92 ID:NN+rITN2
>>391
まずint ma20だとダメだろうな。ユロドルとかだと1とか2になるよ。
doubleに直さないと

394 :Trader@Live!:2011/08/11(木) 06:16:46.68 ID:+EhXHWOV
>>393
ああ、それだ。多分。ほんと有難うございます。

395 :347:2011/08/11(木) 07:22:04.67 ID:27PiPo7T
前に動かないって相談したが、
サポートにメールしたら動くように改良したexeを送ってくれて
無事動きました。

で、結果が散々で泣きそうです。

396 :Trader@Live!:2011/08/11(木) 08:46:22.41 ID:3w/35VeI
>>392
ミリ秒だろw

397 :Trader@Live!:2011/08/11(木) 10:40:46.90 ID:XwaAC9Ij
>>392
マイクロ通り越してナノw

398 :Trader@Live!:2011/08/11(木) 12:16:59.47 ID:kKkr5h22
あ、ほんとだ。夜は寝ないといけない。笑えるww

399 :Trader@Live!:2011/08/11(木) 17:50:21.03 ID:+EhXHWOV
質問です。MT4でEAをつくってるみなさん。主にどの時間足でトレードしてますか?
フィルターとして長めの時間足を使うのはまた別に教えてください。

俺は
トレードは15分足
フィルターで一時間足使ってます。

400 :Trader@Live!:2011/08/11(木) 23:40:49.23 ID:I25MSDtZ
ドル円介入あたりから自作EAの各ペアの収益がチャブ付きだしたよ
見直し時ナノかな

401 :Trader@Live!:2011/08/12(金) 00:39:23.27 ID:u/u67UOa
各ペアで回すEAってどういう趣向なら作れるんだ?
各ペアで回すって事は1ペアあたりの取引回数は少ないってことだよねぇ
それはつまり精度が高いということにもなるよな
リスクを減らすにはそういったEAを各ペアで回した方がいいんだろうなぁ

俺は主要ペア一つにこだわって自作してるんだけど、そういう考えは止めた方がいいかな?

特に一つ気になる点として、各ペアで回せるような取引回数が少なくて精度の高いEAを作ったとしても、いざ回してみると結局似たような時期に各ペアが一斉にポジりだしたりして、リスクが減ってないって事にならないかという心配

402 :Trader@Live!:2011/08/12(金) 02:13:43.25 ID:m8O+1ikg
USDJPYで長期にわたって使えるシステム作るのは難しいなあ
ナンピン使うと成績上がるけど嫌いなんだよなぁ
http://www.dotup.org/uploda/www.dotup.org1892753.png

403 :Trader@Live!:2011/08/12(金) 02:33:55.87 ID:u/u67UOa
ナンピンすると成績上がるってマジ?
まぁ手法にもよるんだろうけど・・・
ナンピン系は俺も手を出そうか迷ってる
最近行き詰まってきてるからなぁ

プログラム的にはさほど難しくないんだろうか?

ナンピンで成績上がるっていうとイメージ的には逆張りだなぁ

404 :Trader@Live!:2011/08/12(金) 06:20:45.58 ID:TLTGV5Tp
こんなスレがあったのか。最近はじめてみたよEA。グラマーだけどEAはなかなか慣れないなあ。
DLLでC++でやりたいお

405 :Trader@Live!:2011/08/12(金) 09:19:29.42 ID:tIQ/wldi
>>401
為替は株とは違うからその考え方は誤り

すべてのペアに高い関連性があるから
あるペアABを売るのなら
むしろ資金を分散して一斉に他ペアのAも売るほうがリスクが低いと思わないか?
あるいは逆に一斉に他ペアのBも買うのでもいい

ちょっと考えるとわかるけど世の中にABという通貨はない
AとBが独立して存在するだけだ

つまりペアABを売ったのなら
Aを売ったのかBを買ったのか答えられなければならない
これに答えられないロジックは全て堅牢性がない
堅牢性があるように見える時期に使い倒して逃げることしかできない

逆に明確に答えられるロジックであって
その上で別の基準でABに集中投入というやり方はある
リスクは高くなるけどね

406 :Trader@Live!:2011/08/12(金) 11:33:00.47 ID:q5ArH/hP
ユロドルでやってるんですが、月平均のpipsでどのぐらいのを作れたら合格水準?
いくつかよさげなのができても、月200pipsぐらいで壁があるように感じます

407 :Trader@Live!:2011/08/12(金) 12:09:22.21 ID:X9gTebq1
>>406
個人的にはPF2くらいかPFが低くても月単位で勝率が100%に近いのを選ぶね。

408 :Trader@Live!:2011/08/12(金) 12:15:21.30 ID:q5ArH/hP
>>407
PF2でも勝率が高くても、月に100pipsとかだといまいちを感じね?
俺も勝率とmaxDDは気にするけど、最低でも月300pips、欲をいえば400以上は最低ほしい
pips重要じゃね?

409 :Trader@Live!:2011/08/12(金) 12:27:01.17 ID:+wvKHmD8
>>408
確かに、月300PIPS以上は欲しい

俺の現運用で計算したら
PF1.33
月平均298.PIPS
DD 4.70%

原資が少ないからこんな成績じゃまだ専業になれーん

410 :Trader@Live!:2011/08/12(金) 12:33:12.43 ID:q5ArH/hP
>>409
月300取れてDD4.70%はすごい
本当にできるかと思ってたけど、そういうのできるんですね

411 :Trader@Live!:2011/08/12(金) 12:58:57.46 ID:+wvKHmD8
>>410
あくまでも平均だからね、とれない月もあるよ
DD低いのは、意味のない固定ストップを入れないからだと思うよ
予期せぬ通信トラブル等のために保険的にいれるけど、大体はその時の地合?で内部で計算してるから

412 :Trader@Live!:2011/08/12(金) 14:09:02.43 ID:X9gTebq1
>>411
俺も保険ストップで300pips入れてその時の相場に応じたロジックを
作り始めた。ATRの定数倍のストップを入れるやり方がランダムエントリー
でも利益出ると英語のサイトで読んだんだけどどうもそんなうまく行かない
悪寒。どんな動的ストップ使ってますか?

413 :Trader@Live!:2011/08/12(金) 16:02:20.02 ID:dFk3TZfm
イニシャルデポジットを巨額にして0.01ロットで回せばDDは下がる
あまり意味はない。
成績の基準は、不動産でも他でも投資や投機はイニシャルデポジットの利回りが年どれだけ
になるかが問題だ。
利回りに直結するのはPFなんじゃない?

414 :Trader@Live!:2011/08/12(金) 16:17:41.98 ID:RREMPgB1
>>413
イニシャルデポジットを巨額にして0.01ロットで回してPFが良くても、
利回りはそんなに良くないな。

415 :Trader@Live!:2011/08/12(金) 17:03:14.06 ID:ZC9AaKiJ
たいていのケースでまあまあ妥当といえる成績評価の指標は、

期間あたり利益率(リワード)÷期間あたりの利益率のばらつき(リスク)

みたいなタイプのリスク・リワード・レシオじゃない?(例:シャープレシオ)

この手の指標なら、資金に対するリスクの大小には影響されないから。

416 :Trader@Live!:2011/08/12(金) 17:16:07.88 ID:dFk3TZfm
そのとうり。現実的な話、イニシャルデポジットが少額でPFが悪ければ
利回りは上がらない。イニシャルデポジットが少額の時は巨額の時よりDDは
拡大する。
比較や評価の対象として重要なのは、破綻しないでどれだけ儲かるか?
なんじゃない?


417 :Trader@Live!:2011/08/12(金) 17:55:11.30 ID:JKtdysO/
この話題、何回も繰り返されるね。
次スレのテンプレに入れたら?

418 :Trader@Live!:2011/08/12(金) 18:19:35.35 ID:X9gTebq1
MT5にはシャープレシオあるらしいね。

419 :Trader@Live!:2011/08/13(土) 01:31:43.77 ID:OCS8hwDl
みんなすごいんだねぇ。指標とかなにを参考に作ってるの?デフォのiBands,iMAとかだけでやってんの?
それともまったく新しいの0から作ってんの、それともそれらを組み合わせてんの?

420 :Trader@Live!:2011/08/13(土) 01:51:18.47 ID:/a4nbPXr
指標?指標時はEAは停止する。
俺は一度作ったものを元に別のEAを作る。
基本フィルタ、エントリー、エグジットの流れは変わらないから、
後はフィルタやエントリー、エグジットなど個別に考える。
これってオブジェクト指向的だな、ってだっけ?

421 :Trader@Live!:2011/08/13(土) 02:40:55.10 ID:evgaAjGE
>>420
>>419の言う指標ってのはテクニカル指標でしょ
経済指標のことじゃないでしょ

422 :Trader@Live!:2011/08/13(土) 05:17:15.83 ID:A1suvs6m
>>421
最後まで読んだ方が良い。ちゃんと答えてるよ。

>>419
俺はATRとMA以外全部自作。ATRも、概念は自分で考えてて、後から存在を知った。

423 :Trader@Live!:2011/08/13(土) 08:16:32.90 ID:OCS8hwDl
>>420
そうかあ、個々の指標を理解したらあとはどう組み合わせるかのアイディア勝負って感じなんかねえ
なんというかPhotoshopの使い方はわかったが、絵心はない、みたいな状態なもんでさてどうするか。
とりあえずスキャルピングテクニックの本とかみて、その手法をシミュレートするようなものを作ってみようかなあと

>>422
そうかあ。ATRとかMACDとかパーツとして使えると思うんだけど、例えば時系列での動きを識別したいとかにどう使うかなあと。
たとえばこのあたりでピークになって一度さがってまたこう動くとか。しかも期間やらピークの高さやらはある程度柔軟で一種のパターン認識的な。
まあしこしこと作りこんで行くしかないのかなあ

424 :Trader@Live!:2011/08/13(土) 10:35:06.92 ID:evgaAjGE
>>422
いや、流石にそのくらい見れば分かるがな
ただ1行目が完全に勘違いしてるから、そこを突っ込んだだよ
言葉を知らないんだな、て思って

425 :Trader@Live!:2011/08/13(土) 11:09:31.45 ID:yhKw6CmK
>>424
5行目も完全に勘違いしてる。>420

426 :Trader@Live!:2011/08/13(土) 11:53:44.03 ID:Maa+nhhb
利食い値と損切り値を設定せずにイグジットポイントをロジックで決めてる人っている?
俺はそうしてるんだけど、これをやるとそのイグジットポイントが結果的に
エントリーポイントとして最適になり、最終的にいつもドテンシステムになってしまうんだが・・・

つまり、ロジックが上昇すると判断したら買い、これ以上上昇しないと判断したらイグジット
だとすると
「これ以上上昇しない」=売りのエントリーポイントとなってしまうわけだ

実際にドテンでないそういったシステムを作った時に、
イグジットポイントをドテンポイントにしたら利益が倍近くに膨れ上がったことがある

しかしながら相場には「上昇する時」と「下降する時」という二つの状況だけでなく
「どちらに行くか全くわからない」という三つ目の状況があることも事実

DDの少ない優秀なEAを作るにはこの状況を的確に避けることが必要だが、
俺の場合この場所がどうしても見つからない
いや、それが見つかったら苦労しないのだが、
むしろ考えてしまうね

全ての状況に上昇する可能性と下降する可能性があるのではないかと
その可能性の「偏り」がある限りポジっているべきなのではないかと
冷静に考えるとこの考え方自体に無理があるのはまぁ何となく察してはいるのだが、
エントリー時に利食い値と損切り値を決める事は
収益の可能性を削ることになりかねないと俺は思うわけだ

あるシグナルでエントリーし、価格が利食い値に達した時
そのシグナルがまだ消えていなかったらどうする?ということだ。
利益が伸びる可能性がある限り保持しているべきじゃないか?と考えるわけである。
このような脳味噌を持っているとTP、SLを設定することにメリットを見出だすことが
全くできないのだが、このタイプで優秀なEAが存在することも事実だ

ここまで持論展開でだらだらと語ってきたわけだが、何かもう根本的に
考え方を改めたほうがいいような気がしなくもないのは気のせいか・・・

TPSL設定のメリットについて、または根本的な改善の指摘でもいい

君らの持論を聞かせておくれよ

427 :Trader@Live!:2011/08/13(土) 13:36:46.11 ID:W1oWPnr3
>>426
> そのシグナルがまだ消えていなかったらどうする?ということだ。
> 利益が伸びる可能性がある限り保持しているべきじゃないか?と考えるわけである。
保持すればいいやん。
4番目?として中休み、つまり押し目戻り目を作ったあと、’そのまま上昇か下降を継続するのはよくあること。
長期でトレンドが発生している時には特に。
アグレッシブにドテンを二回するのも手。
保守的に逆張りを避けるのも手。
結局、戦略次第。

428 :Trader@Live!:2011/08/13(土) 14:53:13.89 ID:3/zHwKeW
>>426
概ね>>427に同意だけど、俺もイグジットポイント=逆エントリーポイントがベースですね
別のスレで自称勝ち組のバカを煽りつつ似たようなことを書いたけど、バカに煽りのほうに食いつかれてしまってw本題についてはスルーされたw

安定してるなら、それでよしとし、別の戦略を考えて併用するほうが効率はよいとおもいます

429 :Trader@Live!:2011/08/13(土) 16:23:26.91 ID:vP0u/9jm
>>420
頭悪い奴の文章すぎる゚( ゚^∀^゚)σ゚。ヶヶラヶラヶラ


430 :Trader@Live!:2011/08/13(土) 16:46:50.53 ID:/5JcPmKj
ちょっと質問ノシ
なんかあまりMT5の話題がないみたいだけどあまり使われてないのかな。
MT5のEAの最適化の速度って純粋にPC1台(コア1コ)の状態でMT4と比べて
速くなってる? (faiさんの記事みると、単独の性能は同じような書きっ
ぷりだったんだけど)

431 :Trader@Live!:2011/08/13(土) 18:24:36.19 ID:sAftkvi/
>>428
人それぞれだろうけど、
> イグジットポイント=逆エントリーポイントがベースですね
オレは一度、待ちに入るかな。
イグジットしたって事は、それ以上利益が延びないと判断した訳で、
その判断はヨコヨコと判断したか、あるいは判断するまでに最適なエントリーポイントを逃している可能性大だから。

432 :Trader@Live!:2011/08/13(土) 23:31:48.05 ID:pcvIH1jf
すみません。
過去のオーダーから、複数のマジックナンバーをピックアップしてそのトータルを出したいのですが、スマートに書く方法はありますか?

以下の書き方は間違っていますか?(Magic1とMagic2の場合)
for (int i = OrdersHistoryTotal() - 1; i >= 0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderMagicNumber() == Magic1) ||
(OrderMagicNumber() == Magic2))
{
Count++;
profit_total += OrderProfit();
}
}
}


433 :Trader@Live!:2011/08/14(日) 20:15:44.39 ID:TtHPyvCX
Bars in test 2772
Ticks modelled 1664931
Modelling quality 90.00%
Mismatched charts errors 0
Initial deposit 10000.00
Total net profit 421.43
Gross profit 456.46
Gross loss -35.03
Profit factor 13.03
Expected payoff 4.48
Absolute drawdown 44.90
Maximal drawdown 130.44 (1.29%)
Relative drawdown 1.29% (130.44)
Total trades 94
Short positions (won %) 51 (98.04%)
Long positions (won %) 43 (97.67%)
Profit trades (% of total) 92 (97.87%)
Loss trades (% of total) 2 (2.13%)
Largest
profit trade 5.17
loss trade -23.03
Average
profit trade 4.96
loss trade -17.52
Maximum
consecutive wins (profit in money) 85 (421.46)
consecutive losses (loss in money) 1 (-23.03)
Maximal
consecutive profit (count of wins) 421.46 (85)
consecutive loss (count of losses) -23.03 (1)
Average
consecutive wins 46
consecutive losses 1

MACDのサンプル ざっと1ヶ月しかBTしてないんだけど。PF13って異常じゃね?

434 :Trader@Live!:2011/08/14(日) 21:28:41.23 ID:MuZNAJ6+
PF∞もつくれるお

435 :Trader@Live!:2011/08/14(日) 22:49:42.91 ID:EHFeR/8a
>>433
ざっと2年やってみれ。

436 :Trader@Live!:2011/08/15(月) 08:57:19.53 ID:7RJXnP5T
MT4のEA開発を最近始めた者です。
バックテストのデータとしてFXDD(ttp://global.fxdd.com/jp/mt1m-data.html)からダウンロードし、
History Centerでインポートしようとしても出来ません。
Browseでダウンロードしたファイルを選択して、OKを押してもインポートされません。
通常、ファイルを選択した時点で下にプレビューが出るようですが、それも出ません。
同じ経験をしたり、何か原因を思い当たる方がいたら、教えてください。
お願いします。

437 :Trader@Live!:2011/08/15(月) 09:04:34.71 ID:wuQiEe7W
>>436
初心者スレ見てこい。
何度も同じ質問と答えが書かれてる。

438 :Trader@Live!:2011/08/15(月) 09:34:51.11 ID:8QyQVCsm
豊嶋先生のライブラリを使ってEA作っている人います?
トレールを使ったEAの場合、バックテストで結構エラー発生しませんか?

使いやすいライブラリなので重宝しているんですが、、、
どうしようかと悩みどころ。


439 :Trader@Live!:2011/08/15(月) 11:09:05.35 ID:/zebH8dP
トレールの幅がストップレベルより小さいんじゃ内科医

440 :Trader@Live!:2011/08/15(月) 11:36:27.12 ID:F3nGVvRH
>>438
トレールでエラーが出る2大原因

原因1.
 439が指摘しているようにSLがマーケットの値に対して近すぎる。これは
Marketinfo(Symbol(), MODE_STOPLEVEL)でポイント数を取得できるので
エラー処理が必要。

原因2.
SLがフリーズレベル内に入ってしまったにもかかわらず変更しようとした。
大体1PIPのブローカーが多いようだが決済間近とみられる値は変更でき
なくなる。この値は
Marketinfo(Symbol(), MODE_FREEZELEVEL)で取得。

441 :Trader@Live!:2011/08/15(月) 12:03:18.01 ID:8QyQVCsm
うん?ライブラリが問題でなく。
トレール手法だと、(SLなどの設定で)結構エラーが出るということ?

442 :Trader@Live!:2011/08/15(月) 12:21:50.16 ID:F3nGVvRH
>>441
すまんがそのライブラリは知らん。でもエラーが出るならライブラリにも問題があるんだと
思う。おそらくOrderModify()の前にストップレベルかフリーズレベルを調べてないんだと思う。

443 :Trader@Live!:2011/08/15(月) 13:07:26.45 ID:8QyQVCsm
おっしゃるとおり、マーケット情報を所得していないようなので、
SL値がよろしくない値だとエラーがでるのかも。

エラー値は以下の二つ

Invalid stops.//こっちは解るが。

Modification denied because order too close to market
//マーケットが閉じてますのでオーダーできませんって。
バックテストなのに意味不明です。

なんにしろ、ライブラリを修正するか、本体を修正するかやってみます。


444 :Trader@Live!:2011/08/15(月) 13:09:30.31 ID:/zebH8dP
>>441
ライブラリを見たらストップレベルもフリーズレベルも調べてないね。
そのまま使うなら数値を大きくするしかない。
ライブラリを使わないでEAを作るほうが、後々有利になるよ。

445 :Trader@Live!:2011/08/15(月) 13:16:16.38 ID:8QyQVCsm
あああ、見てくださったんだ。ありがとう。
そうですか、ライブラリ使わない方が後々いいかもですか。

豊嶋先生とこの本のおかげで、いろいろ勉強させてもらったけど、
そろそろ卒業の頃ですね。

446 :Trader@Live!:2011/08/15(月) 13:21:33.21 ID:8kpQzkCd
>>443
Modification denied because order too close to market
->注文がマーケット(この場合は現在値かな)に近いので修正できません

と言ってる。ずばり>440の意味でしょ。

447 :Trader@Live!:2011/08/15(月) 13:23:18.39 ID:RyDeknVh
>>443
Modification denied because order too close to market
オーダー(の値)が(現在の)マーケット(の値)に近すぎるので変更は拒否された

448 :Trader@Live!:2011/08/15(月) 13:27:57.96 ID:8QyQVCsm
すいません。下をみて知ったかでした。はずい。ありがとお。
http://www.metasys-seeker.net/MQL4_Reference_ver1/02-19_ErrorCodes.html

ところで、みなさんはライブラリは使わないの?

449 :Trader@Live!:2011/08/15(月) 13:47:21.26 ID:8QyQVCsm
完全EAに慣れるまでは、ライブラリの変更でやってみたいと思います。

ちょっと甘えさせてもらってすいません。
指値、逆指値の値が「MODE_STOPLEVEL」「MODE_FREEZELEVEL」以内ならOrdermodifyさせず。
という内容を追加すればいいですよね。

450 :Trader@Live!:2011/08/15(月) 14:41:03.85 ID:F3nGVvRH
>>449
STOPLEVELはそれでおk
でもFREEZELEVELはちょと違う。現在既に注文済みのSLやTPが
マーケットの値(AskかBidかは注文種別で変わる)から近すぎると
変更できなくなる。例えば売りのSLが80.010円、Askが80.015円
でMarketinfo("USDJPY", MODE_FREEZELEVEL)で10が返ってきた
とするとこのブローカーのフリーズレベルは1PIP。上記例だと既に
0.5PIPの近さなのでFREEZEされて変更できなくなる。

451 :Trader@Live!:2011/08/15(月) 14:48:08.80 ID:yg2FSo3+
FREEZELEVELって、なんでこういう縛りがあるの?

452 :Trader@Live!:2011/08/15(月) 17:28:08.81 ID:8QyQVCsm
ありがとう。いろいろググってみたものも、FREEZELEVELをどうすればいいのか
よくわからなかった。
MODE_FREEZELEVELの値を手に入れたとして、それをどう処理につかうのか
よろしければ教えてください。

453 :Trader@Live!:2011/08/15(月) 18:47:11.09 ID:F3nGVvRH
>>451
おそらくブローカーは客の変更がLP(Liquidity Provider)に届く前に
LP側で決済され、対顧客ではSLやTPが変更されて損することを
恐れているのだと思う。実際0のブローカーも多いよ。

>>452

適当な例ね。買いオーダーで、すでにオーダーはselectされていると仮定。

if (IsTesting() || IsOptimization()) {
double freezelevel = 0.0001;
double stoplevel = 0.0005;
} else {
freezelevel = MarketInfo(Symbol(), MODE_FREEZELEVEL) * Point;
stoplevel = Marketinfo(Symbol(), MODE_STOPLEVEL) * Point;
}

if (MathAbs(Bid - OrderStoploss()) <= freezelevel)
return (-1);
if (MathAbs(Bid - new_stop_loss) <= stoplevel)
return (-1);

以後OrderModify

----------
テストのときと本番の時では値が違ったりするから上の例のように少し厳しめの値で
テストすることをオヌヌメ。





454 :Trader@Live!:2011/08/15(月) 19:12:10.23 ID:8QyQVCsm
ありがたう。わざわざプログラムで示してくださって申し訳ないです。

そうかバックテストの時は、マーケット情報を取れないから仮の値を与えて、、、

MODE_FREEZELEVELとMODE_STOPLEVELの違いは、

Bid - OrderStoploss()と、
Bid - new_stop_lossの違いなのですね。

ここらは、もうちょっと勉強します。
いや、本当にありがとうございました。

455 :454:2011/08/16(火) 00:13:22.80 ID:8L7qpX7I
トレード(Order)系の関数はむずかしいな。頭混乱してきた。

456 :454:2011/08/16(火) 02:18:36.94 ID:8L7qpX7I
昨日からずっと、この件で考えていたのですが、どうやら限界なようです。
ライブラリを紐解いていくと、OrderModify()が成功するまで一定時間ループさせる関数があってその為に意味もなくバックテストずっと、エラーが出しっぱなしだったようです。
ライブではループさせてもそれ自体は問題なく、バックテストで不必要なループから抜け出したい。
そういう改造を加えようと思いました。(ごめんなさいMODE_FREEZELEVEL/MODE_STOPLEVELは不必要になるのかな?)
どなたか良いアドバイスを、、、。

オリジナルのプログラムコードの一部です。。

★// スタート関数
int start()
{
・・・・・
MyTrailingStopHL(TSPeriod, MAGIC);
・・・・・
}


★トレイングストップ関数
// HLバンドトレイリングストップ(TStype=1)
extern int TSPeriod = 5; // トレイリングストップ用HLバンドの期間
void MyTrailingStopHL(int period, int magic)
{
double spread = Ask-Bid;
double HH = iCustom(Symbol(), 0, "HLBand", period, 1, 1)+spread;
double LL = iCustom(Symbol(), 0, "HLBand", period, 2, 1);

if(MyCurrentOrders(OP_BUY, magic) != 0) MyOrderModify(LL, 0, magic);
if(MyCurrentOrders(OP_SELL, magic) != 0) MyOrderModify(HH, 0, magic);
}

457 :454:2011/08/16(火) 02:19:32.17 ID:8L7qpX7I
★オリジナルのライブラリ
// オープンポジションを変更する
bool MyOrderModify(double sl, double tp, int magic)
{
int ticket = 0;
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS) == false) break;
if(OrderSymbol() != Symbol() || OrderMagicNumber() != magic) continue;
int type = OrderType();
if(type == OP_BUY || type == OP_SELL)
{
ticket = OrderTicket();
break;
}
}
if(ticket == 0) return(false);
sl = NormalizeDouble(sl, Digits);
tp = NormalizeDouble(tp, Digits);
if(sl == 0) sl = OrderStopLoss();
if(tp == 0) tp = OrderTakeProfit();
if(OrderStopLoss() == sl && OrderTakeProfit() == tp) return(false);
int starttime = GetTickCount();
while(true)
{
if(GetTickCount() - starttime > MyOrderWaitingTime*1000)
{
Alert("OrderModify timeout. Check the experts log.");
return(false);
}
if(IsTradeAllowed() == true)
{
if(OrderModify(ticket, 0, sl, tp, 0, ArrowColor[type]) == true) return(true);
int err = GetLastError();
Print("[OrderModifyError] : ", err, " ", ErrorDescription(err));
if(err == ERR_NO_RESULT) break;
if(err == ERR_INVALID_STOPS) break;
}
Sleep(100);
}
return(false);
}

458 :Trader@Live!:2011/08/16(火) 02:23:13.06 ID:Tw8dzVos
>>448
7bit氏のライブラリ使ってます http://sites.google.com/site/prof7bit/

459 :Trader@Live!:2011/08/16(火) 02:31:43.91 ID:Tw8dzVos
あっ
7bit氏のサイトから落とすファイル名は common_functions.mqh です

460 :Trader@Live!:2011/08/16(火) 04:32:48.70 ID:IL9BpePL
>>456
つ iTest()

461 :Trader@Live!:2011/08/16(火) 12:37:32.79 ID:LcoWxMz5
>>455
うお、今度はそう来たか。
くそー。乗りかかった船だ。15分ほど待ってて。

462 :Trader@Live!:2011/08/16(火) 13:03:42.02 ID:LcoWxMz5
こんな感じでどうかな。コンパイルもテストもしてないからバグってたらすまん。


extern int TSPeriod = 5; // トレイリングストップ用HLバンドの期間
extern int FREEZELEVEL = 10;
extern int STOPLEVEL = 50;

void MyTrailingStopHL(int period, int magic)
{
double spread = Ask-Bid;
double HH = iCustom(Symbol(), 0, "HLBand", period, 1, 1)+spread;
double LL = iCustom(Symbol(), 0, "HLBand", period, 2, 1);

if(MyCurrentOrders(OP_BUY, magic) != 0)
MyOrderModify(OP_BUY, LL, 0, magic);
if(MyCurrentOrders(OP_SELL, magic) != 0)
MyOrderModify(OP_SELL, HH, 0, magic);
}

bool MyOrderModify(int op, double sl, double tp, int magic)
{
int ticket = 0;
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS) == false) continue;
if(OrderSymbol() != Symbol() || OrderMagicNumber() != magic) continue;

int type = OrderType();
if(type == OP_BUY || type == OP_SELL)
{
ticket = OrderTicket();
break;
}
}

if(ticket == 0) return(false);
sl = NormalizeDouble(sl, Digits);
tp = NormalizeDouble(tp, Digits);
if(sl == 0) sl = OrderStopLoss();
if(tp == 0) tp = OrderTakeProfit();
if(OrderStopLoss() == sl && OrderTakeProfit() == tp) return(false);

if (IsTesting() || IsOptimization()) {
double freezelevel = FREEZELEVEL * Point;
double stoplevel = STOPLEVEL * Point;
} else {
freezelevel = MarketInfo(Symbol(), MODE_FREEZELEVEL) * Point;
stoplevel = MarketInfo(Symbol(), MODE_STOPLEVEL) * Point;
}



463 :Trader@Live!:2011/08/16(火) 13:04:14.31 ID:LcoWxMz5
if (op == OP_BUY)
double market_price = Bid;
else if (op == OP_SELL)
market_price = Ask;
else
return (false);

if (MathAbs(market_price - OrderStopLoss()) <= freezelevel || MathAbs(market_price - OrderTakeProfit()) <= freezelevel) {
Print("MyOrderModify error: Market price is inside freeze level");
return (false);
}
if (MathAbs(market_price - sl) <= stoplevel || MathAbs(market_price - tp) <= stoplevel) {
Print("MyOrderModify error: SL or TP is inside stop level");
return (false);
break;
}

for (i = 0; i < 10; i++)
{
if(OrderModify(ticket, 0, sl, tp, 0, ArrowColor[type]) == true) return(true);
int err = GetLastError();
Print("[OrderModifyError] : ", err, " ", ErrorDescription(err));
if(err == ERR_NO_RESULT) break;
if(err == ERR_INVALID_STOPS) break;
Sleep(3000);
}
return(false);
}


464 :454:2011/08/16(火) 14:27:00.46 ID:dnSDFXIg
めちゃめちゃありがとうございます。今日は会社で動作は確認していませんが、取り急ぎお礼まで。
早く帰ってテストしたいです。

465 :454:2011/08/16(火) 19:30:40.13 ID:8L7qpX7I
>>462さま
ありがとうございます。ほぼ問題なく動きました。
(break or continue used within some cycle only というのはでましたが、
こちらは私の方で処理します。)

今まで、エラーでまくりでバックテストを諦めてたので、ほんとうに助かります。
ずっと、フォワードテストを長い時間かけてようやくライブに投入してました。

関数もパラメータが二つ増えただけなので、EA達も少ない修正だけで済むようです。


にしても、今回プログラム力の違いを感じました。
指標やエントリーのシグナルは、なんちゃってプログラムで設定できても、
こういった、トレードのエンジン部分を修正するのはにわかプログラマでは難しいなと。
そのために、カプセル化したライブラリがあるんでしょうけど。。

いやあ。もっと勉強します。本当にありがとうございました。

466 :Trader@Live!:2011/08/16(火) 19:42:35.55 ID:Tw8dzVos
ロジックの種類によっては連続負けトレードの回数も立派な変数として使えることを発見!
これってもしかして微妙かもですw
同じように他に使っている人いますか?

467 :Trader@Live!:2011/08/16(火) 19:50:56.32 ID:/77P4sBS
負け回数カウントして一定数到達したらそこからロジック変わるやつ使ってる

468 :Trader@Live!:2011/08/16(火) 19:52:35.46 ID:/77P4sBS
逆に連続勝ちの間は建枚数をどんどん増やしてる

うまく組めば資金の膨れ方がどんと上がる

469 :Trader@Live!:2011/08/16(火) 20:02:18.83 ID:Tw8dzVos
>>467,468
そのやり方良さそうですね
私はドローダウンを抑えるのに効果的でした

470 :Trader@Live!:2011/08/16(火) 20:13:59.95 ID:x0vcHiih
ロジックは変えないけど、パラメータを変えて対応してる。

471 :Trader@Live!:2011/08/16(火) 20:14:28.76 ID:LcoWxMz5
>>465
それは良かった。

初めてそのライブラリ見たけど有名なライブラリなの?あまり実戦向きじゃない気がする。
IsTradeAllowed()はなにか一つのEAがmodifyやsendやcloseすれば必ず数秒間は
Falseになるし、Sleepも100じゃ全然足りない。stoplevelやfreezelevelの罠はいろいろ
なブローカーで実際にエラー食らって損しないとわからないしね。頑張ってください。

472 :454:2011/08/16(火) 20:31:53.58 ID:8L7qpX7I
そうなのかあ。
豊嶋さんの本でMT4を弄りだした人たちは大概このライブラリ使ってるかも。

上にあった7bitさんのライブラリとか、良さそうですね。
Cとか勉強した方がいいのかなあ。

473 :Trader@Live!:2011/08/16(火) 20:35:05.14 ID:x0vcHiih
LibOrderReliable_V1_1_2.mq4
も有名なライブラリかも。

474 :Trader@Live!:2011/08/16(火) 22:09:44.01 ID:g55/m1ie
一つの既存インジだけでパラメータやタイミングをちょっといじるだけで
月200pips以上 DD10%以内を達成できてる人いますか?

やっぱり複数のロジックを組み合わせるか、自分でインジやロジックを作り出さなきゃ
そのレベルは達成できないのでしょうか?

475 :Trader@Live!:2011/08/16(火) 22:14:18.10 ID:gSD2EE9G
OrderClose を実行時に、全てのポジを勝手に閉じられるんですが、これはプログラムが長すぎるとかが原因ですか?
どうも OrderTicket()が取得できてないような機がするのですが

476 :Trader@Live!:2011/08/16(火) 22:34:36.41 ID:Tw8dzVos
>>475
機能を大きく分けてパーツ化し
問題の切り分けの見通しを良くするのが先決ではないですかね

ベースループでこんな感じにOrderSelectしてますか?
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;

}

477 :Trader@Live!:2011/08/16(火) 23:02:06.64 ID:Tw8dzVos
>>474
相場の状態によって損しないための入り口の見方が違ってきますので
1つだけでは難しいと思ってますけどどうでしょうかね

構成として相場状態の判定→上げ相場・下げ相場・横相場→ボラ有無→順張り・逆張り→エントリする・しない
そこにpivotやMAの近似ヒットテストなど引っ掛けるなど人間の考えるパターンをコード化しようとすると
クラス機能がないと全体を構成する機能をまとめにくいですね

判定結果に対して逆行するのはどうにもならない中でDD10%以内は目指したいですね


478 :Trader@Live!:2011/08/16(火) 23:08:25.85 ID:LcoWxMz5
Pivotってなんかの役に立ててる人いる?一応通過率は70%程度なので
なんらかの役には立ちそうな気はするけど

479 :Trader@Live!:2011/08/16(火) 23:28:12.43 ID:Tw8dzVos
>>478
利食い、損切り、増し玉などで判定に使えると思いますが
用途によって使用方法が変わってくると思います

480 :Trader@Live!:2011/08/16(火) 23:38:03.73 ID:g55/m1ie
>>477
ありがとうございます。やる人というのはそこまでちゃんとやるんですね。
そこまでいくと最適化も大変なことになりそうですし、やはりPC買い替えも
検討するべきかと思えてきてしまいます・・・
少しずつ前進してきている気はしていましたが、まだまだ先は長そうです・・・

481 :Trader@Live!:2011/08/16(火) 23:48:24.08 ID:Tw8dzVos
>>480
他の人はどうやってるかは知らないですが
状態を無視した場合、よく言われる騙しなどにかかったりするので
セットアップでエッジが出せるか前提条件を判定した上で
仕掛けないとDDが悪化するということでおけ



482 :Trader@Live!:2011/08/16(火) 23:57:28.19 ID:gSD2EE9G

>>475
ありがとう御座います。
以下のような関数を12個(MNumber1 - MNumber12)一つのEAロジックと一緒に入れてますが、
なぜかMNumber7 - MNumber12 のクローズ時に全てのポジションを閉じてしまいます。
リアルで使ったところ、手動ポジションも閉じられました。
Void CloseOrder1()
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
Print("Error in OrderSelect! Position:");
} else {
if (OrderType() == OP_BUY) {
if (OrderMagicNumber() == MNumber1) {
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage);
}
}
if (OrderType() == OP_SELL) {
if (OrderMagicNumber() == MNumber1) {
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage);
}
}
}
}
}

483 :Trader@Live!:2011/08/17(水) 00:08:06.29 ID:Tw8dzVos
>>482

Void CloseOrder1()
{
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;

if( OrderSymbol() != Symbol() ) continue; // 他の通貨での注文であればなにもしない

if( OrderMagicNumber() != MagicNumber ) continue; // 該当マジック以外はなにもしない

// 他に除外条件があればここに追加


if (OrderType() == OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage);
}

if (OrderType() == OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage);
}

}
}


484 :Trader@Live!:2011/08/17(水) 00:17:41.19 ID:MFWf1Rs5
>>482
か、かわいい。

485 :Trader@Live!:2011/08/17(水) 00:57:13.88 ID:4J7sZJ4b
>>483ありがとう御座います。
早速試してみます。

あと、現在開いてるポジションのマジックナンバーから、そのポジが閉じたのを確認して別のポジを閉じたいのですが、以下の書き方でシグナルを取得できません。
間違っているのでしょうか?


bool signal1(){
bool sig = false;
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;
if( OrderMagicNumber() == MagicNumber ) continue;{
sig = true;
}
}

486 :Trader@Live!:2011/08/17(水) 01:10:05.01 ID:tKKpeO7A
>>485
bool signal1(int magic)
{
bool sig = false;
int cnt=0;
for(int i = OrdersHistoryTotal()-1 ; i >= 0; i-- )
{
if (!OrderSelect(i, SELECT_BY_POS , MODE_HISTORY)) continue;
//if ( OrderComment() != "[sl]" ) continue; // ストップ終了
if ( OrderMagicNumber() == magic )
{
sig = true;
break;
}

}
return(sig);
}


487 :Trader@Live!:2011/08/17(水) 01:41:03.43 ID:4J7sZJ4b
>> 486 ありがとう御座います。
質問なのですが、この場合、ヒストリーに1個でも該当magic number があると強制終了となりますか?
また、S/Lとは限らないので、以下の書き方でもよろしいでしょうか?
for文でカウントする数を1にした場合、何らかのアクシデントで、該当ポジが閉じた直後に別のポジが閉じ、カウントが間に合わないこともあるのでしょうか?

無知な質問ですみません。

bool signal1(int magic)
{
bool sig = false;
int i=0;
// for(int i = OrdersHistoryTotal()-1 ; i >= 0; i-- )
for(int i = 0 ; i >= 1; i++ )
{
if (!OrderSelect(i, SELECT_BY_POS , MODE_HISTORY)) continue;
if ( OrderMagicNumber() == magic )
{
sig = true;
break;
}

}
return(sig);
}

488 :Trader@Live!:2011/08/17(水) 02:01:07.51 ID:tKKpeO7A
>>487
その辺は検証してないからわからないですが
後ろから-1でカウントしないと新しい日付の最新終了ポジへの到達時間が長くなりますよ
あとマジックのヒットでbreakするとloopを抜けることになります


489 :Trader@Live!:2011/08/17(水) 02:07:46.63 ID:tKKpeO7A
>>487
こういうことがしたいってこと?

bool IsAliveOrder(int magic)
{
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;

if( OrderSymbol() != Symbol() ) continue; // 他の通貨での注文であれば無視

if( OrderMagicNumber() != MagicNumber ) continue; // invalid magic

return(true);
}

return(false);
}


490 :Trader@Live!:2011/08/17(水) 02:38:26.94 ID:4J7sZJ4b
>>489
1本のクローズを察知してもう1方を閉じたいだけなのですが、単純にマジックが無い状態をシグナルにしても駄目みたいで、上記試してもみたのですが、駄目みたいです。
無い状態なので、以下でいいかと想ったのですが、これも駄目みたいです。バックテストだからでしょうか?
bool IsAliveOrder(int magic)
{
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if( OrderMagicNumber() == MagicNumber ) continue; // invalid magic

return(true);
}

return(false);
}


491 :Trader@Live!:2011/08/17(水) 02:46:18.20 ID:tKKpeO7A
>>490
発注時にマジックがちゃんとセットされているか確認すると前にすすめるかもしれないです

492 :Trader@Live!:2011/08/17(水) 03:11:08.55 ID:4J7sZJ4b
>> 491
ありがとう御座います。
とりあえず、色々学べたので忘れないうちに試してみます。

493 :Trader@Live!:2011/08/17(水) 09:28:49.84 ID:EJJJK9Bm
バックテストの効率化を考えて
今後は、豊嶋先生のライブラリ以外のものを検討しなきゃと考える。
ライブラリを使わないでEAができたらいいのですが、
実際のEA作りにはなるべく、オーダー系の関数などばかりに力を注ぎたくないので
そのあたりはやっぱりカプセル化されている方がいいなと。

豊嶋先生のライブラリのよさは、なんといっても日本語のマニュアルがあってサンプルも豊富なので
全くの初心者が始めるにはこれ以上の適したライブラリはないかと。でもねえ。

とりあえず、上にあった
7bit氏のライブラリ
LibOrderReliable_V1_1_2.mq4
から吟味していきます。

特に、Ordersend関数で直接価格を入れるのでなくて、現在価格からpip値を指定するような
修正された関数があるのが最低条件かな。

儲けるためのテクニカル指標の吟味の前に、こういったベースの部分は安心して任せるものにしておきたいっす。

494 :Trader@Live!:2011/08/17(水) 09:53:02.00 ID:KxGe5DRr
素直に考えれば
豊嶋氏のライブラリをよく読解して
自分がやりやすいように
あるいは欠陥だと思う部分を直して使えばいいんじゃない?

これができないようじゃ
他のライブラリ使っても
「よくわかんないけどなんか変だから他を使う」の永久ループだろ

495 :Trader@Live!:2011/08/17(水) 15:05:25.86 ID:m6gqYbzD
質問いいっすか?
マッデン3DSの日本版発売しますかね?
お願いしますm(- -)m

496 :Trader@Live!:2011/08/17(水) 18:18:06.45 ID:EJJJK9Bm
>>494
それもそうだね。隣の芝生が青く見えるような永久ループはいやだわ。
しばらくはテクニカル関係の勉強よりトレード関連の関数を勉強した方が
いいのかも。

497 :Trader@Live!:2011/08/17(水) 18:59:03.84 ID:EJJJK9Bm
オライリーからMQL本出てくれないかな。
表紙は牛か熊で orz..

498 :Trader@Live!:2011/08/17(水) 19:26:35.73 ID:Ik3NwaUh
>>497
本出すほど書くことないだろ?Luaより薄い本になるぞw

499 :Trader@Live!:2011/08/17(水) 19:59:01.79 ID:sPOF1UaA
牛か熊のオライリー本きぼんぬ。
MySQLと間違って買う人殺到。

500 :Trader@Live!:2011/08/17(水) 20:46:37.76 ID:R38aXdgW
>>498
薄い本ということはコミケで売るわけですね

501 :Trader@Live!:2011/08/17(水) 22:50:10.43 ID:lFEHAN1/
AlpariのMT5 DemoでOrder出すとS/LとかT/P反映されないけど
Metaquote本体のMT5だと反映されます。
類似例ご存知のかたいらっしゃいますか?

===以下Order処理===

#include <Trade/Trade.mqh>
CTrade MyTrade;
CPositionInfo myposition;
double CurrentBid;
double CurrentAsk;


int OnInit()
{
//---
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(!RefreshRates()) return;
double aaa=CurrentAsk + 0.1;
Print(aaa);
MyTrade.PositionOpen(_Symbol,ORDER_TYPE_BUY,0.1,CurrentAsk,1.43,1.45,NULL);
}
//+------------------------------------------------------------------+
bool RefreshRates()
{
MqlTick tick;
if(!SymbolInfoTick(_Symbol, tick)) return(false);
CurrentBid = tick.bid;
CurrentAsk = tick.ask;
return(true);
}

502 :490:2011/08/18(木) 02:15:21.41 ID:cf+gWr4f
EA内で二つのポジションを管理してるのですが、1つのポジションが閉じたらもう一方もすぐに閉じるっていうのがうまくできません。
昨日教えていただいた分を改変したり、マジックナンバーを数字で固定してみましたが、どうも一方が閉じたっていうのをシグナル化するのに失敗しています。
何か解決策のヒントでもありましたらお願いします。

503 :Trader@Live!:2011/08/18(木) 02:49:23.39 ID:+TBsptD4
>>500
だれか有名どころのEAを擬人化して
ヤンデレ話の薄い本でも作らねーかなw

504 :Trader@Live!:2011/08/18(木) 04:30:18.07 ID:C/qDXrcb
>>502
ManaKana.setTickets(ticket1, ticket2);とかして2つのチケットを関連付けて
ManaKana.doCheck();とかしてチェックするんじゃダメの?

MT4が落ちたら関連が崩れる問題は、マジックナンバーの上位1バイトとか
使って関連付けるオーダーは必ず共通の値を持つとかしとけばinit()内で
関連付けを復帰できる。

505 :Trader@Live!:2011/08/18(木) 06:08:02.60 ID:+PJIutGe
MQLの基本的な変数の範囲について質問です。
下においての、x1の変数の初期化と代入をした場合、
変数の値はどこまで保持できますか?

いわゆるローカル変数としてfunction内のAまで保持できる
と思っていいんですかね。

function abcd(){
{
int x1 = 1;//@
}

int x2 = x1;//A
}

int x3 = x1;//B

506 :Trader@Live!:2011/08/18(木) 07:35:51.26 ID:yIToacFq
はい

507 :Trader@Live!:2011/08/18(木) 09:11:57.21 ID:q6N6n3VP
ミスターブレイン氏のfx raptor使ってる人いる?

508 :Trader@Live!:2011/08/18(木) 11:06:54.20 ID:+PJIutGe
>>506
ありがとう。
functionってキーワードを関数名につけちゃったw

509 :490:2011/08/18(木) 14:23:01.32 ID:cf+gWr4f
>>504
ありがとう御座います。
色々調べてみましたが、言ってる意味が全く理解出来ません。

C言語あたりからやり直した方がいいですか?

510 :Trader@Live!:2011/08/18(木) 14:27:23.93 ID:pvb9IGf0
MT5の最適化についての質問です。
MT4では最適化での制限に、例えば最大連敗数10を加えることができました。

MT5で同じことをやろうとするには、どのようなコードを書けばいいのでしょうか。

511 :Trader@Live!:2011/08/18(木) 22:19:37.26 ID:+PJIutGe
MT5使ってる人少ないから、誰も返事できないね。
MT4でやればどうかしらん。

512 :510:2011/08/19(金) 00:34:41.38 ID:0gVGPw8A
ありがとうございます。自分でなんとかしてみます。

513 :Trader@Live!:2011/08/19(金) 15:08:29.08 ID:fAajzJ/p
手動オープンのマジックを取得する方法はありますか?
0がマジックナンバーなのでしょうか?

514 :Trader@Live!:2011/08/20(土) 01:37:14.82 ID:SyPScduS
switch の case にユーザー関数使う方法ありませんか?

switch OrderMagicNumber()
case Magic_number:break;

integer number expected って出てしまいます。

515 :Trader@Live!:2011/08/20(土) 02:01:48.56 ID:mDG6Z+aU
>>513
手動ポジは0になる。

>>514
ない。int型の定数が必須。

516 :Trader@Live!:2011/08/20(土) 02:07:12.49 ID:6YmyypOx
>>514
defineならいけるんだけどなー

ちなみにユーザー関数じゃなくて変数だよな?

517 :Trader@Live!:2011/08/20(土) 03:57:29.45 ID:61rj7pH3
イベントの起きる時間を指定する場合どういう書き方がいいでしょうか?

例えば、
ニューヨーク時間午前1時から2時までのレンジ幅を高値で抜ける時
とか、、どう表現すればいいですか?


518 :Trader@Live!:2011/08/20(土) 04:15:18.59 ID:mDG6Z+aU
>>517
普通にstart()内でTime[0]見て判定。
tickが来ないと動かないから厳密に時間ぴったりは無理だけど・・・・・・
どうしても厳密にって言うならDLL書いてスレッド作ってMT4にsendmessage
して強引にstart()呼ぶ(呼ばせる)方法もあるけど、徒労だろう。

519 :Trader@Live!:2011/08/20(土) 04:44:57.62 ID:61rj7pH3
ありがとう。ごめん、ちょっと書き方悪かった。
ニューヨーク時間の午前1時から、2時までの間のレンジ幅(高値、安値)
を調べるには?

520 :Trader@Live!:2011/08/20(土) 04:59:51.99 ID:mDG6Z+aU
>>519
あ、そういう意味だったのか、それならiBarShiftで時間をバーのインデックスに変換して
あとはiLowest/iHighestで期間中の高値安値が取得できるよ。

521 :Trader@Live!:2011/08/20(土) 05:14:03.33 ID:61rj7pH3
>>520
ヒントありがとう。

522 :Trader@Live!:2011/08/20(土) 06:08:44.23 ID:61rj7pH3
start_time = datetime(14:00:00)
end_time = datetime(15:00:00)
int shift_start = iBarShift(NULL, 0, start_time)
int shift_end = iBarShift(NULL, 0, end_time)

iLowest(NULL, 0, MODE_LOW, shift_start - shift_end, start_time)
iHigh(NULL, 0, MODE_HIGH, shift_start - shift_end, start_time)

これでいいのかしらん。
ニューヨーク午前1時は、ローカル時間(PCの時計?)では、14時だったのでこうしたけど。
ググってみるとサーバー時間の方がいいとか。
頻繁にサーバーを変えるばあいは、どうしたものか。。。

523 :Trader@Live!:2011/08/20(土) 06:41:27.61 ID:+4qTfB5M
iLowest(NULL, 0, MODE_LOW, shift_start - shift_end + 1, shift_end)
iHigh(NULL, 0, MODE_HIGH, shift_start - shift_end + 1, shift_end)
じゃない?

524 :Trader@Live!:2011/08/20(土) 07:03:18.84 ID:61rj7pH3
ありがとう。5番目のパラメータは、最後のバーの番号でしたね。
「shift_start - shift_end + 1」最初と最後のバー(午前1時と2時のバー)も含む
っていう意味ですね。そうです。訂正ありがとうございます。


525 :Trader@Live!:2011/08/20(土) 07:03:33.46 ID:InKP5tTy
うーん、DDの定義がよくわからなくなってきた。
Absolute drawdown 5542.52
Maximal drawdown 9146.52 (61.60%)
Relative drawdown 61.60% (9146.52)
こんな風に出るんだけど、グラフは右肩上がりなんだよね。

最も高いピークと低いピーク取ってるわけじゃないだろうし、そもそもこの3つのDDってどうやって計算してんだろ?

526 :517:2011/08/20(土) 07:05:41.19 ID:61rj7pH3
ローカル時間だとまずいでしょうかね?

527 :Trader@Live!:2011/08/20(土) 07:21:18.58 ID:wWV+ZwVW
>>525
初心者スレでもスルーされるレベルの質問じゃなかろうか

528 :Trader@Live!:2011/08/20(土) 07:43:30.56 ID:AHh937d+
>>514
括弧が足りないだけ。
 switch (OrderMagicNumber())

529 :517:2011/08/20(土) 07:48:59.20 ID:61rj7pH3
iLowest()とiHighest()の返り値は、バーの番号か。
という事は、最安値と最高値を表示するには、これでいいのかな。
この際のバーの番号の0地点はカレントのバーなのか、スタート地点の番号か、どっちら。

lowest_shift = iLowest(NULL, 0, MODE_LOW, shift_start - shift_end, shift_end)
highest_shift = iHighest(NULL, 0, MODE_HIGH, shift_start - shift_end, shift_end)

Low[lowest_shift]
High[highest_shift]


530 :Trader@Live!:2011/08/20(土) 07:57:19.46 ID:w4hrAKYN
>>529
0はカレント。

531 :517:2011/08/20(土) 07:59:07.25 ID:61rj7pH3
ありがとう。0がカレントならこれじゃ駄目だな。出直します。

532 :Trader@Live!:2011/08/20(土) 08:00:23.24 ID:AHh937d+
1時間単位のHi/Loが知りたければTime[x]が希望の時刻のHigh[x]/Low[x]を
見ればいいだけ。

533 :517:2011/08/20(土) 08:06:39.33 ID:61rj7pH3
そうなのですが、時間は汎用性(分でも使えるように)を持たせたいので、、、。
といっても、できそうでないので、それで考えてみます。

534 :517:2011/08/20(土) 08:19:54.26 ID:61rj7pH3
これでどうかな。複雑になりすぎちゃったかな。

start_time = datetime(14:00:00)
end_time = datetime(15:00:00)
int shift_start = iBarShift(NULL, 0, start_time)
int shift_end = iBarShift(NULL, 0, end_time)

lowest_shift = iLowest(NULL, 0, MODE_LOW, shift_start - shift_end +1, shift_end)
highest_shift = iHighest(NULL, 0, MODE_HIGH, shift_start - shift_end +1, shift_end)

Low[lowest_shift + shift_end]
High[highest_shift + shift_end]

535 :Trader@Live!:2011/08/20(土) 08:23:26.21 ID:AHh937d+
>>514
括弧も足りないけど、integer number expectedなら
上で出てるようにcaseに変数使ってるのが原因。
>>533
それならTime/High/Lowの代わりにiTime/iHigh/iLowを使えばいいだけ。

536 :Trader@Live!:2011/08/20(土) 09:20:55.44 ID:+4qTfB5M
Low[lowest_shift]
High[highest_shift]
じゃない?

天井の値を得るのに、High[ iHigest(Null, 0, count, start) ]という表現はよく使うよ。

ただ、目的が「値」じゃなくて、インデックスなら、lowest_shiftとかで取得できてるんじゃない?

537 :Trader@Live!:2011/08/20(土) 09:27:07.65 ID:AHh937d+
>ニューヨーク時間午前1時から2時まで
なら1時間足のHi/Loをそのまま見ればいいだけなのに...

538 :517:2011/08/20(土) 10:03:44.22 ID:61rj7pH3
>>536 ありがとうございます。

Low[lowest_shift + shift_end]
High[highest_shift + shift_end]

Low[0]がカレントの安値、High[0]がカレントのバーの高値を表示するらしくて
一方、lowest_shiftは、ニューヨークwwの午前一時のバーを[0]とした中の最も安値のバーの位置。
ですので、カレントのバーからニューヨークの午前一時までのバーの数(shift_end)を
足したものをLow[]に入れています。

でも合ってるかは、よく解りません。

戦略というか、この安値高値を後になって抜けて、それからまた戻ったときに抜けた方の
逆のポジションを取るというものです。ですので目的は「値」です。

>>537
はは、そうですね。でもいろいろと勉強を兼ねていますので、回り道をお許しください。

539 :517:2011/08/20(土) 10:20:10.49 ID:61rj7pH3
ちょっと修正して、こうなりました。でも不安定、どこか間違っているのだと。。

datetime end_time = StrToTime("15:00");
datetime start_time = StrToTime("14:00");

int shift_start = iBarShift(NULL, 0, start_time);
int shift_end = iBarShift(NULL, 0, end_time);

int lowest_shift = iLowest(NULL, 0, MODE_LOW, shift_start - shift_end +1, shift_end);
int highest_shift = iHighest(NULL, 0, MODE_HIGH, shift_start - shift_end +1, shift_end);


>>ニューヨーク時間午前1時から2時まで
>なら1時間足のHi/Loをそのまま見ればいいだけなのに...

それでやった方がいいみたい。

540 :517:2011/08/20(土) 10:56:37.00 ID:61rj7pH3
>>ニューヨーク時間午前1時から2時まで
>なら1時間足のHi/Loをそのまま見ればいいだけなのに...

3行でできた。かも。

datetime start_time = StrToTime("14:00");
LOW(iBarShift(NULL, PERIOD_H1, start_time));
High(iBarShift(NULL, PERIOD_H1, start_time));

で時間はローカルタイムでもいいんです?

541 :Trader@Live!:2011/08/20(土) 18:38:09.51 ID:SyPScduS
スプレッドチェンジって出来なくなりました?
オフラインにするとバックテストできないんですが

542 :Trader@Live!:2011/08/20(土) 18:58:27.81 ID:SyPScduS
勘違いだったようです。
失礼しました。

switchの件についても、ありがとう御座います。

543 :Trader@Live!:2011/08/20(土) 23:01:21.80 ID:qwSklg0K
>>541
唐突に意味不明なことをw。30秒エスパーして考えたんだがFaiさんのスプレッドチェンジャーを
使ったバックテストは出来なくなりましたか?ってことか?だとしたら仕組みを理解してないな。
あれはsymbol.selに入っている最新のスプレッドを変えるだけ。したがって原因は別にある。

544 :Trader@Live!:2011/08/20(土) 23:27:14.21 ID:wWV+ZwVW
>>543
>>542

545 :Trader@Live!:2011/08/21(日) 00:59:15.64 ID:YMVDlaqr
ここにいる奴らって
意図せぬバクで図らずも利益が出るよりも
仕様どおりに稼働して資金を大きく減らすほうのほうを良しとするようなのばかりだろ


546 :Trader@Live!:2011/08/21(日) 01:24:09.52 ID:8csLi5a+
>>545
意図せぬバグで利益出しても次に繋がらないじゃないか。
一度に一生遊んで暮らせるくらい抜けるならともかくな。
それに、そのバグには勝ちと同じだけ損失のリスクがあると思うよ。

547 :Trader@Live!:2011/08/21(日) 01:43:24.80 ID:dVqecHip
>>545
EAはオ○ニーだからな。オ○ニーは気持ちいいだろ?そういうことだ

548 :Trader@Live!:2011/08/21(日) 02:08:59.89 ID:s/MdgiR+
>>547
いーえ

なんつって

549 :Trader@Live!:2011/08/21(日) 02:48:51.60 ID:4zNLPftK
なんか昼間から意味不明のことをぶつぶつ呟きながら商店街を歩いてるような
おっさんが混入してきたな。

550 :Trader@Live!:2011/08/21(日) 11:59:31.80 ID:dVqecHip
おっさん 「いつかEAで一儲けしてやるんだ・・今度のはいいアイディアなんだ・・ぶつぶつ・・」


551 :Trader@Live!:2011/08/21(日) 12:44:41.32 ID:xYOWVUlO
MT4が異常に遅くなって調べてみると、logsとかhistoryに巨大なファイルが
出来てる。どうせ見ないlogなので初めから出力させない方法は無いでしょうか?

552 :Trader@Live!:2011/08/21(日) 12:50:51.82 ID:o5JJTKPE
ファイルを削除してから、ファイル名と同じ名前のフォルダを置く

553 :Trader@Live!:2011/08/21(日) 12:59:11.23 ID:ubreOD+M
http://www.forextester.com/data/datasources.html
ここのhistory data は使えますか?

554 :Trader@Live!:2011/08/21(日) 13:28:40.83 ID:xYOWVUlO
>>552
すごいね。その方法w

555 :Trader@Live!:2011/08/21(日) 19:42:45.27 ID:zDP3v8CR
拡張子とか認識しないの?

556 :Trader@Live!:2011/08/21(日) 21:45:26.80 ID:hMTiWfZm
EA開発用PCのCPUって、話題に出るのはインテルの奴ばっかりだけど、
AMDのPhenomとかって、性能良くないんですか?

557 :Trader@Live!:2011/08/21(日) 21:53:37.21 ID:8csLi5a+
>>556
世代と値段が同じくらいならインテルもAMDも変わらん。

558 :Trader@Live!:2011/08/21(日) 23:54:43.49 ID:4zNLPftK
>>556
最近までAthlon X4 640使ってた。今はSandyのi7。体感はそれほど差はないよ。
でもSandyのいいところは低発熱でAMDより速いところかな。

559 :Trader@Live!:2011/08/22(月) 03:23:55.99 ID:sqFoarPA
MT4のEAのバックテストは、1年間をテストするのにだいたいどのくらいの時間がかかりますか?
CPUパワーやEAによって異なると思いますがだいたいの時間もしくは日数を教えて下さい。

560 :Trader@Live!:2011/08/22(月) 05:45:02.95 ID:aA99C4vY
>>559
1分

561 :Trader@Live!:2011/08/22(月) 08:02:30.43 ID:XtGPykEW
>>559
今作ってるのは1秒以下。秒単位でかかるようだとちょっとやってられない。

562 :Trader@Live!:2011/08/22(月) 08:20:33.85 ID:ccSayucP
>>559
僕は、1時間!

563 :Trader@Live!:2011/08/22(月) 08:23:14.48 ID:OHk5b5Mq
1年だと早いのは1分、時間がかかるのは3〜4分かなあ。

564 :Trader@Live!:2011/08/22(月) 11:35:11.69 ID:xEDQg7an
外部インジ呼んでいて、MTFで、ControlPointだと精度でなくて
パラメーターが30個もあるようなEAに遭遇すると、気が遠くなる。
がんばって回すと、MT4が落ちる。
しかも評判が良かったりして。

565 :Trader@Live!:2011/08/22(月) 14:17:27.47 ID:YXvQaIg/
MT5でBTできたら速いのかもしれないけど、
いざ探してみると勉強できるサイトが充実してないのがきついですよね

566 :Trader@Live!:2011/08/22(月) 17:47:30.66 ID:xYkAN/Sd
1年なら30秒〜2分かなぁ

>>561 の1秒以下って早すぎないか?ちゃんとeverytickでやってるんだろうか。

567 :Trader@Live!:2011/08/22(月) 18:02:37.90 ID:XtGPykEW
>>566
最適化はControl pointsだと4、50分、Everytickだと3、4時間かな。
実際は4年間くらいでやるからこの4倍かかってちょっとやってられないレベルだけどw

568 :Trader@Live!:2011/08/22(月) 18:29:27.53 ID:N38Rp3Of
MT5に移行したけど、大して最適化は速くならない。
2コアの貧弱マシンではあるけれど、MT4の最適化と比べて2倍も速くなんてならない。
せいぜい2,3割程度くらい。

569 :Trader@Live!:2011/08/22(月) 19:49:13.30 ID:XtGPykEW
>>568
ヒストリーはそれぞれどこのを使って?
MT5はわからないんだけど、MT4だとvolumeにすごく依存するよね。

570 :Trader@Live!:2011/08/22(月) 19:51:47.48 ID:ailwo0Ir
volume をわざと減らして高速化するノウハウなんてのもあったな。

571 :Trader@Live!:2011/08/23(火) 02:26:53.34 ID:bFxVlj4S
>>560
>>561
>>562
>>566
559ですがありがとうございまます。
自分はMT4使って手作業で週末にチャート検証をしていますが1〜2ヶ月やるのがやっとです。
数分数時間で1年が検証できるなんて夢のようですね。そんなに検証できたら勝ちまくりじゃないですか?w
EAの勉強始めてみようかと思います。

572 : 忍法帖【Lv=2,xxxP】 :2011/08/23(火) 03:07:11.50 ID:TnGCEgff
以下を実行すると
i=1から始まりません。
Print("j=",j);をコメントにするとi=1から始まります。
スタックサイズの影響か??


int start(){
   for(int i=1 ; i<=30 ; i+=1){
     Print("i=",i);
     for(int j=0; j<10 ; j++){
      Print("j=",j);
     }
   }
   Sleep(600000);
  return(0);
}


573 :Trader@Live!:2011/08/23(火) 05:29:11.66 ID:lYwLeIgm
>>572
ログ表示は出力が多いと飛ばされてしまう。
ログファイルには全部出てる。

574 : 忍法帖【Lv=2,xxxP】 :2011/08/23(火) 07:09:51.68 ID:TnGCEgff
>573
サンクス

575 :Trader@Live!:2011/08/23(火) 10:57:48.41 ID:npsopLTw
そう言えば前にバックテストとかをCUDA化してる人がいたな。
MT4に比べてどんだけ速いんだろ。

576 :179:2011/08/23(火) 12:56:08.79 ID:zojx+KdG
>>575
>>179です

私のEAはティックあたりの計算量が通常のEAより格段に多いので
参考になるか分かりませんが

構成:Core i7 920 (4core, 2.66GHz) + GTX580×4枚
前提:1時間足で5年間のバックテスト時間(Every tick)
時間:MT4 → 約3時間
   C++ → 約80秒(4並列で約20秒/BT)
   C++&CUDA → 約1.2秒(4並列で約0.3秒/BT)

C++やC++&CUDAは、MT4からのDLL利用ではなく
Strategy Tester(最適化ロジック含む)も自作です。

577 :Trader@Live!:2011/08/23(火) 13:11:38.06 ID:lYwLeIgm
>>576
がんばってるね。リアル成績どんな感じ?

578 :Trader@Live!:2011/08/23(火) 15:06:34.70 ID:O6U4MY9X
凄いな
凄いとしか言いようがない

579 :Trader@Live!:2011/08/23(火) 16:43:28.50 ID:ZNWp4V3L
>>576
最適化ロジックのアルゴリズムはオリジナル?
それとも、MT4を逆アセンブルして同様にしたの?

580 :Trader@Live!:2011/08/23(火) 16:47:41.36 ID:lYwLeIgm
おれも前にC++でやってたけど、好きなだけ回せるし単純なGAでもMT4と同程度以上の
結果は出せてたよ。
あまりの面倒さにあきらめちゃったけどw

581 :179:2011/08/23(火) 17:02:50.27 ID:zojx+KdG
>>577
まだ最適化が済んでないのでリアル運用はしてないです。

現段階でのBTの最適化結果とFTの結果はこんな感じ。
BT5.0年(2005/1/1-2010/1/1):P/F1.7 650取引/年 収益/DD/年=1.4
FT1.5年(2010/1/1-2011/7/1):P/F1.4 600取引/年 収益/DD/年=1.2
許容リスクを資金の20%とすると年利24%ぐらい。

ロジック(説明の為に簡略化)
・直近の値動きに「似ている」過去データを数百件ピックアップ
・過去データのその後の値動き平均(±○pips)と標準偏差(信頼性)から
 Entry,Keep,Exitを判定
・「似ている」の判断に使うテクニカルは同時に128個、候補は数千個

582 :179:2011/08/23(火) 17:14:25.37 ID:zojx+KdG
>>579
最適化ロジックはMT4と同じ遺伝的アルゴリズム(Genetic Algorithm:GA)です。
比較的メジャーで理解しやすいアルゴリズムなので結構簡単に実装できますよ。

ただMT4と違って、自作の場合は最適化に使う「適応度」を自由に設定できるのは大きいです。
MT4はbalanceとかdd(%)とか決められた何種類かだけじゃなかったかな。
私はリスク100%の場合の年利と資産曲線の安定度を組み合わせて適応度としています。

583 :Trader@Live!:2011/08/23(火) 17:36:15.14 ID:A5KtMKAm
>>576
C++にするだけでも、こんなに短縮できるのか
何割・・というか、どういう箇所をdllにすると効果的?

584 :Trader@Live!:2011/08/23(火) 18:57:57.06 ID:yfK9fMff
>>583
>>576はDLLじゃなくて全部自作って書いてる。

585 :Trader@Live!:2011/08/23(火) 19:43:50.02 ID:svOgcgsW
>>581
その手法だとPFやDDよりも勝率が重要じゃないの?
もっと厳密に言えば、「似ている」が当たった率みたいな。。。

586 :Trader@Live!:2011/08/23(火) 19:49:08.81 ID:lYwLeIgm
>>581
株だと似てるチャートで儲けるってのを前にTVで見たことあるけど、それだけ
やってもPFそのくらいしか行かないのか、難しいね。

587 :Trader@Live!:2011/08/23(火) 20:54:52.65 ID:SvgPD5CZ
似てるチャートの判定方法が難しいし、それによって成績も大きく変わる希ガス

FXでも似てるチャートを探し出すっていうツールがあるらしいが
ああいうのの仕組みとその成績が見てみたいな

588 :Trader@Live!:2011/08/23(火) 20:59:20.65 ID:6GJyMlgg
皆さんバックテスト用にPCを何台お持ちですか?私は4台

589 :Trader@Live!:2011/08/23(火) 22:03:55.17 ID:RbKfbUCL
>>586
BTはともかくFTのPF1.4なんて神の領域に近いと思うけどなぁ。
BTではもっと立派な結果のEAは腐るほどあっても、実際に使える
ものはごく少数でしょう。
たぶんスキャルじゃないでしょうから、FTとリアルの差も心配
するほどのもんじゃないと思うし。

どちらにしても179さんの気力と技術力には感服。
凡人としてはエッジのあるアイデアで勝負するしかないけど、その
アイデアが...

590 :Trader@Live!:2011/08/23(火) 23:33:23.72 ID:A5KtMKAm
>>584
MT4を一切使わずに
C++からhistoryデータ読んでBTしてるってこと?

591 :Trader@Live!:2011/08/24(水) 01:37:29.47 ID:GEnIsV1W
>>590
そういうことでしょう。おれもやってた。

592 :Trader@Live!:2011/08/24(水) 09:49:31.73 ID:ZlLDBlc0
どなたか教えてください。

ボリジャーバンドを計算して描画したものを
MT4付属の「Bands」と比較した際、微妙に値がずれてしまいました。

違いを調べたところ、
「標準偏差:σ(シグマ)」の計算に違いがありました。

・MT4の計算式
標準偏差 = √(期間×期間内の終値の2乗の合計−期間内の終値の合計の2乗)÷(期間×(期間))

・使用した計算式
標準偏差 = √(期間×期間内の終値の2乗の合計−期間内の終値の合計の2乗)÷(期間×(期間−1))


標準偏差の計算式は後者を使うと思われるのですが、
MT4の式に違いがあるのはなぜでしょうか。
ご回答いただける方、お願いいたします。


長文になってしまし、すみません.でした。

593 :Trader@Live!:2011/08/24(水) 10:33:30.49 ID:d/o21JzI
標準偏差でぐぐれよ

594 :Trader@Live!:2011/08/24(水) 10:51:31.91 ID:ZlLDBlc0
>>593
ぐぐって、
確認した上で後者の計算式を使用したのですが、
再度調べたところ、標本分散と不偏分散の違いがあるようです。
もう少し調べてみます。

595 :Trader@Live!:2011/08/24(水) 11:05:20.54 ID:PlHkMDVy
179さんまだいるかな。
その気力と技術力の秘訣は?
どうやってアイデア湧いてきたん?

596 :Trader@Live!:2011/08/24(水) 11:05:22.29 ID:2gNx/Su1
エクセルでも標本分散と不偏分散の計算式用意してる。
別にどっちが間違いというわけじゃない。

597 :179:2011/08/24(水) 11:30:58.43 ID:Pve2FbOl
179です。
別話題に移ってきてるのでそろそろ最後にします。
聞きたい事がある場合ははやめにおねがいします。

>>585
>その手法だとPFやDDよりも勝率が重要じゃないの?
>もっと厳密に言えば、「似ている」が当たった率みたいな。。。

流石にこのスレの方は理解が早いですね。
私も以前は"「似ている」があたった率"を適応度としていました。
しかし実際に分析してみると、BTとFTの成績が安定しませんでした。
(安定優等生型よりバクチ好きヤンキー型が優秀と判定され生き残る)
やはり実運用で有利な係数を適応度とするのがベストだという結論です。

>>587
>似てるチャートの判定方法が難しいし、それによって成績も大きく変わる希ガス

「似ている」の判定方法の最適解を人間が手作業で導くのはほぼ不可能です。
なので「似ている」の判定方法自体(テクニカルの組合せ)を最適化するんです。
イメージとしては、テクニカル選定⇒EA作成⇒テストまでを自動化(0.3秒/回)して
ガンガンテストさせて、優秀なやつを採用する、と。


598 :179:2011/08/24(水) 11:32:09.20 ID:Pve2FbOl
>>595
>その気力と技術力の秘訣は?

ん〜、回答に悩むけど、一番の秘訣はリーマンということかな。
EAに失敗してもなんとか食っていけるというストレスの無さ。
あと仕事がSE(MS Officeがお友達)なので開発に飢えてるのも大きいです。

>どうやってアイデア湧いてきたん?
私も昔はうんうん悩んでEAを作ってたんです。
1)テクニカルを眺める
2)よさそうな組合せを考える
3)EA作ってみる
4)バックテストする
5)よさそうなら改造、イマイチだったら捨てる
でもこれだと1回試すのに1日とかかかっちゃうので、時間が無い身としては厳しい。
そこで1)〜5)を自動化すりゃいいやん、と思いついたのが始まりです。
要するに楽したかったんですw

らんち、いって、きます(`・ω・́)ゝ

599 :Trader@Live!:2011/08/24(水) 11:44:51.55 ID:GEnIsV1W
>>598
似ている度ってどうはかってるの?
テクニカルに落としてからやる方がいいとも思うけど、値そのものをHMMで
予測するだけとかでも結構いかないのかな。単なる予想だけど。

600 :Trader@Live!:2011/08/24(水) 12:04:36.05 ID:ZlLDBlc0
>>596
ボリジャーバンドの製作者は「不偏分散」を使用するとのこと。
検索した大半が「不偏分散」を使用。
MT4では「標本分散」を使用。

「不偏分散」を使おうと思うのですが、
MT4が「標本分散」なのが気になります。

601 :Trader@Live!:2011/08/24(水) 12:06:18.52 ID:GGbCSSwR
>>599素直にテクニカル値のベクトル間の距離とかじゃないかな?

602 :179:2011/08/24(水) 12:53:27.12 ID:Pve2FbOl
>>599
>似ている度ってどうはかってるの?

>>601でほぼ合ってます。
過去データの類似度[m]=Σ重み[n]×√((過去テクニカル[m,n] - 現在テクニカル[n])^2)
※n=0〜128、m=0〜過去データ数
もちろんテクニカルはそのまま使える物(RSIなど)や絶対→相対変換が必要な物(MAなど)があります

>テクニカルに落としてからやる方がいいとも思うけど、値そのものをHMMで
>予測するだけとかでも結構いかないのかな。

値動きそのもので「似ている」を判断した時期もありましたが、
ノイズが多すぎて使い物にならなかったという覚えがあります。
(FXプライムのぱっと見テクニカルのような感じ)
私のやり方では、実体(値動き)の比較より写像(テクニカル)の組合せの比較のほうが
実体(値動き)の『性質』比較には優位である、という結論に達しました。
もちろん>>599さんのやり方では実体の直接比較のほうが優位かもしれません。

603 :Trader@Live!:2011/08/24(水) 13:01:27.15 ID:GEnIsV1W
>>602
なるほど。足はどの足でやってるの?
ある程度の時間的なゆらぎに影響されないようにテクニカルに落とした値でも
HMMとか使うといいんじゃないかと思う。処理量がかなり増えるとは思うけど、
そこはGPUの力でw

604 :Trader@Live!:2011/08/24(水) 13:03:23.72 ID:m5dVgUGW
>>600
EAの話でしょうからぐずぐず悩まなくても、両方試せばいいじゃないですか。
両方試して統計的に有意な差があれば有利な方を採用して、誤差程度なら
自分が正しいと思う方を採用。これでいいじゃないですか。
理論や計算式が正しいから利益になる、間違っているから利益にならないって
もんでもないでしょう。
損をしてでも「正しい」計算式にこだわりますか?

ボリバンを使った逆張りなんてまったく素人っぽい手法だけど、結構使える
ような気がする。

605 :Trader@Live!:2011/08/24(水) 13:57:58.56 ID:uwEb1y+w
HMM?
http://ja.wikipedia.org/wiki/%E9%9A%A0%E3%82%8C%E3%83%9E%E3%83%AB%E3%82%B3%E3%83%95%E3%83%A2%E3%83%87%E3%83%AB
数学部で習うようなもの?

606 :Trader@Live!:2011/08/24(水) 14:21:23.81 ID:GEnIsV1W
>>605
んー、理系なら習うんじゃないかな。
CUDAでもOpenCLでもライブラリはあるっぽいから使えるのではと。

607 :Trader@Live!:2011/08/24(水) 14:25:06.77 ID:ky8ZfLYL
>>602
似ている度を測るテクニカルは成績が出やすい傾向のものなどありますか?
もしいくつか組み合わせたり、ちょっとフィルタを加えたりしてれば、
そのとき有効になりやすい組み合わせや傾向があれば教えてください

608 :179:2011/08/24(水) 18:45:46.73 ID:Pve2FbOl
>>603
HMMは勉強してみます。使えそうなら次バージョンで試してみます。
ただCUDAは分岐があると一気に使えない子になるんで、
GPUでごり押しは難しいかもしれませんね。

>>607
テクニカル名やパラメータをそのまま言うわけにはいかないので傾向だけw
現時点での有効な組合せはトレンド系:オシレータ系=3:7
トレンド系は殆ど長期(日単位)で、オシレータ系は短期(時単位)〜長期
(日単位)が結構均等に使われています。
あくまで私の「似ている」ロジックで優秀なテクニカルですのであしからず。

あと、フィルタという概念は取り入れていません。
過去データから算出した予測値動き(どれだけ上がるか下がるか)と
その信頼性のみで取引を判断しています。

609 :Trader@Live!:2011/08/24(水) 23:03:31.45 ID:GxKYeLCj
Walk Forward Analyzer について分る人いたら聞きたいのですが、
このソフトは、一端BTで得られた良さそうなパラメータを、
再度近似値を使ったテストでその設定の有効度を測る為のものという認識であってますか?

610 :Trader@Live!:2011/08/24(水) 23:07:37.01 ID:d/o21JzI
まあHMMとかCUDAなんて完全に自己満だけどな

611 :Trader@Live!:2011/08/24(水) 23:57:48.95 ID:GEnIsV1W
まぁFXより株でやった方が確実だとは思う。

612 :Trader@Live!:2011/08/24(水) 23:58:35.80 ID:ky8ZfLYL
CPUのせいかものすごく時間がかかるから本気でC++にしようかと調べ始めた
ヒストリーファイルはcsvで出力できるんだな
んで、それをテキストにコピペしたら普通に配列で読み込めるもんな

と考えてたんだが、MTは最適化の設定が気軽で簡単なのと
結果の出力が分かりやすくて何かと捗るんだよなぁ

613 :Trader@Live!:2011/08/25(木) 00:07:09.90 ID:TKCioGH5
>>608
ありがとうございます
自分も今取り組んでみてて、似ているの判定の難しさを
感じていますが(ここが肝だと思うので当然だと思いますが…)、
参考にさせていただいて頑張ってみます

614 :Trader@Live!:2011/08/25(木) 00:09:11.46 ID:fJ7RRjL2
>>612
ヘルプにヒストリーファイルのフォーマットが載ってるからCSVに出さなくても
直接読める。

615 :Trader@Live!:2011/08/25(木) 02:14:21.31 ID:bCCpDm5Q
まぁ値動きの予測なんてのは自分で考えるより
チャートに聞いた方が早いというのはあるね
ここ最近ずっと開発を続けていてそう思うようになった

どういうロジックなら勝てるかを考えるより
EA自体がシグナルを探っていくようなシステムを作るべきだと
つまりAIという概念
過去スレでもちょいちょい出てたね

極論がここであろうことはなんとなく予想していたけど
いまいち開発に踏み切ることはできなかった
俺もそろそろ開発の方向をそっちに変えるべきかな

616 :Trader@Live!:2011/08/25(木) 07:16:09.22 ID:5EDU8y96
>>608
前スレに出てた
FTTを使って、波形の指紋みたいなのをデータベース化して近似値を照合する方法とかは?

617 :Trader@Live!:2011/08/25(木) 08:21:39.66 ID:5RWDJo3a
スタティック変数とグローバル変数の違いを教えてください。
どちらも関数外でも変数を保持してプログラムを閉じるまで記憶されるんですよね。

618 :Trader@Live!:2011/08/25(木) 08:31:06.57 ID:Fj5Dpity
>>617
スタティック変数は関数外から参照できない

619 :Trader@Live!:2011/08/25(木) 08:45:16.15 ID:5RWDJo3a
よくわからんけど。コメントの値はこうなるの?
funcA(){
static int a = 0;
}
funcB(){
a += 1;
return a;
}

start()
{
funcA();
Print("a=",funcB());
}

//////////
コメント
a=1

620 :Trader@Live!:2011/08/25(木) 08:52:31.28 ID:oRmH5hP+
>>619
そもそもコンパイル通らないだろ?

621 :Trader@Live!:2011/08/25(木) 08:57:12.91 ID:5RWDJo3a
すいません。でもまいいや。ありがとうございました。

int funcA(){
static int a = 0;
}
int funcB(){
int a =+ 1;
return(a);
}

int start()
{
funcA();
Print("a=",funcB());
}

622 :Trader@Live!:2011/08/26(金) 04:32:52.61 ID:tjt2jsXM
こんな時間までコーディング・・・
今までは主にインジの数字嬲ってたんだけど、インジ使わない手法を
見つけてそれをEA化しようとしたら、プログラムの技術が足りないのもあって
一大事業になってしまってる
数日以内に終わればいいな・・・そしてこんだけ苦労してるんだから
エッジがあることを祈るのみ・・・

623 :Trader@Live!:2011/08/26(金) 06:24:47.88 ID:HvgSUF0L
また鯖落ちた?

624 :Trader@Live!:2011/08/26(金) 15:02:16.24 ID:DN5hmTcq
すみません
ima などのperiodを可変にしたいのですが、以下のような書き方では駄目みたいです。
外にいい方法はありませんでしょうか?
extern int p_15 = 1;
double ima_1 = iMA(NULL, l_period_99(), 700, 0, MODE_EMA, PRICE_CLOSE, 0);
int l_period_99(){
int p_15;
int l_period_11 = 0;
switch (p_15){
case 1 :
l_period_11 = 15;
break;
case 2 :
l_period_11 = 30;
break;
case 3 :
l_period_11 = 60;
break;
case 4 :
l_period_11 = 240;
break;
}
return(l_period_11);
}


625 :Trader@Live!:2011/08/26(金) 15:08:23.72 ID:oQBapNKP
2つ目のint p_15;を削除する。
しかし、そんなデコンパ丸わかりソース貼らんでも...

626 :Trader@Live!:2011/08/26(金) 15:53:14.93 ID:DN5hmTcq
>> 625
ありがとう御座います。
出来ました。

627 :Trader@Live!:2011/08/26(金) 21:57:13.35 ID:tjt2jsXM
一応の形にはなってきましたが・・・

http://www.dotup.org/uploda/www.dotup.org1949619.jpg

安値を切り上げたあと、高値を更新した場合(直近三つの値動き)のその後の値動きのグラフ
ただ切り上げただけではどうなるか分からないということがよく分かる
とはいえ、切り上げたあと更新した時点で、最初に切り上げたところより下げる確率は
低いらしき感じとは見ていいと思いました

ttp://www.dotup.org/uploda/www.dotup.org1949568.jpg
一度切り下げたあと高値更新してさらに後安値更新するパターン(直近4つの値動き)
これもごちゃごちゃはしてるけど、少なくとも最初に切り下げたところよりは上がるだろうことが
なんとなく読める

・・・・というわけで、MT4だけでEA化するのはあきらめました\(^o^)/
でも上の二つはわりとゴチャゴチャしてるけど、状況によっては高確率で読めるパターンとかも
あるようなのでいろいろ試してみたいと思います
上のは15分足の直近3つと4つですが、パラを変えたり足を変えればその確率も上げられるかもです

628 :Trader@Live!:2011/08/26(金) 22:34:21.79 ID:DN5hmTcq
Tickデータとか手に入れるいみあります?
売ってるところとかありますが、これバックテストに使えるんでしょうか?
historyには1分足しか無いような気がするんですが。

629 :Trader@Live!:2011/08/27(土) 00:03:27.64 ID:WOWLuSbT
>>628
あるよ。擬似Every tickと結果があまりにも変わって愕然とすることがある。

630 :Trader@Live!:2011/08/27(土) 00:11:18.16 ID:qskEeS18
せっかく苦労して作ったのが形になってきて嬉しいので
これからのユロドル予想も書いてみるwwwwwww

短い足ではもうちょい下げるかもしれないが、そのあと数十pipsぐらいは上がる可能性あり
ただし、1時間足と4時間足で計算するとこの流れのまま1円以上は下げる可能性あり

っていうこれを書いたのが23時50分ごろだったので
ちょっとずれてしまったけど、短い足のほうは一応当たってたと言ってもいいのだろうか・・・?

631 : 忍法帖【Lv=1,xxxP】 :2011/08/27(土) 07:48:51.70 ID:NIlzK3EN
revival

632 :Trader@Live!:2011/08/27(土) 10:53:39.02 ID:qskEeS18
・・・15分足的には一応大きく上げるパーセンテージは大きかったので
当たってたといえば当たってたんですが、大きな足的に大外れですね

とはいえ、1時間足4時間足での大きな下げの確率は他の値動きと比べると一番確率はは高かったものの、
全体的には35%程度で2/3の確率で外れるものだったわけで、
そこに賭けるのはミスだったのか・・・
これはもう少し使い方を工夫する余地がありそうでした
予測の材料も考えてみれば直近4つまででは危なっかしいので
最大で直近10個までを材料に使えるようにしたら改善するかも・・・

まだまだだということがよく分かったので、もっと研究します
失礼いたしました

633 :Trader@Live!:2011/08/27(土) 13:38:33.75 ID:03yrSh0T
リアルTickデータはDukascopyのものを推奨。デモ口座を開いて
Jforexで過去データをダウンロードできる。その後JForex2FXT
というスクリプトでMT4用に変換。もっといいTickデータソースあった
ら教えて。Dukasのものは0.5pipが最小単位みたい。

634 :Trader@Live!:2011/08/27(土) 15:56:26.90 ID:RMAsmxES
一日に一回だけ、ある条件でフラグを立てたいんだけど、
どう書けばいいですかね。
その条件は、一回フラグを経てば、その後条件に合致する事があっても無視します。

例えば朝8時以降にAというイベントが発生します。この時にAフラグ=trueをたてます。
Aフラグ=trueの時、真の売買条件が発生したとき売買注文を出します。
翌朝8時までに真の売買条件が発生しなければ、Aフラグを閉じます。(Aフラグ=false)

Aフラグ=trueのとき、Aイベントが消滅しても、Aフラグ=trueのままです。
Aフラグ=trueのとき、売買注文が起きるまでは、Aフラグ=trueのままです。
売買注文が成立したら、Aフラグを閉じます。(Aフラグ=false)
一度売買条件が成立したら、翌朝までAフラグを閉じたままです。(Aフラグ=false)
翌朝8時までポジションが残っているとしたら強制的に決済します。

それで基本的な流れとして下のようなものを考えてみました。(流れですので、、)

bool Aflag = false;
int FilterSignal()
{
if( ある条件A && 本日8時以降 ) Aflag = true;
}
int EntrySignal()
{
if (Aflag == true && 売買条件 == true && 現在ポジションを持っていない)
{
注文発注();
Aflag = false;
}
int CloseSignal()
{
if (利確達成 || 損切り達成) クローズ発注();
if (翌朝8時) クローズ発注();
}

int start();
{
FilterSignal();
EntrySignal();
CloseSignal();
}

このままですと、条件が発生したら何度もAフラグが立ちます。
Aフラグは一回だけでいいのです。何か良い方法ありますか?
またこの流れで問題点とかありましたら教えてください。

635 :Trader@Live!:2011/08/27(土) 16:17:53.11 ID:F+bzE3lO
>>634
斜めにしか読まなかったけど、「今日はAフラグを立てましたフラグ」を持てば良いんじゃないの?
で、毎朝8時にそのフラグをクリアする。

636 :Trader@Live!:2011/08/27(土) 16:21:31.70 ID:TU+7TKIQ
>>634
適当にやってみた。<-が変更部分
bool Aflag = false;
bool myPos = false; <-

int FilterSignal()
{
if( ある条件A && 本日8時以降 ) Aflag = true;
if( myPos ) Aflag = false; <-
}

int EntrySignal()
{
if (Aflag == true && 売買条件 == true && 現在ポジションを持っていない)
{
注文発注();
myPos = true; <-
}

int CloseSignal()
{
if (利確達成 || 損切り達成) クローズ発注();
if (翌朝8時) クローズ発注();
}

int start();
{
FilterSignal();
EntrySignal();
CloseSignal();
}


637 :Trader@Live!:2011/08/27(土) 18:45:50.36 ID:RMAsmxES
>>635 さん >>636 さん ありがとうございます。

>>635 さん
今日はAフラグを立てましたフラグ の書き方がよく解らなくて、、。

>>636 さん
ポジションを持ったときにフラグを立てて、その場合Aフラグを閉じる
っていうことですね。
組んでみます。ありがとうございました。

638 :Trader@Live!:2011/08/27(土) 19:30:02.36 ID:zs7flKzk
相場をFFT処理したら短期予測できるかな?と思ってやってみたけど、
逆フーリエかけた時点で誤差がありすぎてとてもじゃないけど使い物に
ならなかった。スクリプト書いた時間返せよorz

639 :Trader@Live!:2011/08/27(土) 19:50:05.09 ID:JSTNIqUZ
その誤差自体にすばらしい収益機会が潜めているのかも

640 :Trader@Live!:2011/08/27(土) 21:29:05.91 ID:Pm7BcB1H
>>638
逆変換する必要ない

ノイズ除去のためローパスフィルタ
適当に帯域を分けて、低周波ほど重み付けを大きくして、スペクトル値を合算
この値をデータベース化
今の値の近いものをデータベースから検索すれば、短期予測可能・・!?
検証よろ

641 :Trader@Live!:2011/08/27(土) 21:50:12.98 ID:NIlzK3EN
>>640
有意差を得るのは難しいと思う。

> 34 名前:Trader@Live![sage] 投稿日:2011/05/15(日) 22:58:38.81 ID:b8ZPVBdU
> ちょっと寄り道してた。
> >>32
> > この場合の次元は言い換えると成分みたいな意味。
> 別な意味で成分って言えるのがあるのかなぁ〜ってのがこれ↓
>  ttp://www.debuchan.us/uploda/img/up00004424.gif
> これはEURUSD,M1を3/01〜の65536足分、FFTした結果。
> 成分は見事にランダムノイズだけw

642 :Trader@Live!:2011/08/27(土) 22:40:26.08 ID:zs7flKzk
パターンマッチングに使うというのは面白いかも?!と思ったけどそれだけのプ
ログラミングスキルがないですorz

>>641
このスペクトラムは処理が長期すぎてるからなのかな?と勝手に思ってます

無駄な高周波成分除去のために生データではなくてMAを使って、更に短期デ
ータで処理すると周波数ピークがいくつか現れます
ただシャープなピークではなく、かなりなだらかなものなのでそのままでは使い
にくい、、、なかなか難しいものですね

643 :Trader@Live!:2011/08/28(日) 07:19:20.24 ID:5QrQtiZf
バックテスト時に、グラフ上に出る 緑の線は何を表してますか?

複数ポジの含みを表していると思っていたんですが、ポジション1つしか持たないEAでも出るみたいなので。

644 :Trader@Live!:2011/08/28(日) 08:27:58.35 ID:Bd9TsjrU
>>641
周波数軸は対数にしてくれよ。

645 :Trader@Live!:2011/08/28(日) 09:18:30.34 ID:G+vEF2VB
>>642
高周波除去にMAを使うのは有効な手だと思う
ただ、その場合、超短期・短期・中期MAの合算をFFTしないといかん気がする

>>641 はM1の2ヶ月分をまとめてFFTしても、得たいものが得られないと思う

デイトレ〜スイングトレードとすると
例えばM5の1日分をFFTして、スペクトル値合算
これを繰り返して、1週間とか1ヶ月分をさらに合算

今週とか今月の値と近いものを過去検索して短期予測。今月はこうなるはず、来月はこうなるはず等


この方法
音楽の違法up検索のために、曲をFFTしてスペクトル値合算
 (合算のやり方やFFTの詳細は特許取ってるはず。特許庁のDBから検索すればOK)
その合算値は、その曲の指紋
ネット上の膨大なデータを同じ手法で指紋採取していって、似た値があれば、同じ曲。違法upですね
ということをやってると思う

646 :Trader@Live!:2011/08/28(日) 09:19:14.85 ID:DcrqxzAQ
>>644 真っ直ぐになるだけたよ。見たい?

647 :Trader@Live!:2011/08/28(日) 09:49:31.35 ID:Q/jWi5Ww
>>643
ポジ数関係なしに含み損益だよ。英語で言うEquityね。

648 :Trader@Live!:2011/08/28(日) 10:34:32.58 ID:11KMer9/
>>645
FFTするのにMAなんて特性の悪いフィルターを使う意味がわからない。
あとスペクトルの合算てなに?

>>647
ポジ数1の場合は出ないよね。というか、完全に重なるはずだよね。

649 :Trader@Live!:2011/08/28(日) 10:59:41.41 ID:LbRmjva4
これか?
発明の名称 オーディオ信号からの特徴的な指紋の抽出とマッチング
http://www.patentjp.com/19/X/X100218/DA10001.html

650 :Trader@Live!:2011/08/28(日) 13:12:29.81 ID:oA/jqTHR
>>649
アイデア特許みたいだな。

651 :Trader@Live!:2011/08/28(日) 15:38:55.34 ID:G+vEF2VB
特許じゃなくて、俺が読んだのは10年以上前の学会論文だった
ググってもさすがに出てこなかった

>>649
///////////////////////////////////////////////////////////////////////////////
発明の詳細な説明
【0005】
ほとんどの既存の指紋技法は・・・
///////////////////////////////////////////////////////////////////////////////

俺が読んだ論文はもっとシンプルだった

例えば0.1秒毎のFFTをとって、スペクトル係数を適当に合算(ここ、どうやってたか全然記憶にない)
これを曲の長さ分やって、合算値をさらに合算(これも記憶にない)
これでその曲に対して一意の値(指紋)を作る、みたいな感じ

曲の長さは曲によって全然違うし
ネットに転がってるのは、必ずしも1曲単位とは限らない
開始・終了位置も一致しない(msecレベルで一致することなんて無い)
そのネットから指紋を検知するための方法なんだが、全然覚えてない


幸い、為替相場なら1日単位とか1週間単位とか区切って特に問題ない気がする

652 :Trader@Live!:2011/08/28(日) 16:10:28.13 ID:5QrQtiZf
tester フォルダを、MT4プログラムフォルダ内じゃなくて別の所に起きたいんですが、パス指定変更って可能です?

653 :Trader@Live!:2011/08/28(日) 16:30:13.29 ID:hLvEiSD3
>>652
ジャンクション使う

654 :Trader@Live!:2011/08/28(日) 18:46:57.04 ID:5QrQtiZf
>>653
有難う御座います。
SSDから読込めばいくらかバックテストの時間を短縮できるのかと思ったのですが、変わりませんでした。

あと、>>643 の件ですが、EA中にロジックを2つ入れてて、一つをOFFにしているのが原因なんでしょうか
ポジはいくら確認しても一つまでしか開いてないにもかかわらず、所々緑のグラフが出ています。


655 :Trader@Live!:2011/08/28(日) 19:55:17.07 ID:EdAn03dF
そのフィルターの話するのはいいんだけど。
できれば、別にできたインジスレで話してくれない。
目障りだ。

656 :Trader@Live!:2011/08/28(日) 20:08:05.26 ID:bR3P8T7v
>>654 初心者スレに行けよ

657 :Trader@Live!:2011/08/28(日) 23:22:59.34 ID:oA/jqTHR
>>651
> 例えば0.1秒毎のFFTをとって、スペクトル係数を適当に合算(ここ、どうやってたか全然記憶にない)
> これを曲の長さ分やって、合算値をさらに合算(これも記憶にない)
音楽なら有意差がある音紋が得られるだろうけど、それは音楽だから。
為替だと合算していったら>>641になるだろうし、合算しなくても有意差は無いと思う。

658 :Trader@Live!:2011/08/28(日) 23:35:00.38 ID:XfUcGEIH
>>654
青が確定済み口座資金、緑が含み損益を含む口座資金

659 :Trader@Live!:2011/08/29(月) 00:24:49.06 ID:UdNI7t9Q
>>654
お前質問しまくる割に回答をちゃんと見てないってどういうことだよ?
647で答えてやったろうが。658も親切に答えてやってるがこれも
スルーか?初心者というか常識学習スレにでも池

660 :Trader@Live!:2011/08/29(月) 03:32:56.94 ID:GlGMKcgV
EAっていうかオプティマイズってほんと素晴らしいな
チャートにこんな法則があるのでは?っていうただの思いつきでも
数十万単位のパターンを何年分も検証しなきゃいけないのが寝て起きたら終わってるんだもんな
オプティマイズが使えなかったらめんどくさすぎてスルーせざるをえない

株や商品でもMT4(MQL4のほうが簡単なので)が使えたらどんなにいいことか

661 :Trader@Live!:2011/08/29(月) 05:50:36.28 ID:CS696FRz
確かに手計算じゃ絶対にできないことを簡単にやってくれる。
結果の中には大きな利益になったものも含まれる。

でもねぇ、その利益が必然か偶然かを見極めないと、喜んでばかり
もいられない。最適化で得られた利益はほとんどの場合偶然の産物
なんだから、結局使えないってことになってしまう。
同じ偶然を将来に期待しても失望するだけでしょう。

662 :Trader@Live!:2011/08/29(月) 19:41:05.21 ID:M/IeOOqV
関数ポインタ的なことってなんとかしてできないかなあ

663 :Trader@Live!:2011/08/29(月) 19:54:48.73 ID:5ybu1zxv
まぁswitch-caseでやるのが順当かな。
iCustom()使っていいならそれで。

664 :Trader@Live!:2011/08/29(月) 19:56:35.01 ID:5ybu1zxv
>>660
分析だけならCSVで足をインポートすればできるよ。

665 :Trader@Live!:2011/08/29(月) 20:39:52.53 ID:CBV1UipH
エクセルでリアルタイムで読みだして計算させようかと思ったが、これじゃバックテストできないし。どうしよ。

666 :Trader@Live!:2011/08/29(月) 20:42:05.86 ID:M/IeOOqV
>>663
分岐というより依存関係を切りたくて。仮想関数が使えればいいんだけど。マクロを駆使して何とかできないかなあとか思案中。

667 :Trader@Live!:2011/08/29(月) 20:59:49.07 ID:5ybu1zxv
switch-caseでもif-elseででも切れると思うけど?
mql4のマクロは大したことできないのが残念。

668 :Trader@Live!:2011/08/29(月) 21:25:17.39 ID:M/IeOOqV
switchは仮想関数と等価にはならないべ。iCustomは割と近しいことができると思うけど関数レベルでやりたいなあと。まあmqlリファレンスあさってみるわ


669 :Trader@Live!:2011/08/29(月) 21:27:28.34 ID:5ybu1zxv
ポジ1コでも緑線が出ることがあるのはなぜなんだぜ。
 http://www.dotup.org/uploda/www.dotup.org1961167.png

>>668
ないものねだり言われても。
仮想テーブル相当のことはどーやっても必要でしょ。

670 :Trader@Live!:2011/08/29(月) 21:44:33.08 ID:M/IeOOqV
>>669
いや"switchで依存関係は切れると思うけど"、ってのが間違いって言ってるだけだよ。



671 :Trader@Live!:2011/08/29(月) 21:55:26.98 ID:5ybu1zxv
>>670
まぁこれで切れてないと言うなら切れてないさ。
MQL4じゃこれ以上無理だと思うが。

#property indicator_chart_window
int g_func;
int func1() { return(1); }
int func2() { return(2); }
int vfunc()
{
  switch (g_func) {
  case 1: return(func1());
  case 2: return(func2());
  }
}
void setup(int id) { g_func = id; }
int test() { return(vfunc()); }
void init()
{
  setup(1); Print("test()= ", test());
  setup(2); Print("test()= ", test());
}

672 :Trader@Live!:2011/08/29(月) 22:18:01.02 ID:M/IeOOqV
>>671
それは処理が分かれたわけであって、依存が切れたわけじゃないでしょ。
func1,func2がユーザ関数としてそれ以外がLibとすると、Libのvfuncがユーザ関数に依存しているよね。
例えばfunc3を追加したら、vfuncも書き換えなきゃいけないでしょ。

673 :Trader@Live!:2011/08/29(月) 22:18:08.43 ID:Rs0XbI9z
>>669
含み損益だからポジの数は関係ないですよ。

674 :Trader@Live!:2011/08/29(月) 22:27:31.23 ID:5ybu1zxv
>>672
当たり前。不毛だからもういいよ。
>>673
ポジ閉じた状態で含み損益がある状態って?
というのがわからないところ。

675 :Trader@Live!:2011/08/29(月) 22:38:32.79 ID:kGWc1SGz
>>674
>>656

676 :Trader@Live!:2011/08/29(月) 22:40:56.64 ID:M/IeOOqV
>>674
その当たり前を間違ってたのがあんたなんだが、、まあどうでもいいが

677 :Trader@Live!:2011/08/29(月) 22:46:07.81 ID:5ybu1zxv
だからvfuncもユーザー側に出せばいいだけだろ、どうでもいいが。

678 :Trader@Live!:2011/08/29(月) 22:56:36.52 ID:5ybu1zxv
vfunc()の修正が必要ってのは当たり前すぎてそのつもりはなかったんだが、
依存関係というのはtest()とfuncN()の関係のことな。
すまんな、お前にとっては当たり前すぎだったと思うわ。

679 :Trader@Live!:2011/08/29(月) 22:59:47.24 ID:M/IeOOqV
>>677
だからそうしたら依存を切るって目的を実現できてないから本末転倒でしょ。vfuncに依存するtest()もsetup()もユーザ側に置かなきゃいけなくて全部いっしょくたでしょ。
そもそもそれが問題みたいなものだろうに。

680 :Trader@Live!:2011/08/29(月) 23:05:38.91 ID:5ybu1zxv
そりゃもちろんtest()もsetup()もユーザー側の前提よ。
setup()はオブジェクト作る部分、test()はユーザー関数想定だからさ。
話がかみ合わないからそもそもどういうことがやりたいのかを具体的に出してもらわ
ないと。
単純に仮想関数をそれをサポートしている言語のように実現したいってのは
無理なんだから。

681 :Trader@Live!:2011/08/29(月) 23:06:30.85 ID:Rs0XbI9z
なんだ?この人。

682 :Trader@Live!:2011/08/29(月) 23:10:48.84 ID:M/IeOOqV
せっかく応えてくれてるんだし俺も煽るつもりはないんだよ。
いやいまライブラリを色々開発整理してるんだがいかんせん仮想関数がないとうまいこと再利用性を確保できんなあと。。
だから同じようなこと考えてる奴がいるかなあと投げてみただけだ。
無い物ねだりのつもりもないしもうちょい模索して無理そうならなんかしら妥協するよ

683 :Trader@Live!:2011/08/29(月) 23:21:33.37 ID:5ybu1zxv
本当に仮想関数が必要ならマクロじゃどうしようもないと思うが...
仮想機構で実現される部分を定型的にユーザー側でやるのは仕方ないと思うよ。

684 :Trader@Live!:2011/08/29(月) 23:41:22.73 ID:M/IeOOqV
まあ一例なんだが
ユーザ関数:
MyEntrySignal, MyExtSignal,,
Library:
SignalComposer

みたいなものがあるとして、ComposerにユーザSignal関数を複数渡してなにかしら演算結果を返すと。
もちろんLib側はユーザ側には依存できないとする。
こういうのを実現しようとすると仮想関数なり関数ポインタが必要になるよね、と。別の言い方だと
コールバック関数もしくはdelegateとかboost::bindとか、、

まあ俺がmqlをそれほど追求してないだけかもしれん。もうちょいあさってみるよ

685 :Trader@Live!:2011/08/29(月) 23:42:13.01 ID:0n/9dUPM
>>682
> いやいまライブラリを色々開発整理してるんだが
http://www.metasys-seeker.net/MQL4_Reference_ver1/01-07-03_IncludingOfFiles.html
http://www.metasys-seeker.net/MQL4_Reference_ver1/01-07-04_ImportingOfFunctions.html
http://www.metasys-seeker.net/MQL4_Reference_ver1/01-06-07_ExternalFunctionsEefinition.html
後は、Cのプリプロセッサと組み合わせれば出来る。

686 :Trader@Live!:2011/08/29(月) 23:57:14.80 ID:5ybu1zxv
だからそれだけでいいならvfunc()をユーザーにやってもらえばいいだけでは?
まぁこれが気にいらないって話ならしょうがない。
Lib:
SignalComposer() { ...; vfunc(id); ...; }
User:
vfunc(int id) { switch (id) { case 0: MyEntrySignal(); break; ... }

>>685
ちょっと違う話かな。
まぁ自前でプリプロセッサを作るならなんでもできるけどね。

687 :Trader@Live!:2011/08/30(火) 00:03:27.94 ID:Tf6ohNXA
>>685
そりゃもちろんDll使ってC++側でやればなんでもできるけど。。
もちろん検討してるし試してるけど、今はmqlのコードが多いんだよね。
でもいずれはほんとdllに持って行った方がいいかもね。速度的にも、他のモジュールとの連携でも。
ただiMAとかをC++で再実装しなきゃいけないのが面倒そう

688 :Trader@Live!:2011/08/30(火) 00:03:40.04 ID:y3rqMcJj
>>686
> まぁ自前でプリプロセッサを作るならなんでもできるけどね。
LSI-C試食版のプリプロセッサを持ってくるだけ。

689 :Trader@Live!:2011/08/30(火) 00:16:25.97 ID:Tf6ohNXA
>>686
No,No. Composerはもちろんvfuncを使うんだってば。
Composerはvfuncを使って登録されたユーザSignal関数を呼び出すんだよ。つまりコールバック。
それでいて具象ユーザ関数に依存してはいけないということ。
Javaで言うと、ISignalクラスのexecuteを呼ぶような感じ。



690 :Trader@Live!:2011/08/30(火) 00:46:25.52 ID:Tf6ohNXA
あとLib側でUser側の関数を呼ぶならUser側のヘッダもincludeすることになるし、Userが使う度にLibにincludeを追加することになる。
そもそもmqlが相互参照でコンパイルできるのか..

691 :Trader@Live!:2011/08/30(火) 01:03:52.35 ID:utvS4xpL
>>686
あと食い違ってる点だけど、俺は依存関係は
User → Lib
にしたいんだけどで、君は
User ←→ Lib
で別にいいじゃん、ってことだけだと思うよ。
ただ、俺はいまのところLibの独立性を高くしておきたいと思ってるだけで(複数のEAから使われるものだから)、
君のやり方でも動作すると思うし間違ってるとか全否定したいわけじゃないよ。
なんにせよmqlが簡易言語だし、色々と妥協が必要なのはその通りだと思うし。

692 :Trader@Live!:2011/08/30(火) 02:48:20.16 ID:w8mIV+uF
1〜10の数値をとるパラメータA, B, Cがあるとして
10^3の1000通りの全組み合わせをoptimizeしたときに
例えばA=5, B=7, C=2
が最も成績良かったとする

しかし、どれかのパラメータを±1しただけで大きく成績が変わるならカーブフィッティング
そこで、最も無難というか最良な組み合わせを調べる方法ってある?
統計学の〜〜法とか何でもいいから、あるなら勉強して実装するお

693 :Trader@Live!:2011/08/30(火) 06:15:49.93 ID:y3rqMcJj
>>692
話しを簡単にする為に、パラメータはA, Bの二つだとする。
二つのパラメータは平面上にプロット出来る。
そこに各組み合わせのPFをZ軸として追加すれば、デコボコした三次元チャートになる。

ここで理想のEAは、PF=1以下の大きな窪みが何も無いEA。
次善に良いEAは、PF=1以下の窪みが偏っているEAで、そのエリアを避ければ使える.。

どれか±1しただけで大きく成績が変わるなら、それは窪みが満遍なくバラ蒔かれている地雷源の中にあるパラ。
そのEAに、「最も無難な組み合わせ」は無いと言える。

BT結果をXYで表示するとPFの善し悪しを濃淡で表すから、それを見てみれば?

694 :Trader@Live!:2011/08/30(火) 09:39:19.07 ID:m5ghJrBo
>>692
ロバスト最適化。
まぁ凸凹がひどくても最悪値でPF3とかあるならあまり問題ないわけで、
評価関数が難しいね。

695 :Trader@Live!:2011/08/30(火) 10:33:59.30 ID:OUUH7bzL
>>684
究極にキワいが組み込みLUAとLUAのコルーチンを使う手があるかも?(未検証)

MT4への組み込みスクリプトは、コールバックを実装する最も手軽な方法だけど
スクリプト側からMQL4コードを呼べないのがかなり大きな制約になる。
っで、この方法でなら工夫次第で(もしかしたら)MQL4関数だけは呼べるようになる
かも?って話。具体的には・・・・・・超長文になるんでダリ〜w

ザクっと要約すると、LUA側でMQL4関数が必要な時にyieldで中断して、一旦MQL4
コード側に戻して、MQL4コード側でMQL4関数を呼び出してもらって、その結果を引
数に再びLUA関数のラッパー関数を呼び出して、ラッパー関数側でLUA側の適当
なテーブルに返値をセットしてコルーチンを再開して、LUA関数側で適当なテーブル
から返値を得ればいい。

実際にやろうとすると何か落とし穴がありそうだけど・・・・・・
てか、7bit氏が組み込みPythonでドツボにハマって頓挫したみたいだしねw

696 :Trader@Live!:2011/08/30(火) 10:43:36.51 ID:OUUH7bzL
個人的には、コールバックって言っても動的な解決がどうしても必要とか
いうんじゃなければ、上でも出てる自前のプリプロセッサを書く方法が最
もリーズナブルだと思う。
別に構文解析からやらなくても、正規表現の置き換えとコード生成くらい
で十分に目的には適うと思う。

697 :Trader@Live!:2011/08/30(火) 11:16:09.49 ID:w8mIV+uF
>>693
そういえばOptimization Graphでスペース押せば2次元グラフ出るね

良し悪しを判断する値がProfit、PF、Drawdownの3つの場合、5次元になってしまうけど
TestingのOptimized parameterをBalance, Drawdownと変えてやれば、各2次元グラフ出るから
それを総合していくしかないのか・・

パラメータ2種の場合は、この方法でいけるけど
実装したいのはパラメータ5種 x Profit xPF x Drawdownの8次元・・・

>>694
おぉ!
しかしロバスト最適化でググると、なんか研究論文みたいなのしか出てこない
解説したサイトない?

最適化問題の類似項目から、ナップサック問題、局所探索法見てみたけど
この手法、得られた解の隣の解が地雷でした、ってことがありそうな・・?

698 :Trader@Live!:2011/08/30(火) 12:48:13.40 ID:N4lix0OE
>>697
ダメなアルゴをいくらBTで補完/補強しようと、ダメなものはダメ。
FTすれば途端にボロが出る。
時間の無駄だよ。

699 :Trader@Live!:2011/08/30(火) 13:08:35.88 ID:m5ghJrBo
>>697
おれもちょっとググっただけなんだけど、ロバスト最適化で出てくる
2つ目のISASとか5つ目のデンソーの人の論文はわかりやすいんじゃない?

700 :Trader@Live!:2011/08/30(火) 13:34:26.12 ID:/5v1DpQY
>>697
> この手法、得られた解の隣の解が地雷でした、ってことがありそうな・・?

最適化問題って、全数検索が計算時間的に困難な場合に、
いかにショートカットして短い計算時間でより良い解を求めるか?が問われている感じだよね

何かしら解が得られたら、その解の近傍を検算しておけば、隣の地雷を避けられるんでないかね。

701 :Trader@Live!:2011/08/30(火) 13:41:44.75 ID:m5ghJrBo
そのより良い解の求め方が知りたいって話でしょ。

702 :Trader@Live!:2011/08/30(火) 15:52:53.99 ID:w8mIV+uF
>>699
ISASのDFMOSSを見てみたけど、この情報だけじゃ実装はちと厳しい
しかし従来手法のDFSSをググっても、実装に結びつくような情報も見当たらず、手詰まった

>>700
http://www-or.amp.i.kyoto-u.ac.jp/members/yagiura/open-campus-2004/happyo-shiryo.pdf
ここ見たら、
ナップサック問題に対する欲張り法
局所探索法
は最適じゃなくてもいいから、迅速にベターな値を出したい、というものらしい

解が得られて、近傍を検算したら隣が地雷でした → やり直し
 → また似たような解が得られる → 隣が地雷
のループにはまらないかどうか。。
同じアルゴリズムなら、再検索しても同じような解に行き着く可能性があるわけで
実際にやってみないと分からん

703 :Trader@Live!:2011/08/30(火) 17:35:13.75 ID:U9t0qY3J
ラグランジュ未定乗数法とか最急降下法とかで色々出てくると思う。
前作ったことあるけど割と最適値は見つかるけど局所最適解にはまったりする。。
数学的背景を理解して実装できたなら局所解とその近傍解の乖離の大きさを調べるのは難しくはないと思う。
ただそこまでがんばる必要があるのか。。mtのoptimizerはグラフ出してくれるし、、
まあでも確かにあのグラフはパラメータ変動を横にずらっと並べただけだから近傍の把握はしづらいか。

704 :Trader@Live!:2011/08/30(火) 19:30:13.98 ID:FTgB0uAs
すみません。オープンポジションが閉じたらシグナル発生って言うのをやりたくてずっと試行錯誤しているのですが、全く出来ません。
前スレとこのスレで聞いたり調べたりして、以下のようにしてみたのですが、まだ駄目なようです。
何か間違っているのか、根本的に違うのか、初心者スレから出直した方がいいのか、教えて下さい。
bool IsAliveOrder(int magic)
{
int ticket1;
for(int i = OrdersTotal() ; i >= 0; i-- )
{
if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;
if(OrderSymbol() != Symbol() ) continue;
if(OrderMagicNumber() == magic){
ticket1 = OrderTicket();
Sleep(10000);
for(int i2 = OrdersTotal() ; i2 >= 0; i2-- ){
if(!OrderSelect(i, SELECT_BY_POS , MODE_HISTORY)) continue;
if(OrderTicket() == ticket1){
return(true);
}
}
}
}
return(false);
}
取得 if (IsAliveOrder(Magic_Number)){
}


705 :Trader@Live!:2011/08/30(火) 20:06:03.39 ID:asbrTZWb
>>704
> 前スレとこのスレで聞いたり調べたりして、以下のようにしてみた
コピペで書いている様では、まだ初心者スレだな。

> if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;
> if(OrderSymbol() != Symbol() ) continue;
continue;でいいの?

706 :Trader@Live!:2011/08/30(火) 20:30:38.60 ID:FTgB0uAs
>705
有難う御座います。
最初の3行で対象ポジの確認を行いチケット番号を取得、
その後10秒待ってから、for 文の入れ子でヒストリーから
取得したチケット番号があれば、trueを返し、無ければ false
という内容で書いたつもりです。

色々変えて見てますがどうも間違ってるようで上手くいきません。

707 :Trader@Live!:2011/08/30(火) 20:50:41.96 ID:w8mIV+uF
>>703
thx 難しそうなので気長に勉強してみる

>>ただそこまでがんばる必要があるのか
optimize→FTでボロボロ を散々繰り返してきて
もはやどうoptimizeしていいのか分からなくなってきた
なんで、多数のパラメータの組み合わせから無難な解を探しだすコードを書いて
そっちに任せよう、と

708 :Trader@Live!:2011/08/30(火) 20:56:23.24 ID:m5ghJrBo
>>707
え、MT4使わずに自力でしようとしていたの?
てっきりMT4の結果からいいものを選ぼうって話かと思ってた。

709 :Trader@Live!:2011/08/30(火) 21:10:20.70 ID:m5ghJrBo
>>704
単純にmagicのポジがあるかないかだけ調べればいいのでは?
bool IsAliveOrder(int magic)
{
  int ticket1;
  for(int i = OrdersTotal() - 1; i >= 0; i--) {
    if(!OrderSelect(i, SELECT_BY_POS , MODE_TRADES)) continue;
    if(OrderSymbol() != Symbol()) continue;
    if(OrderMagicNumber() == magic) {
      return(true);
    }
  }
  return(false);
}

710 :Trader@Live!:2011/08/30(火) 21:12:56.27 ID:adsfmkKM
>>707
最悪の選択じゃないでしょうか。そもそも最適化に頼って利益を
出そうって考えから抜け出さないと泥沼だと思う。

全数検索できないほどパラメータ数が多い or パラメータ幅が広いので
GAやナントカ検索に頼らなければいけない場合、それで得られた結果に
ついてはたぶん説明できないでしょう。
なぜパラメータAが○○で、パラメータBが□□であるかは。
ただ最適化で成績が良かったというなら、過去については偶然そう
なっただけ。
その偶然を未来にも期待するのは自由だけど、可能性は低いと覚悟
しておいたほうがいいかもしれない。

711 :Trader@Live!:2011/08/30(火) 21:18:20.87 ID:2g4e/h9+
クロスバリデーションを丁寧におこなえばよいだけのこと。

712 :Trader@Live!:2011/08/30(火) 21:18:35.19 ID:m5ghJrBo
最適化の結果は偶然じゃなく、確率を期待してるのでは。

713 :Trader@Live!:2011/08/30(火) 21:34:38.90 ID:adsfmkKM
>>712
そうだと思うけど、その期待した未来に対する正しい確率を返して
くれないから707さんは苦労してるんでしょ。
返ってくるのは過去に対する確率で、未来のことは一切含まれていない。
未来は過去と同じだろうという考えは外れることも多いよね。

714 :Trader@Live!:2011/08/30(火) 21:40:49.47 ID:m5ghJrBo
もちろん、手法が大事であってどうoptimizaすればいいのかってのはそれほど
関係はないとは思う。
どれだけ外れるか→PFに直結なので多いと困るw

715 :Trader@Live!:2011/08/30(火) 21:56:32.39 ID:w8mIV+uF
>>708
両方ありだけど
MT4でOptimize→結果をhtml保存→excelで読み込んでcsv化→最適解?近似解?を検索
の方で

>>710
EAにどんな素晴らしいロジックを載せても、裁量とは決定的な違いがある
極端だけど、EAのパラメータは特定期間における確率の問題に尽きると思う
昔は絶好調だったEAが今はボロボロ・・・
でもロジックが糞なんじゃない。今の相場に合わせて最適化すれば良い
パラメータを変えたパクリEA→パクリEAのループで、ロジックはそれほど変わってはないだろうし

>>713
過去2年間のBTで好成績だったものが、未来2週間でボロ負けする確率は標準偏差で何σだ?
とでも思わなければ、BT自体の存在価値がなくないか

716 :Trader@Live!:2011/08/30(火) 22:22:31.11 ID:FTgB0uAs
>>709
ありがとうございます。ですが駄目みたいです。
前スレ 735の方がチケット番号保持する方法を聞いていて解決したらしいのですが、
どうやって保持しているのかが気になります。

引用
744 名前:735[sage] 投稿日:2011/06/21(火) 02:36:18.88 ID:ZlC7ekCi
>>741

理由は不明ですが、たま〜にループでTicketの取得が
正常に出来なかったので、直前のチケット番号を保持
する仕組みに変更しました。

717 :Trader@Live!:2011/08/30(火) 22:34:43.48 ID:EvwNYdjz
例えばある一つのパラメータを100通り試したとする。
その時のオプティマイズのグラフが山型になっていて、
ある数値に向かって成績が上がっていくようなグラフになっていた場合、
その最適化は有効だったと俺は考えるね。逆にバラバラなら無駄だったと。

例えばRSIで言った場合、9だとか14だとか、
一般的に使われているパラメータに向かって成績が上がる傾向にあるね。

まぁ、これ以上は言う必要がないな。

718 :Trader@Live!:2011/08/30(火) 22:34:50.11 ID:m5ghJrBo
>>715
そうか、このやり方を使えば自力で最適化も簡単にできるね。
http://d.hatena.ne.jp/fai_fx/20100529/1275060736

>>719
何がどうダメなのか...

719 :Trader@Live!:2011/08/30(火) 22:39:39.62 ID:g6b8ZsNy
>>711
クロスバリデーションってなーにー?

720 :Trader@Live!:2011/08/30(火) 23:49:18.11 ID:adsfmkKM
>>715
完全に最適化教に取り憑かれているみたいですね。
BTとはいえ利益は損失より嬉しいので、気持ちは分からなくもないけど。

> optimize→FTでボロボロ を散々繰り返してきて
最適化に対する考え方が間違っていると、自分で何度も証明したようですね。

> 過去2年間のBTで好成績だったものが、未来2週間でボロ負けする確率は標準偏差で何σだ?
> とでも思わなければ、BT自体の存在価値がなくないか
誤った最適化や最適化に対する考え方は、存在価値がないというより有害でしょう。

確かにヒストリカルデータから利益を出すのに、最適化は一番手っ取り早く楽な方法です。
お粗末なEAでも最適化さえすれば、過去については自慢できるような結果を残せます。
でも誤った最適化はただそれだけのもの、文字通りそれだけのものです。
ヒストリカルデータから利益を出せたとしも、それから先利益が出せるかどうかは運を天に
任せるしかありません。
まだ最適化に頼って利益を出そうっていうなら、もうお大事にとしか…

721 :Trader@Live!:2011/08/30(火) 23:52:18.50 ID:g6b8ZsNy
>>720
なんだかスゴそうな人が降臨したな。
じゃあ何に頼って利益を出せばいいの?

722 :Trader@Live!:2011/08/30(火) 23:52:34.50 ID:m5ghJrBo
フォワード用に半年分くらい手前までで最適化して確認すればいいだけ。
こういうソフト使ってもいいし。
http://d.hatena.ne.jp/fai_fx/20110209/1297200075

723 :Trader@Live!:2011/08/31(水) 00:12:14.13 ID:K9GBIMh/
>>721
内容のない駄文でバカにしか見えんが

724 :Trader@Live!:2011/08/31(水) 02:35:52.32 ID:vOV2F538
>>721
スゴイ人じゃありません。723で指摘されたようにただのバカです。
これ以上「最適化命」って人の気分を害するのも良くないようですが…

EA作りも「観察→仮説→検証」という流れが一般的でしょう。
私はこのサイクルの中に最適化を持ち込むべきではないと思います。
この検証のために最適化をしてしまうと、仮説の正否に関係なくPCのパワーで
利益を捻り出します。

私の場合トレードをイメージして、EntryもExitもパラメータ固定&フィルタなしで
テスト、それでダメなら最適化はしません。
悪足掻きしてもロクなことにはならないと思っています。
最適化なしで利益が見込めるときは、仮説を壊さないように注意しながら一部の
パラメータを最適化して調整します。
もちろんFTで最適化が有効かどうか確認が必要です。
インジ込みのチャートを見て仮説を立てる(トレードをイメージする)ので、
Entryについては最適化しません。
Entryのパラメータを変更すれば、トレードのイメージが大きく変わってしまいます。

これが正しいと主張するつもりはありません。これが私の最近のやり方というだけです。

725 :Trader@Live!:2011/08/31(水) 02:54:43.24 ID:nn8TAj7e
内容が無いよう

726 :Trader@Live!:2011/08/31(水) 03:03:51.04 ID:8UxDH6oW
過剰最適化のリスクなんて入門書に書いてある話でどうでもいいし講釈はゆとりスレでやってくれ
具体的な数値のBT分析結果とか質問とかなら歓迎だがね

727 :Trader@Live!:2011/08/31(水) 04:12:09.85 ID:v9I5ZbIJ
俺も>>724と似たような「演繹的」(?)な方法だな。

それで発見する(?)幾つかの手法は、例えば>>179の人が>>180で説明しているような、
「一般的」なテクニカルのパラメータの組合せでは、
たとえそれが数千個あったとしても、絶対に見つからないような手法だしな。

「観察」してると考えが裁量に傾きそうになるが、
それを無理矢理厳密にプログラム化する過程で「一般的」なものから外れていく、
とでも言うしかない。
プログラミング言語を自然言語並みに使いこなせないと難しいと思う。

最適化は最後に一応やってみるが、
結局は最適化の結果よりも「仮説」として演繹してきた理論を重視した方が良い結果になる。

要は、自動でやるにせよ頭を使うにせよ、
テクニカルそのものを新たに創造するような過程が無いと厳しいってことだと思う。

728 :Trader@Live!:2011/08/31(水) 06:00:32.67 ID:K9GBIMh/
自演乙ww

729 :Trader@Live!:2011/08/31(水) 08:12:04.62 ID:k+5gSMne
>>715
エラそうな事を言っているけど、

> パラメータを変えたパクリEA→パクリEAのループで、ロジックはそれほど変わってはないだろうし
ここはおまえが来るスレではない。

730 :Trader@Live!:2011/08/31(水) 11:34:15.95 ID:v9I5ZbIJ
>>729
その通りだね。
よく読み返すと、最適化以外の話を叩いてる奴って。。。


クズだったんだなw

731 :Trader@Live!:2011/08/31(水) 13:37:25.69 ID:9RwyTohS
公開されているEAでBTが数年間右肩上がりの物ってありますか?

732 :Trader@Live!:2011/08/31(水) 13:38:38.77 ID:RCKkjmvB
損切りしないEAはだいたいそんな感じ

733 :Trader@Live!:2011/08/31(水) 13:41:33.90 ID:9RwyTohS
ぇ!、強制L/C でガタといかない?

734 :Trader@Live!:2011/08/31(水) 14:29:13.01 ID:RCKkjmvB
証拠金をふやせばいい。

735 :Trader@Live!:2011/08/31(水) 14:33:15.53 ID:9RwyTohS
ありがと! レバ 1 で BTしてみるよ

736 : 忍法帖【Lv=37,xxxPT】 :2011/08/31(水) 14:48:21.19 ID:/3kAvfJX
カーブペッティング

737 :Trader@Live!:2011/08/31(水) 21:53:08.71 ID:AGZDeBjE
配列も変数も関数に入る前に宣言しています

----
double tick_p[];
int tick_count;

int start()
{
tick_p[tick_count]=Bid;
Print("hozon ok tick_p "+tick_p[tick_count]);
tick_count++;
}
----
とBidを配列に保存していきたいのですが、うまく代入ができていないようで、試しにPrint()したところ、0でした

Print("hozon ok tick_p "+Bid);
と直接Bidを表示したり、

testという変数を用意して、Bidを代入して、Print()表示した場合にはちゃんとBidが表示されていました
応急処置としてtestを配列に代入してみても0でした
MarketInfo()を使用しても0でした

配列にBidを代入する場合は何か特別な方法が必要なのでしょうか?
あるいは不手際があれば、教えてください
よろしくお願いします

738 :Trader@Live!:2011/08/31(水) 21:58:13.54 ID:bz1tPOFJ
>>737
サイズ確保はどうやってるの?

739 :Trader@Live!:2011/08/31(水) 22:17:06.57 ID:AGZDeBjE
>>738
ありがとうございます
ExtMapBuffer1[]の例から、関数外の宣言の場合は不要なのかと思っていました
数字を入れたら動きました

ただ、extern int tick_saveという外部変数を用意していて、この数だけ配列を用意しようと考えています
単純に
double tick_p[tick_save];
とすると、関数外の宣言の場合はエラーになってしまいますが、割り当てる方法はあるでしょうか

740 :Trader@Live!:2011/08/31(水) 22:19:30.57 ID:bz1tPOFJ
>>739
http://www.metasys-seeker.net/MQL4_Reference_ver1/06-00_ArrayFunctions.html

741 :Trader@Live!:2011/08/31(水) 22:20:28.88 ID:w5ErRVgp
>>739 初心者スレに行けよ

742 :Trader@Live!:2011/08/31(水) 22:29:55.24 ID:AGZDeBjE
リファレンスを示してもらった意図とは違うかもしれませんが、
とりあえずinit()でArrayResizeでリサイズすることにしました
ありがとうございました

743 :Trader@Live!:2011/08/31(水) 22:30:40.24 ID:LWdD7PjL
>>739
init()とかでResizeすればおk

744 :Trader@Live!:2011/08/31(水) 22:36:14.12 ID:AGZDeBjE
>>743
ありがとうございました

745 :Trader@Live!:2011/09/01(木) 11:29:26.08 ID:YqOIyzyl
>>718
最後に書かれているように
PF至上主義で追っていって、最後はスーパーカーブフィッティングでEndだよ

>>722
それ使ったら、「Ratio 0.5以上で有効」なところを3とか出て、逆に怖かった

746 :Trader@Live!:2011/09/01(木) 15:37:52.08 ID:pgvb6nG4
>>745
いや、718は>>717宛ての間違い。

747 :Trader@Live!:2011/09/01(木) 15:38:38.47 ID:pgvb6nG4
すまん、>>716宛ての間違いの間違い。

748 :Trader@Live!:2011/09/01(木) 19:55:12.13 ID:w8u8r9FG
なんちゃってコーダーなので、プログラムの流儀ていうのを知らないだが。
関数の中で、取り扱う変数やらが多くなって、また戻り値やら、
使った変数をまた別の関数でつかったりと、
どうもスパゲティ化してしまう。

シンプルなプログラムを作るためのお約束事ってありますか?
例えば、関数の中で扱う変数はできるだけ少なめにとか(そんなのあるか知らないけど)。。


ふう。

749 :Trader@Live!:2011/09/01(木) 20:20:41.50 ID:zQWBzXK5
>>748
具体的なアドバイスは無いけれど、そういう問題意識を持つのが一番重要と言ってみる。

750 :Trader@Live!:2011/09/01(木) 20:35:09.08 ID:G4sFzN2K
>>748
http://d.hatena.ne.jp/r-west/20090510/1241962864

751 :Trader@Live!:2011/09/01(木) 20:36:39.50 ID:w8u8r9FG
うーん。元webdesignerで、JavaScriptとかActionScriptとかは独学で
勉強したけど。
いかんせんデザイナーなので、、ちゃんとC勉強した方がいいかなあ。

752 :Trader@Live!:2011/09/01(木) 20:37:36.12 ID:f14myC9n
>>748
MQL4では基本的に無駄足掻きw

グローバル変数をそれ自身とそれを扱う関数のみのライブラリにする手もあるけど
関数呼び出しがバリバリ増えるんでパフォーマンスが心配なのと、再利用性もない
のにバイナリが複数できちゃう上に格納フォルダも分かれちゃうんで、扱いづらくて
ウザいだけなんでお勧めできない。

753 :Trader@Live!:2011/09/01(木) 20:39:57.93 ID:w8u8r9FG
>>750さん
ありがとう。参考にします。

754 :Trader@Live!:2011/09/01(木) 20:40:39.44 ID:XI0DmHNW
>>753
どういたしまして

755 :Trader@Live!:2011/09/01(木) 20:40:48.64 ID:4VASAx0e
>>748
俺はすべてオブジェクト指向で開発してるよ

756 :Trader@Live!:2011/09/01(木) 21:06:44.98 ID:w8u8r9FG
>>754
最初、UMLとかフローチャートとか先に書いてからプログラム書く?
ていうかクラス使わないからUMLじゃないのか。

とりあえず、いきなり書くのか?それとも何か設計みたいなものを書くのか?

757 :Trader@Live!:2011/09/01(木) 21:16:04.97 ID:w8u8r9FG
あ、>>754さんだけでなく。
みなさんに聞いてます。

プログラムの流れを整理する何か?が欠けているようで、
なにかいい方法あるのかしらん。プログラム板往けっていうのは無しで。

758 :Trader@Live!:2011/09/01(木) 21:23:13.76 ID:jNtjtuws
そもそも道具でしかないんで、そんなのに時間かけてるぐらいなら相場を勉強するわ。

759 :Trader@Live!:2011/09/01(木) 21:26:40.04 ID:EFHG26C9
>>757
EAなんて、フローチャートを書くほどのもんじゃないと思うんだ。
きれいなプログラムを書くのが目的じゃなくて、利益を出すプログラムを書くのが目的なんだから。
ただ、最低限のモジュール化はしておいたほうがいいと思ってる。
モジュール化をすることによって、開発効率がぐんとアップするから。

760 :Trader@Live!:2011/09/01(木) 21:28:09.50 ID:w8u8r9FG
>>758
相場が大事っていうのはわかるんですが、道具を使いこなせるとその相場の動きに
よりよく対応できるのでないかと。
言ってることわかるかな。ごめん。

761 :Trader@Live!:2011/09/01(木) 21:46:40.22 ID:zQWBzXK5
>>760
MT4だとフローチャートはともかく、UMLはプログラムにマップできないから使いづらいと思う。
オブジェクト指向な言語機能も無いし。
俺も道具に慣れてたほうがいいと思うよ。
誰もがゴールデンクロスみたいな単純なアイディアでやってるわけではないし。

762 :Trader@Live!:2011/09/01(木) 22:10:28.61 ID:4VASAx0e
言語機能で用意されてなくてもオブジェクト指向ライクに作ることは可能だよ。
注文、ポジション、資金、などを各オブジェクト単位にして切り出していけば独立した処理単位になり、グローバル変数への依存だらけのスパゲッティコードは避けられるよ。
さらにEntryやEntryCloseなどもオブジェクトにしていけばブロックを組み合わせるように売買ロジックを組み立てられるようになるよ。
そうするとinit()関数の中身自体はびっくりするほどコード量が減るはず。


763 :Trader@Live!:2011/09/01(木) 22:17:29.56 ID:w8u8r9FG
オブジェクト指向ライクって
MT4では適切な関数という事でOK?

764 :Trader@Live!:2011/09/01(木) 22:27:30.65 ID:4VASAx0e
>>763
関数とオブジェクトの内容を入れとくメンバ変数の組かな。
オブジェクトの外からはメンバ変数に直接触らないようにすればおのずと独立性が確保されるよ。


765 :Trader@Live!:2011/09/01(木) 23:38:22.30 ID:ZVZI4tLX
つ構造化プログラミング

766 :Trader@Live!:2011/09/01(木) 23:59:34.67 ID:YqzJgWki
おまえらソース管理ってどうやってる?

767 :Trader@Live!:2011/09/02(金) 00:08:22.30 ID:2ZKFfslU
>>766
subversion

768 :Trader@Live!:2011/09/02(金) 00:20:39.12 ID:8I2B9K2+
>>767
やっぱ便利なの?

769 :Trader@Live!:2011/09/02(金) 00:29:59.40 ID:2ZKFfslU
>>768
いつでも前のバージョンに戻れる。実験的なコードはブランチで管理できる。
安定バージョンを保てる。
俺はないともう無理

770 :Trader@Live!:2011/09/02(金) 16:42:42.05 ID:fpzDz00Z
PFは2.39、1年で6388pips、
maximal DDは7.68%とrelative DDは17%になったけど、
pipsでいえば575pipsと1800pipsのDD・・・

575pipsといえば資金が1/3ぐらいになってもおかしくないもんな・・・
いやDDを上回る利益は出てるんだから問題はないのかもしれないけど

771 :Trader@Live!:2011/09/02(金) 16:44:00.38 ID:fpzDz00Z
間違えた1800じゃなくて180pipsでした

772 :Trader@Live!:2011/09/02(金) 21:11:22.99 ID:kAKDHjk6
>>726
お〜い。久しぶりに大好きな話が来たよ〜。
議論してあげなよ〜w

773 :Trader@Live!:2011/09/02(金) 22:44:17.11 ID:2ZKFfslU
いつにレスしてんだよw

774 :Trader@Live!:2011/09/03(土) 00:39:15.61 ID:9UjsBgn3
過剰最適化を避けるために
成績最高じゃなくてもいいから周辺に地雷のない無難な解を出したい、って話なんだけどな

775 :Trader@Live!:2011/09/03(土) 01:04:25.34 ID:wtqJqGaT
>>774
>>697の人なら直後の>>698がすべて。
最適化を魔法か何かと勘違いしてないですか?

FX以外の一般的な最適化は解を得ればそれでお終い。
解の隣が地雷であろうと関係なし。
FXの場合はその解を不確実な未来に適用しないといけない。
解の隣が地雷だとかなり怖い。
付近に地雷などない理想的な解でも、未来に通用するかは未知数。
最適化に幻想を抱いているようじゃ可能性は低いでしょう。

過去の静的な問題を解けば終わりじゃないんだから、最適化に血眼
になるのは逆効果。
最適化以前にしっかりとした戦略・戦術・エッジなどがあれば
大丈夫かもしれんが。

776 :Trader@Live!:2011/09/03(土) 01:29:29.08 ID:35lat4ZI
>>775
ロバスト最適化な方法を使えばそういうケースではあまりいい解が求まらない。
逆にいい解がみつかればそれはしばらく未来までは使えるだろう。
ま、希望的観測だけどね。

777 :Trader@Live!:2011/09/03(土) 04:12:25.90 ID:wtqJqGaT
>>774
否定的な意見を重ねて申し訳ないけど。
今まで行ってきた最適化は過剰最適化だから、FTで失敗すると
考えているんですね、きっと。正しく最適化すれば大丈夫だと。
その考えは違うと思いますよ。
期待値マイナスのEAに対して行う最適化は「過剰」であろうと
「適正・適切」であろうと関係ありません。
期待値マイナスのEAはどのように最適化しようと、フォワード
では元の期待値に収束するのが普通でしょう。

778 :Trader@Live!:2011/09/03(土) 04:32:48.46 ID:ID931SL8
話をぶった切ってすいませんが、デコンパイル対策にはデータスクランブル?が良いと聞いた
のですが、実際作ったEAにどうソースを入れてスクランブル化したらいいのでしょうか?

デコンパイラーで開かれても中身がスクランブル化されてればクラックされないで済むものと
期待してます。

ダメ初心者ですが、ご指導よろしくお願いします。

779 :Trader@Live!:2011/09/03(土) 04:59:03.28 ID:+S24N4cd
>>778
難読化でぐぐる

780 :Trader@Live!:2011/09/03(土) 05:46:21.95 ID:9UjsBgn3
>>777
過去儲かっていたEAが、なぜ今は勝てないのか?
ロジックが悪いのではない
今の相場にパラメータの数値が合っていないだけ
>>715 で言ってるだろうが

君の言う話は正論だが、悪いが当たり前すぎて何の役にも立たない

781 :Trader@Live!:2011/09/03(土) 06:30:32.57 ID:wtqJqGaT
>>780
失礼>>715はどんなEAでも勝つ時期もあれば、負ける時期もある
ただそれだけのことで、コメントするようなことじゃないと
思っていました。
最適化地獄に陥った人をその呪縛から解き放つには、私では
役不足ですね。

何度騙されても何度裏切られても、最適化に縋ってしまう。
最適化とはそれほど魅力的であることは否定できません。

でも期待値マイナスのロジックを最適化で取り繕ったところで、
フォワードではマイナスに押し戻されます。
うわべだけ飾ってもなかなか通用しません。
最適化には期待値マイナスのロジックを蘇えらせるほどの魔力
はないようです。

まあ今まで一生懸命頑張ってきたものを無駄の一言で片付けられる
のも悔しいでしょうから、どんなEAでもこのように最適化すればFT
で結果が出せるという神を待てばいいと思いますよ。
そんなものがあるなら聖杯でしょうから、ここには晒したくないかも
しれません。その時はメールでお願いすればいいでしょう。

782 :Trader@Live!:2011/09/03(土) 06:41:26.26 ID:k7nFiy98
>>780
「今の相場にパラメータの数値が合っていない」

これが真であると、誰も証明出来てない様に思うのだがどうよ?
真でなければ、いくら最適化を議論しても不毛。

783 :Trader@Live!:2011/09/03(土) 08:33:47.96 ID:mC4jGU1s
モンテカルロ法でバックテスト結果から信頼度99%でDDはいくらですって出してくれる
ソフトがあるんだけどPFには応用できないもんかね。

784 :Trader@Live!:2011/09/03(土) 08:38:09.86 ID:Y2O8k1hX
>>780
過去ってどれくらいのこと言ってんだよ?ここ1年のBT程度ならこの8月は大相場だったから無理かもなw

10年のBTでどの月も+なら来月もたぶん勝つだろうな。でもそんなEAないしあっても利益が少ない。
だからみんな2年、1年ってBT期間減らすリスクとって高利益を狙ってるわけだ。
どういうバランスを狙うかはお前次第だろ

俺はほぼあらゆる通貨ペアと期間で勝つEA持ってるけど、利回りは他に劣るしつまらんから使ってない。
ミドルリスク、ハイリターンを狙うくらいがやりがいあるかな


785 :Trader@Live!:2011/09/03(土) 10:20:39.61 ID:PjTc4s3c
>>781
地獄呪縛裏切魔力神聖杯w
どんだけ厨二病こじらせてんだよww

786 :Trader@Live!:2011/09/03(土) 10:46:12.22 ID:qyY30p0R
聖杯って誰が最初に言い始めたか興味あるわ。
たぶん欧米なんだろうけど、普通なら必勝法で済ますところをEAに限って大げさな言い方するよね。
お前は十字軍か、インディ・ジョーンズかと。

787 :Trader@Live!:2011/09/03(土) 10:53:27.88 ID:Vyagj+qt
聖杯は英語でなんて言うの?

788 :Trader@Live!:2011/09/03(土) 10:54:29.12 ID:XBMxH2Eg
>>781
役不足とはまた大きく出たなw
期待値マイナスってどういう意味だよ。
どんな最適化してもFTの瞬間からマイナスになるって意味か?
無限にFTすればどんなEAでもマイナスになるってのは否定しないが。
最適化後のある程度の期間は+になるEAを前提に話をしようぜ。

789 :Trader@Live!:2011/09/03(土) 10:55:50.61 ID:qyY30p0R
>>787
Holy Grail かな。

790 :Trader@Live!:2011/09/03(土) 11:02:03.16 ID:Vyagj+qt
>>789
サンクス。Holy Grail EAでぐぐったら、おもしろかった。
次のEAはHoly Grail II って名前にしようw

791 :Trader@Live!:2011/09/03(土) 13:45:35.31 ID:Y2O8k1hX
>>785
投機の世界は厨二病くらいのがいいかもしれんぞ

792 :Trader@Live!:2011/09/03(土) 17:56:13.01 ID:9UjsBgn3
>>782
現に、かつて名を轟かせていたEAで
今は誰もその名を口にしないようなEAをOptimizeして爆益中だ
ただ、たまたまOptimizeが成功した一例にすぎない
ボロ負けのパラメータ(同EA・同ペア)もあるし、爆益中のもいつまで続くかは分からない

>>781
Optimizeしないで何年も固定パラメータで勝ち続けるEAがあると思っているのか?
そんなのはBTの世界だけだ
ロジックが糞なEAを何とかしようという前提で話をするのはやめろ。まるで意味が無い
ロジックそれなりに良いけど、今の相場に合っていない、という前提だ

793 :Trader@Live!:2011/09/03(土) 18:18:02.81 ID:USdtTM2D
>>792
>現に、かつて名を轟かせていたEAで
>今は誰もその名を口にしないようなEAをOptimizeして爆益中だ

最近こういうスレ違いが増えてるな。

794 :Trader@Live!:2011/09/03(土) 18:30:45.18 ID:JllzkK7G
>>792
神様そのEAの名前を教えてください

795 :Trader@Live!:2011/09/03(土) 19:03:01.70 ID:xgwECdzX
>>793
そうだな、スレタイを100回読めと言いたい。

796 :Trader@Live!:2011/09/03(土) 19:18:39.61 ID:ZwVHIk9G
MetaTrader Expert Advisors 28
http://kamome.2ch.net/test/read.cgi/livemarket2/1314796990/

【MT4】EA情報交換スレ
http://kamome.2ch.net/test/read.cgi/livemarket2/1312029570/

てか、EA使う人のスレが2つに増えてるな。

797 :Trader@Live!:2011/09/03(土) 20:38:18.00 ID:Y2O8k1hX
だな。拾い物EAのパラメータ調整だけの話ならEAスレに行けと

798 :Trader@Live!:2011/09/03(土) 20:50:04.45 ID:WrYm/m4x
EA乞食スレは落ちたのか

799 :Trader@Live!:2011/09/03(土) 21:10:31.63 ID:aC83x524
自作EAにAIを組み込もうとしたらif文とfor文だらけでぐちゃぐちゃになった。
配列を扱ったあたりからfor文が異常にに増えてきて、途中からワケワカメになって挫折した・・・
プロのプログラマーってこういうのを軽々と組むんだろうね・・・凄過ぎるよ・・・

800 : 忍法帖【Lv=39,xxxPT】 :2011/09/03(土) 21:12:15.55 ID:nz/MDwR7
forはあぶないっす

801 :Trader@Live!:2011/09/03(土) 21:18:42.89 ID:XBMxH2Eg
>>799
どういうAI?
 http://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD
AIを扱えるって時点で相当高度だと思うよ。

802 :Trader@Live!:2011/09/03(土) 21:40:18.04 ID:Y2O8k1hX
AIを組もうと言うのにfor,ifで挫折とはこれいかに

803 :Trader@Live!:2011/09/03(土) 21:41:35.88 ID:qyY30p0R
俺も昔のFortranとかで組めと言われたら余裕で挫折するわ。

804 :Trader@Live!:2011/09/03(土) 21:47:44.31 ID:XBMxH2Eg
MQL4はFortranと同じレベルだと思うけどねw

805 :Trader@Live!:2011/09/03(土) 21:48:59.89 ID:qyY30p0R
>>804

あ、その意味で書いた。俺、MQL使いじゃないもんで。

806 :Trader@Live!:2011/09/03(土) 21:51:04.99 ID:2qaUhwxl
DD減らすのってむずいな
あともうちょっと減ったら実用したいと思っているんだが

807 :Trader@Live!:2011/09/03(土) 21:51:31.07 ID:XBMxH2Eg
またそんなスレ違いを。

808 :Trader@Live!:2011/09/03(土) 21:59:09.17 ID:XBMxH2Eg
いや、>>805宛てね。
じゃぁなんでこのスレに?w

809 :Trader@Live!:2011/09/03(土) 22:20:56.94 ID:qyY30p0R
>>808
トレードのアイディアはプラットフォームに関係ないからね。
179の人のやってるみたいなのが好物だけど、自分じゃMT4でやってみようとは思いも寄らないです。

810 :Trader@Live!:2011/09/03(土) 22:24:05.65 ID:XBMxH2Eg
>>809
自動売買は何でやってんの?

811 :Trader@Live!:2011/09/03(土) 22:28:16.72 ID:Y2O8k1hX
>>809
まあね、チャート分析・統計手法は共通してる部分が多いし、売買システムもいろいろあるしね。
EasyLanguageとかどうなんだろうな。他によさげなプラットフォームってなんかあったっけ?

812 :Trader@Live!:2011/09/03(土) 22:32:43.08 ID:qyY30p0R
俺はkakakuFX mk2というかJForexでやってる。Javaは以前から使い慣れてるから。
ただレバが低いから、海外のMetatrader業者に注文だけ流せるブリッジ作れたらいいな、とは思ってる。

813 :Trader@Live!:2011/09/03(土) 22:36:35.24 ID:XBMxH2Eg
>>812
mk2ってバックテストが異様に遅くない? というか、1週間分の足を落とすだけで
何分かかんだよって感じで使うのあきらめたよ。
もともとJavaは性にあわないしw

814 :Trader@Live!:2011/09/03(土) 22:44:52.35 ID:qyY30p0R
>>813
遅いよ。ただヒストリカルデータの品質は良いと思う。
自分はバックテストというか最適化にはあまり比重を置いてないので気にしてない。


815 :Trader@Live!:2011/09/03(土) 22:51:32.77 ID:XBMxH2Eg
>>814
んー、まぁ最適化は使えないにしても何年か分は確認したくない?
どこまで足が落とせるかなんて試す間もなく使うのあきらめたんだけどw
なんか別のシステムで確認してるのかな。

816 :Trader@Live!:2011/09/03(土) 22:53:30.70 ID:Y2O8k1hX
>>812
Javaか・・色々と広がりはありそうだけど、めんどくさそうだなあ。てか最近Javaやってないからもう忘れたw

817 :Trader@Live!:2011/09/03(土) 23:18:04.64 ID:qyY30p0R
取り敢えず自分の考えているロジックを実装できなきゃバックテストも何もあったもんではないので。
というわけで、まだプログラム作成中ですよ。

818 :Trader@Live!:2011/09/04(日) 00:03:12.01 ID:Bl1I/rPA
最適化の「隣のパラメーターによる結果は〜で地雷・・・」な話が何回も出てるから提案したいんですけど。
目的関数を極値そのものではなく、極値と近くのパラメーターからの値を平均して丸めるという手法も
あるみたいですよ。ロバート・パルドさんの本に載ってあります。

フォワードテストは、つべこべ言わずどんどんやった方がいいです。株屋や相場師に限らず統計学者もやるそうです。
二重盲検法というらしいです。
ただ、一発のフォワードテストだけでは、ただの偶然ということもあり得るので、最初に決めといたステップウィンドウ毎に
最適化テストおよび最適化後テストのウィンドウもコロコロ変えていく必要があるそうです。
パルドさんは単一市場あたり10ステップぐらいはやれ、とか言ってます。

まあ皆知ってるか。当たり前すぎる。こんなんよりも、
プログラマー級の開発スキルとかに憧れる。
自分のEAなんて豊嶋先生コードにオリジナルを10行くらい足すだけで、いつも物足りない。

819 :Trader@Live!:2011/09/04(日) 00:18:59.25 ID:FhxZcD38
上の方でスクランブル化について質問していた人いるけど、おれもよくわからないからエロい人に教えてほすい。

最近おっ?と思ったEAをデコンパイルしてみたら、ほとんど内容が意味をなさないコードで埋め尽くされていて
string gs_XXXX = "Key Scramble SC2"; っていう文字が目についた。

これってどうやるの??

820 :Trader@Live!:2011/09/04(日) 01:56:15.59 ID:HyeKlwap
今までユロドルだけでテストしててせいぜい安定して取れるのは月400pips程度だったんだけど
さっき夜中にふと起きてスイスフラン円試してみたら、
1ヶ月で2800pips取れててDDは15%程度、勝率が平均70%ぐらいあってワロタwwww

通常は15%は不安だけど月2800pips取れるなら月曜日から早速試してみようかwwww
まぁ上手くいく気はほとんどしないけどこれは試さざるを得ないwwwww

821 :Trader@Live!:2011/09/04(日) 02:00:41.34 ID:u6VzXrOf
逆張りか

822 :Trader@Live!:2011/09/04(日) 02:12:48.85 ID:HyeKlwap
>>821
いえ、MAの順張りです
そこにフィルタをいろいろかけてますが使ってるインジ系の関数はiMAだけです

823 :Trader@Live!:2011/09/04(日) 22:33:17.15 ID:IMJCM1KM
いまさらだけどpipsでいくつ取ったとかっつーのはとっても情報量少ないよね。
ロット数も元本もわからんし利回りもわからん。
一日1000pips取ってても0.01lotなら残念だしねえ

824 :Trader@Live!:2011/09/04(日) 23:34:19.05 ID:OWRIrodX
突然の大きなリターンが訪れたことは大変よろこばしいことですが、そのリターン大きさは
バックテストなどから推定できる範囲内の大きさのリターンかどうかを考えた方がいいと思います。

もしそのリターンが異常値であるならば、システムに調整を加えて再最適化するのも良いでしょう。
ボラティリティの急上昇が再度来ても、耐えられるか、またあわよくば利益にしてしまえるかのように
システムに学習させましょう。

価格変動が急変したら、システムが異常に大きなリターンを得ることはしばしばあるのです。
そしてそれは、後にその大きな利益を上回る大損失が訪れることの兆候でもあるのです。

825 :Trader@Live!:2011/09/04(日) 23:41:13.42 ID:zJpX6swO
また>>723から繰り返し?

826 :Trader@Live!:2011/09/04(日) 23:41:15.48 ID:L/gVWa7b
        ____
        /     \
     /   ⌒  ⌒ \   何言ってんだこいつ
   /    (●)  (●) \
    |   、" ゙)(__人__)"  )    ___________
   \      。` ⌒゚:j´ ,/ j゙~~| | |             |
__/          \  |__| | |             |
| | /   ,              \n||  | |             |
| | /   /         r.  ( こ) | |             |
| | | ⌒ ーnnn        |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_

827 :Trader@Live!:2011/09/05(月) 01:27:38.51 ID:kHr4glJK
AIって人工知能の?
MQLに組む事できるの?

828 :Trader@Live!:2011/09/05(月) 01:36:43.41 ID:oqjFGdAN
AIって言ってもピンきり。スキル次第でいくらでも組み込めるだろ

829 :Trader@Live!:2011/09/05(月) 01:51:40.48 ID:kHr4glJK
随分「AI」も敷居低くなったなw

830 :Trader@Live!:2011/09/05(月) 01:55:35.89 ID:f4OCI32H
ニューラルネット使ったEAとかは随分と前からあるけどな。

831 :Trader@Live!:2011/09/05(月) 05:22:02.38 ID:UX8+4Eu0
誰か>>819の質問わかる人いない?

832 :Trader@Live!:2011/09/05(月) 08:15:44.01 ID:TaiwMcoz
>>831
まぁ、詐欺師は消えてくれってこった。

833 :Trader@Live!:2011/09/05(月) 10:17:23.19 ID:UX8+4Eu0
詐欺師?お前のことかい?

834 :Trader@Live!:2011/09/05(月) 12:24:40.15 ID:wuMbJr3T
難読化ツールを使ったんだろう

835 :Trader@Live!:2011/09/05(月) 13:10:00.69 ID:f4OCI32H
難読化ツールって意味ないよねぇ...
ex4の形で安全に公開する方法があればいいんだけど。

836 :バケツ大佐 ◆5Lg3WltxEI :2011/09/05(月) 13:14:07.28 ID:mK5qfqT9
システム売買しようと思うんだけど
フォレックスとセブンインベスターズどっちがいいの?

837 :Trader@Live!:2011/09/05(月) 13:34:43.12 ID:UX8+4Eu0
>>834
>>835
そのスクランブル化したex4をデコンパイルしたら全く機能しない内容で出力されたよ
この方法なら外部アプリとかが不要になるから良いと思うが。

ちなみにmqlの難読化ツールなんてあった?

838 :Trader@Live!:2011/09/05(月) 13:43:32.37 ID:wuMbJr3T
本家フォーラムで、中国のソフトメーカーが ex4をデコンパイルできないex4に変換するツールを売ってたよ

839 :Trader@Live!:2011/09/05(月) 13:47:16.29 ID:f4OCI32H
とは言ってもデコンパイラのバージョンが上がったら終わりだよね。

840 :Trader@Live!:2011/09/05(月) 13:58:58.78 ID:wuMbJr3T
デコンパイラ作ってるところに頼むと、完璧なプロテクトができている現状。。

841 :Trader@Live!:2011/09/05(月) 14:06:18.53 ID:Z+fMP66A
デコンパイラを解析して、弱点を探ってデコンパイラが読み込んだらダミーのコードを吐くように変換してるのかなぁ

842 :Trader@Live!:2011/09/05(月) 14:15:39.89 ID:VEmLKtZx
>>840
元々自分でデコンパイルを流行らせて、今度は返す刀でプロテクタを販売と・・・

商売上手いよねw

843 :Trader@Live!:2011/09/05(月) 14:30:15.62 ID:UX8+4Eu0
>>838
URLお願いします!

844 :Trader@Live!:2011/09/05(月) 14:49:11.28 ID:kJ5iTdjg
"KEY SCRAMBLE SC2"でググったらロシアのフォーラムにそれらしき記事が出ていたが、サッパリやり方がわからんw
教えて超エロい人

ttp://ruforum.mt5.com/threads/1166-Metatrader4.%20%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0%20%D0%BE%D1%82%20EX4-%D0%B4%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%B0/page2

記事内#23前後にそれらしき記事あり

845 :Trader@Live!:2011/09/05(月) 22:34:29.92 ID:lZzQEea4
ポジったらディスプレイの電源ONにしたいんだけど、WinAPIで出来る?

846 :Trader@Live!:2011/09/05(月) 22:40:34.81 ID:oqjFGdAN
試したことないからダメかもしれないが、マウスを動かすAPIでマウスポインターを動かしたら電源付くとかないかな?

847 :Trader@Live!:2011/09/06(火) 01:29:05.13 ID:KHC6A5ni
その手があったか
なんかThunderBirdがメール受信したら電源ONになるから、そういうAPIがあるのかと思った

848 :Trader@Live!:2011/09/06(火) 13:16:57.47 ID:Yo6+nA1A
グローバル変数を多用するのはあまりよろしくないですかね。
関数間で変数をやりとりするのが多いので重宝してますが。だんだんと、わからんめになります。
プログラムの基本としてよい変数の扱いかたってありますかね。

849 :Trader@Live!:2011/09/06(火) 13:46:00.48 ID:YaPNGLRl
>>848
参照渡しは知ってるの?
http://googolyenfx.blog18.fc2.com/blog-entry-433.html


850 :Trader@Live!:2011/09/06(火) 14:01:18.81 ID:+tEoBpZq
ちょっと上でそんな話が出てたな

851 :Trader@Live!:2011/09/06(火) 14:03:37.60 ID:AUBO/iNv
そんな話はまったく出ていない。

852 :Trader@Live!:2011/09/06(火) 14:11:35.66 ID:+tEoBpZq
>>848
748あたりかな。まあ同じ人かもしれんが。

853 :Trader@Live!:2011/09/06(火) 14:17:37.68 ID:Yo6+nA1A
>>849
ありがとう。このブログ参考になります。感謝!

854 :Trader@Live!:2011/09/06(火) 14:22:36.40 ID:m7odNJ7s
EAに特化した話じゃねえだろ
初心者スレ逝け

855 :Trader@Live!:2011/09/06(火) 20:52:20.05 ID:KHC6A5ni
グローバル変数は頭文字を大文字、で十分じゃね

856 :Trader@Live!:2011/09/06(火) 23:53:46.82 ID:5UT1LdAU
MQLの命名規則ってみんなどうしてる?

857 :Trader@Live!:2011/09/07(水) 00:40:14.99 ID:aMZymgpH
俺は他言語で書くときと同じようにしてる
strValue、nValue、dValueみたいな感じ。関数の外の変数は「_」を先頭に付加

858 :Trader@Live!:2011/09/07(水) 02:33:52.99 ID:DRon1cOm
>>857
ハンガリアン記法ね。
廃れてきたとはいえ、オブジェクト指向言語みたいに命名する訳にもいかず、
まあ、仕方なく使っている感じ。

859 :Trader@Live!:2011/09/07(水) 02:51:23.14 ID:fE0AyZwk
>>858
オブジェクト指向言語みたいな命名法て何?
そんな特殊なものあったっけ?

860 :Trader@Live!:2011/09/07(水) 03:33:29.48 ID:DRon1cOm
>>859
キャメル記法メインで英語っぽくする感じ。
それでクラスのメソッドの頭は動詞になるとか。
クラスも含めて型チェックが厳しいので型の接頭辞が(建前上)いらない事になっている。

861 :Trader@Live!:2011/09/07(水) 04:06:12.43 ID:RDk2CBF6
EAに特化した話じゃねえだろ
初心者スレ逝け



862 :Trader@Live!:2011/09/07(水) 11:47:02.63 ID:wYWqiMt5
>>861
EAに限った話だよバカ。
普通のプログラミングならこんな小細工必要ねーんだよ。

863 :Trader@Live!:2011/09/07(水) 11:54:35.70 ID:aMZymgpH
別にEAに限った話しじゃないが、開発全般な話題だから別にいいだろ。自治厨うざいわ

864 :Trader@Live!:2011/09/07(水) 12:02:57.09 ID:lQJWaeMA
まあたいしたネタもないしな。お前ら昨日のスイスは乗り切れましたか?

865 :Trader@Live!:2011/09/07(水) 13:09:45.07 ID:WST5DWoM
盛大に死亡に100フラン

866 :Trader@Live!:2011/09/07(水) 14:25:20.58 ID:PpL8bMvX
>>864
あれでDD食らわないEAはどうにかしてるw
ただ、ラッキーな方向に滑ったので、少し救われたかな。

867 :Trader@Live!:2011/09/07(水) 14:25:49.88 ID:ZEg4ZYUf
>>864
すげ〜損してドテンして
結局通常と同じ利益が残った

堅牢性とかレバの掛け具合については確信がもてるようになった(笑)
あんまりドカンと勝つことはないと再確認できたしね

868 :Trader@Live!:2011/09/07(水) 17:45:10.60 ID:COYNvx9T
あーいうのを検知して荒稼ぎするEA作りたいな

869 :Trader@Live!:2011/09/07(水) 18:25:53.32 ID:wYWqiMt5
荒稼ぎはともかく損切りして取引を控えるくらいのことは当然やるべきなんだが、
市販のEAでもできてないんだよな。

870 :Trader@Live!:2011/09/07(水) 18:39:18.30 ID:Q/dFdfAx
成行で注文して、自動的に20pipsのストップを設定できるEAありませんか??

871 :Trader@Live!:2011/09/07(水) 18:50:23.98 ID:aMZymgpH
>>870
OrderModifyで設定できる。設定は下のブログのコードがほぼそのまんま。簡単だから自分で組めw
ttp://googolyenfx.blog18.fc2.com/blog-entry-328.html

872 :Trader@Live!:2011/09/07(水) 21:49:30.90 ID:Q/dFdfAx
>>871 ありがとう。EA初心者だからよく分からないが調べてやってみる

873 :Trader@Live!:2011/09/07(水) 22:33:49.28 ID:RDk2CBF6
>>864 >>865 >>866 >>867
今回のようだと、ストップロスとかは効かないの?

874 :Trader@Live!:2011/09/07(水) 23:05:51.96 ID:aMZymgpH
実際に体験したことは無いけど、滑ってストップ効かないっていうのはあるだろうな
きちんとクローズされてるかのチェックルーチン用意したほうがいいのかもな。面倒な、、、

875 :Trader@Live!:2011/09/07(水) 23:06:53.78 ID:PpL8bMvX
>>873
11:02:21 EURUSD,H1: 成行で売り 1.42020
11:02:22 EURUSD,H1: 約定 1.42607
11:02:30 EURUSD,H1: SL/TPを設定 1.42607 sl: 1.43115 tp: 1.42515 ok

で、約定したのが、
11:03 1.42236 EURUSD,H1[tp/gap]
滑りに滑って爆益w

876 :Trader@Live!:2011/09/07(水) 23:11:48.34 ID:RDk2CBF6
>>875
滑るって自分が不利になる場合しかないと思ったらそうでもないのか?

>>872
トレールなら、MT4の機能があるけど?それじゃだめなん?

877 :Trader@Live!:2011/09/07(水) 23:20:41.92 ID:Q/dFdfAx
>>876 トレールじゃダメなんだ。
Entryした瞬間にEntry価格から20pips固定でStopを置きたいんですよん。
どなたか分かりませんかね?(^_^;)

878 :Trader@Live!:2011/09/07(水) 23:28:21.59 ID:PpL8bMvX
>>876
どっちにも滑るでしょう。ちなみにこの1つ前のポジが、
10:07:06 売りポジ EURUSD at 1.40972 sl: 1.41822 tp: 0.00000 ok

で、約定したのが、
11:02 1.41916 EURUSD,M5[sl/gap]
9ピピ以上滑って爆損w


879 :Trader@Live!:2011/09/07(水) 23:28:45.33 ID:PpL8bMvX
>>877
スクリプト書けばいいじゃん

880 :Trader@Live!:2011/09/07(水) 23:40:07.19 ID:RDk2CBF6
成行き注文するときにストップを入れるだけでないの?
何故にEAでないといかんの?
俺何か勘違いしてる?

881 :Trader@Live!:2011/09/07(水) 23:49:45.43 ID:Q/dFdfAx
>>880 勘違いしていないよ。確かにStop入れるだけなんだけど、
Entryごとに自動で出来たら手間が省けると思って。

882 :Trader@Live!:2011/09/07(水) 23:54:59.63 ID:RDk2CBF6
もしかして手動注文だとStop値がずばり価格値で入れないといけないから
そうじゃなくて、ストップ値の値幅20pipだけ固定させて成行き注文したいってこと?

883 :Trader@Live!:2011/09/08(木) 00:07:50.79 ID:Q/dFdfAx
>>882 まさにそう!完ぺきな解釈です

884 :Trader@Live!:2011/09/08(木) 00:14:52.73 ID:PNUfCWwx
了解。
難しくないから誰かやってくれると思うよ。
僕が書いてもいいかなって思ったけど、ライブラリ使うし、まだ初心者だし、
手馴れた人を期待。

885 :Trader@Live!:2011/09/08(木) 00:22:28.98 ID:sw+EkXKd
>>884 今まで既存のindicatorをいじったりした事はあるんですが、
EAについては初めてで、今いろいろと情報収集しながら勉強しています。
あんまり人に頼りすぎるのも良くないとは思いますが、助けてくれると嬉しいですね\(^o^)/
>>884さんもありがとう!!

886 :Trader@Live!:2011/09/08(木) 00:27:30.95 ID:geshEkYo
>>884
基本的過ぎて、消えてほしいなとオモタ

ticket = OrderSend( Symbol(), 〜
if (ticket>0) {
OrderSelect( ticket, SELECT_BY_TICKET );
OrderModify( OrderTicket(), OrderOpenPrice(), OrderOpenPrice()-Point*20.0, 〜 );


887 :Trader@Live!:2011/09/08(木) 01:21:54.14 ID:sw+EkXKd
>>886 助かります(>_<)

888 :Trader@Live!:2011/09/08(木) 03:21:05.74 ID:BacJWWPD
>>886
int sign = 1 - OrderType() & 1 << 1;
OrderModify( OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - sign * 20.0 * Point, 〜 );
ロング/ショート両対応ならこうじゃね?

889 :Trader@Live!:2011/09/08(木) 03:51:16.61 ID:g23laa9F
成り行きポジション用のEAって作ったことないからわかんないんだけど。Orderselectでマジックでなくチケットなのは、成り行きだから?



890 :Trader@Live!:2011/09/08(木) 03:54:58.67 ID:ULlWGv9P
複数ポジション持ってたらやばくね?

891 :Trader@Live!:2011/09/08(木) 04:02:56.96 ID:uCZ4MC/f
DDの%ではなくて金額もしくはpipsのほうだと、どのぐらいまでなら許容範囲にしてる?
自分的には1年分の1ロットずつの取引で500pips分以下までなら、っていう基準でいます
そうとう厳しいので基本的にクリアできませんが

892 :Trader@Live!:2011/09/08(木) 04:04:34.60 ID:uCZ4MC/f
上のは通算ではなくてMaximalDDの欄に表示されてる数字です

893 :Trader@Live!:2011/09/08(木) 04:05:50.71 ID:g23laa9F
>>889
ゴメン、成り行きじゃなくて手動注文の事ね。

手動注文って複数ポジション取れるんだっけ。

894 :Trader@Live!:2011/09/08(木) 06:38:13.25 ID:geshEkYo
>>887
>>1
> EAの開発をメインとしたスレです。
> 姉妹スレとの住み分けを考慮しながら利用しましょう。
サンプルEAを見れば3秒で判る話しで、ワザワザ質問するまでもないこと。
このスレはEAを開発することがメインであって、MQLのQ&Aがメインじゃないので、そこんとこヨロシク。

それとFTすれば判るけど、OrderModify()の後にエラー処理が必要だから頑張ってな。

>>888 >>889
この手の処理はサンプルEA「MACD Sample.mq4」に由来するから。
// check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}


895 :867:2011/09/08(木) 09:34:05.81 ID:oTPuM41+
>>873
ストップなしでも死なないレバにするという原則を持っているからね
システム不具合に備えて注文上は入れてるけど
正常動作してればそれに掛かる前にドテンしちゃう

896 :Trader@Live!:2011/09/08(木) 09:51:30.55 ID:DXMHHx8a
>>895
俺も損益の曲線が上にも下にもブレない偏差の少ないのが好きな安定志向なんだけど
先日のスイスのやつは早過ぎてドテン注文が追いつかなかったw
そういう面で業者の選考も大切ですなぁと思う今日この頃

897 :Trader@Live!:2011/09/08(木) 09:56:04.80 ID:g23laa9F
MQLの質問は以前からここで盛んにされてたけど。EAの開発はMQLでやるんだし、区別できない範疇も多々ある。他人が書いたMQLをみて発見できることもある。
テスト結果をコピペして、これどう?
とかいうのより、俺的には価値あると思う。


898 :Trader@Live!:2011/09/08(木) 10:57:40.33 ID:7f7RUDZE
>>897
おいおい、初心者スレに「ゆとり隔離」となってる理由を思い出してくれよ。
頼むよ、ホントに。

899 :Trader@Live!:2011/09/08(木) 11:04:56.85 ID:cjg+CNDL
俺は新参なんで逆にどういう位置づけになってるか聞きたいな。

例のインジケータネタや人工知能的な話題が出ても違うっていうやつ出てくるし、
プログラミング初心者ネタでも違うと言われる。

このスレで何について語ればいいかさっぱりわからん。

ロジック伏せて自作プログラムのPF自慢しても仕方ないし。

900 :Trader@Live!:2011/09/08(木) 11:11:07.74 ID:PNUfCWwx
初心者スレってMT4の使い方スレじゃないか?
>>898はここで何を望むのか教えてくれ。

901 :Trader@Live!:2011/09/08(木) 11:16:49.91 ID:N1rRZg2r
ケースバイケースでその都度判断するしか無いんじゃないの?

でも基本は「自動売買」だよ。

今回の場合、「手動注文」の補助であり、なおかつ、初心者レベルのプログラミングである、
ということを考えれば、スレ違いと言われても仕方がないよ。

で、こういう初心者の方々の質問は散発的なので、
ちょっと前に落ちてしまった依頼スレの維持すらできないという困った状況なわけで。。。

902 :Trader@Live!:2011/09/08(木) 11:34:59.16 ID:PNUfCWwx
今のところこのスレは、こんなもんか

MQL質問
テスト結果評価
売買アイデア
テスト効率化
インジケータ
特殊インジケータ(波形フィルタ等)

確かに範囲は広いな、
でもこれを分けると僻地スレになりそうだなあ。

903 :Trader@Live!:2011/09/08(木) 11:36:59.84 ID:nS14BVye
>>898
ゆとり君だからw

904 :Trader@Live!:2011/09/08(木) 11:37:10.69 ID:N1rRZg2r
ちなみに、
今回の初心者の方の要求は既にサンプル内にあると思われるのもまた不毛な話でね。

experts\scripts\modify.mq4

905 :Trader@Live!:2011/09/08(木) 11:39:03.53 ID:nS14BVye
>>891
インジケータは専用スレが立っているぜよ

906 :Trader@Live!:2011/09/08(木) 11:48:57.88 ID:PNUfCWwx
初心者は初心者スレ池とかあるけどさ。
初心者は特に大事にしましょう。だって大切なカ○なんだもんw

というのは冗談です。

907 :Trader@Live!:2011/09/08(木) 12:00:15.03 ID:uCZ4MC/f
>>905
もしかして俺がスレの範囲の認識を間違ってるかもしれないけど、
>>891はEAの話のつもりだったんだけどEAのDDのpipsってインジスレの範疇になるの?

908 :Trader@Live!:2011/09/08(木) 12:07:19.46 ID:PNUfCWwx
>>907
>>902でいうところの「テスト結果評価 」じゃね。
インジっていわゆるテクニカル指標をMT4上で表示するためのプログラム
って事でしょ。

909 :Trader@Live!:2011/09/08(木) 12:55:58.27 ID:mp7jse7r
iBandとiStochasticを組み合わせたSignalでこのチャートだとこういう結果になるんだけど、もっといい評価関数・手法は
ないか、とかそういう議論だとEA開発スレっぽい感じがするなあ。

そういうばポジションを置くロジック・手法の議論なんて久しく出てないな、開発スレなのにw


910 :Trader@Live!:2011/09/08(木) 12:56:11.90 ID:94PbEDsO
>>899
> 例のインジケータネタや人工知能的な話題が出ても違うっていうやつ
折れ、そのインジスレに追い出された通称電気屋w
EAの為のインジですらスレチと言われたんだから、さらにその前のMQLのQ&Aがおkなのは、釈然としないな。

911 :Trader@Live!:2011/09/08(木) 13:07:27.19 ID:N1rRZg2r
>>910
MT4やMQLの話が皆無だったからだろ。
別言語で作ったスクショを延々貼り付けてるだけなのと、全く変わらないという状況。

912 :Trader@Live!:2011/09/08(木) 13:09:39.82 ID:knGuJRyu
電気屋を追い出した当時のメンバーなんてもう居ないんじゃないか

913 :Trader@Live!:2011/09/08(木) 13:09:47.50 ID:cjg+CNDL
>>910
俺としては電気屋さんのネタこそが開発スレに相応しいと思ってます。

>>870 みたいにEAありませんか?はさすがにすれ違いだと思うけれど
注文時に自動的にストップを設定するというテーマ自体は取引自動化の一部なわけで排除しなくてもいいと思う。
つまらない話題だけど。



914 :Trader@Live!:2011/09/08(木) 13:13:35.61 ID:PNUfCWwx
初心者が多くなっているんで、一言だけ独り言。

EAで勝てているものってソースみたりすると、単純なテクニカルサインでの売買じゃない。
いや売買自体は実は単純なテクニカルサインなんだけど。
どのテクニカルを利用するか、相場の状況を判断させるロジックが肝だったりするな。

となると、単純なプログラムを覚えただけでライブに参入したりすると痛い目にあったりする。
(テストしてみりゃ単純なプログラムでは勝てないのは直ぐわかるけど)

初心者が豊嶋本とか、必死でプログラムを覚えたとしても多分勝てない。否、絶対勝てない。
勝てるようになるには、もう一つ山を越えなければいけない。
テクニカルと相場の研究と併せて、MQLを自在に操る為のスキルが鍵になります。

これがC言語等の他言語を操っていた人たちが優位点を持つ理由であります。
初心者が自作EAで勝つためには相当な努力が必要です。
そうでなければまだ裁量の方がマシかもしれません。

915 :Trader@Live!:2011/09/08(木) 13:18:55.18 ID:0Xf7OwQ3
>>914
なんか的外れな上に全然関係ない話だな。

電気屋=ちゅるや=fai_fxでおk?

ところで、SLの決め方いいのないかなぁ。
固定値だと4年以上は苦しいし、かといってATR使って線形予測したくらいじゃ
いいのできないし。どうしたものか。
今のところ固定値で行くしかないなとは思ってるんだけど。

916 :Trader@Live!:2011/09/08(木) 13:20:52.67 ID:PNUfCWwx
初心者へ向けての独り言ね。
電気屋とfaiさんは別人でしょ。

917 :Trader@Live!:2011/09/08(木) 13:27:05.88 ID:g23laa9F
>>914
そんな事書かないでー

918 :Trader@Live!:2011/09/08(木) 13:27:59.59 ID:N1rRZg2r
>>915
固定値だと4年間は苦しくない、っていうならそれで十分じゃねえの。

919 :Trader@Live!:2011/09/08(木) 13:29:00.19 ID:mp7jse7r
おまえら仕事は?

920 :Trader@Live!:2011/09/08(木) 13:30:13.55 ID:uCZ4MC/f
DDの話しようぜ・・・
まぁ結局は自分で納得するまでやるだけだし、他人がOKともNOともいっても
自分がよければおkなのだろうし別にいいんだけどさ
人の意見聞いてもあくまで参考にしかならないのは承知さ

>>915
損切りは俺のやり方が悪いのか、たいてい損切りとして条件書いて切るより、
利確のタイミングかドテンのタイミングで切ったほうが結果が良くなることが多いような
だから、損切りは特に設定せず、損が出ないようなロジックを作るほうに全力を
注いだほうがいいという結論に達しました

921 :Trader@Live!:2011/09/08(木) 13:39:17.47 ID:0Xf7OwQ3
>>920
まぁ戦略によるよね。
SLの話1つとってもどんなEA目指してるのかで全然違うよね。
おれはTP=20〜30、SL=100くらいで、4年でPF=3以上が最低ラインかな。

922 :Trader@Live!:2011/09/08(木) 13:40:33.78 ID:0Xf7OwQ3
あと取引回数は200回以上。もちろん本当はもっと回数増やしたいんだけど
うまくできないw

923 :Trader@Live!:2011/09/08(木) 13:46:30.22 ID:g23laa9F
>>921
どの足でやっているの?

924 :Trader@Live!:2011/09/08(木) 13:50:51.58 ID:0Xf7OwQ3
>>923
1時間足。あとレンジを見るのに4時間足。業者で違うから本当は4時間足は
使いたくないんだけどね。

925 :Trader@Live!:2011/09/08(木) 13:56:50.76 ID:g23laa9F
1時間足で20〜30のtpは少なくない?atrにもよるけど。

926 :Trader@Live!:2011/09/08(木) 15:24:00.87 ID:SXZutIEx
損切りに限らずあらゆるところで使う数値に対して絶対値にするか相対値にするかは迷うところだなぁ
相対値の方が堅牢性の高いシステムを作れるはずなんだけどこれが非常に難しい
絶対値で作ったEAはいつか壊れるんじゃないかっていう不安があるよね

927 :Trader@Live!:2011/09/08(木) 15:37:49.59 ID:g23laa9F
ボラティリティが変わっていくのにね。固定だと対応できない。

928 :Trader@Live!:2011/09/08(木) 16:12:08.36 ID:zCWBa/NP
3200万円ちかく種あるんだけどFXはじめてでまだ投資できてない
誰か運用してぇぇっぇぇ

929 :Trader@Live!:2011/09/08(木) 17:11:24.55 ID:g23laa9F
釣りには誰も反応しないはずだが。

930 :Trader@Live!:2011/09/08(木) 17:12:18.53 ID:DXMHHx8a
反応してるじゃねぇかw

931 :867:2011/09/08(木) 17:16:14.91 ID:oTPuM41+
>>926
俺は仕方ないから標準偏差をベースにしてる
何かもっと妥当なのはないものだろうか

932 :Trader@Live!:2011/09/08(木) 17:22:26.98 ID:g0Vpu/DN
SLは俺もATRの倍数でやってるけどどうにもしっくりこない

直近の安値高値を基準でもいいんだけど最近はそこを割り込んでから
元のトレンドに帰っていくとかやらしすぎるわ!!!!

933 :Trader@Live!:2011/09/08(木) 17:36:46.13 ID:0Xf7OwQ3
>>925
そりゃ大きくしたいけど、TPも大きくすると安定しないのよ。
>>927
そんなのわかってるんだよ。だから固定じゃない方法についての話なんだよ。
いい方法知ってるんなら教えてくれよw
>>928
よし、全部無くなってもいいならおれがもらってやる。

934 :Trader@Live!:2011/09/08(木) 17:39:10.00 ID:knGuJRyu
>>932
> 直近の安値高値を基準でもいいんだけど最近はそこを割り込んでから
> 元のトレンドに帰っていくとかやらしすぎるわ!!!!

誰もが注目している分かりやすいSLポイントは狙われるってことか。。。orz

935 :Trader@Live!:2011/09/08(木) 18:42:35.02 ID:g23laa9F
損切りが利確より大きくてもそれを上回る勝率ならいいんだけど。遠すぎる損切りは胃に悪い。

936 :Trader@Live!:2011/09/08(木) 18:49:57.26 ID:0Xf7OwQ3
(・ω・`)

937 :Trader@Live!:2011/09/08(木) 18:57:49.41 ID:zLkP7Av4
単純過ぎて申し訳ないのですが

レートが
○○(数字)になったらアラートを鳴らす

というインジを作ってくれる方いたらよろしくお願いします。

938 :Trader@Live!:2011/09/08(木) 18:59:04.15 ID:0Xf7OwQ3
>>937
MT4に元からついているアラート機能じゃぁどうしてだめなのか。

939 :Trader@Live!:2011/09/08(木) 19:06:32.21 ID:OrjtH+Zi
>>938
もうこういうカスはスルーでいいよ

940 :Trader@Live!:2011/09/08(木) 19:10:13.60 ID:zLkP7Av4
>>938
すいません
調べたらできました。
どーもどーも

941 :Trader@Live!:2011/09/08(木) 19:20:32.80 ID:g23laa9F
大切なカ○ですので仲良く逝きましょう。

942 :Trader@Live!:2011/09/08(木) 19:22:49.56 ID:0Xf7OwQ3
NGID: g23laa9F

943 :Trader@Live!:2011/09/08(木) 19:23:06.78 ID:lIP5IBrY
つーか>>819>>837>>844が言ってる奴って結局誰もわからんの??
おれもあるEAをデコンパイルした時、一度見た事があるんだけど、やはりKEY SCRAMBLE SC2
って出ている以外は意味不明なコードで mq4化された

難読化ってレベルじゃねー気がするんだが・・・
難読化?した状態でコンパイルして、デコンパイルされた時点でもう読めない状態になる
誰かやり方知ってる??

944 :Trader@Live!:2011/09/08(木) 19:29:27.50 ID:OrjtH+Zi
しつけーな。EA販売してる詐欺師は消えろよ

945 :Trader@Live!:2011/09/08(木) 19:33:22.87 ID:g23laa9F
>>933
俺初心者なんで参考にはならないかもしれんが、損切りはatr で値幅をみて、dmiで方向を見る。その差分をノイズとしている。そのノイズが損切りの値にしている。atr だけより若干ましだと思う。

隣の小学生がバレエ時間なので人前で着替えはじめた。なので忙しくなったので落ちる。

946 :Trader@Live!:2011/09/08(木) 19:33:36.21 ID:lIP5IBrY
お前は詐欺師かもしれんが、おれは無料配布だよ
しかもIBもやっとらん
クローズドフォーラム内のメンバー用だよ カス

947 :Trader@Live!:2011/09/08(木) 19:49:09.38 ID:0Xf7OwQ3
>>943
そのデ゙コンパイルしたのをまたコンパイルして元と同じように動くのか?
動くならソースとしては使えるだろうに。

948 :Trader@Live!:2011/09/08(木) 19:53:21.56 ID:lIP5IBrY
>>947
デコしたソースを再度コンパイルしても使えないんだよね。
だからmq4の時点で何か特殊な事やっているんじゃないかと

949 :Trader@Live!:2011/09/08(木) 19:59:42.39 ID:0Xf7OwQ3
じゃぁデコンパイラの問題じゃん。

950 :Trader@Live!:2011/09/08(木) 20:04:57.78 ID:lIP5IBrY
ちゃうと思うが?

951 :Trader@Live!:2011/09/08(木) 20:05:58.50 ID:mLTreZho
クローズドの無料配布ならソース見えたっていいだろ、、、

952 :Trader@Live!:2011/09/08(木) 20:07:11.33 ID:lIP5IBrY
そうもいかないのです・・・

953 :Trader@Live!:2011/09/08(木) 20:11:00.91 ID:0Xf7OwQ3
>>950
MT4で動くex4がソースに戻せないんだろ?
デコンパイラの問題じゃなくてなんなんだよ。
上で出てた中国人かデコンパイラ作者のツールかなんか別のツールで変換されてるんだろ。
デコンパイラ作者がやってるのでなければそのうち対応すんだろ。

954 :Trader@Live!:2011/09/08(木) 20:13:34.08 ID:knGuJRyu
DLL化して保護すれば少々のことでは解析されないと思うが。

955 :Trader@Live!:2011/09/08(木) 20:13:52.84 ID:lIP5IBrY
>中国人かデコンパイラ作者のツール

具体的な名前教えて

956 :Trader@Live!:2011/09/08(木) 20:17:38.45 ID:W6YwnjaO
>>946
それで俺達に対するメリットは?
なんでオープンな俺達が、そのクローズドな奴らを助けなければいけないんだ?

957 :Trader@Live!:2011/09/08(木) 20:25:52.03 ID:0Xf7OwQ3
NGID: lIP5IBrY

958 :Trader@Live!:2011/09/08(木) 20:28:00.35 ID:lIP5IBrY
じゃあ協力してくれた人にだけEAやるよ

959 :Trader@Live!:2011/09/08(木) 20:37:44.89 ID:DXMHHx8a
こんな所で聞いても無理

960 :Trader@Live!:2011/09/08(木) 20:45:43.44 ID:cjg+CNDL
要らんがな。

961 :Trader@Live!:2011/09/08(木) 21:51:25.90 ID:PNUfCWwx
興味ないと誰も協力しないんだろう。

最近鬱気味だなあ。
チャート研究したり、プログラム打ったりしても
それが社会的に何も貢献しないと思うと。

株ならそれが投資として社会に役立つかも知れんが。

962 :Trader@Live!:2011/09/08(木) 22:03:01.79 ID:zCWBa/NP
株とかモロインサイダーで儲かるから社会どうのこうのないと思うよ。就職した会社の合併情報聞いて売買して大もうけしてそう思った。

963 :Trader@Live!:2011/09/08(木) 22:11:39.53 ID:PNUfCWwx
そうだな。俺にはFXしかできないから。
たくさん稼いで消費すれば、周辺には良い効用があるかもな。

サラリーマンがちょっと羨ましい今日この頃。

964 :Trader@Live!:2011/09/08(木) 23:03:04.85 ID:DttrBb73
たくさん稼いで、寄付をいっぱいすれば喜ばれるよ。


965 :910:2011/09/08(木) 23:35:39.36 ID:geshEkYo
>>911
> MT4やMQLの話が皆無だったからだろ。
その非難には当たらないなぁ。
確かに「遅延しないLPF」 のアルゴを作る為に、Scilabのスクショを貼ったこともあるよ。
でもそれって、インジスレのこれ↓以降の話し。
 http://kamome.2ch.net/test/read.cgi/livemarket2/1304547533/14
そう、これ以前にここ開発スレに貼ってたのは全部MT4だよ。


スレチになりそうで控えてたんだけど、亀レス
>>868
> あーいうのを検知して荒稼ぎするEA作りたいな
難しいかな。今のIIRだとこんな感じ。
 ttp://www.debuchan.us/uploda/img/up00005811.gif
サインが出て無い!( ゚∀゚)アハハ
「+3σ付近からさらに上昇したら」という条件でシグナルを出せばよさげではあるけど。
ちなみに、この時のEUR/USDならなんとかなったかも。
 ttp://www.debuchan.us/uploda/img/up00005810.gif

>>913
> 俺としては電気屋さんのネタこそが
今はインジスレがあるから、そこで売買ロジックを考えればいいと思ってる。
ちなみに今は、EAをテストする為にLPFの整理中。
インジ+EAで3000行位で、EAとしては比較的大作になりそう。

>>902
EAの売買ロジックのインジでブランチした前例が出来てしまったから、今はこうだと思う。
> MQL質問     →初心者スレでいいと思う
> テスト結果評価 →ここ、開発スレ
> 売買アイデア   →インジスレかもね
> テスト効率化   →ここ、開発スレ
> インジケータ   →ここ、開発スレ
> 特殊インジケータ(波形フィルタ等) →ここ、開発スレ
イヤだと不快感を表明する人が居て、移動先があるなら粘着せずに素直に移動すべきだと思う。
だって、スレに粘着するのが目的ではなく、良いEAを作って利益を上げるのが目的なんだから。

>>915
> 電気屋=ちゅるや=fai_fxでおk?
違うよ、faiさんは雲上人ですよ。

>>931
> 俺は仕方ないから標準偏差をベースにしてる
俺も標準偏差ベース。
あの時のUSD/CHF、±1σ以内のボラが無いところから+3σまで上がってそろそろ反転しそうな時に介入?
難しいな…、このインジで売買したらSLだなぁ。

>>920
> DDの話しようぜ・・・
俺はDDを抑える為に、攻めの発想でエッジが効いたエントリーを目指している。
だからM1ベースで、そこにM30かH1相当のシグナルを出そうと。

だって、おかしいじゃん。一般的なインジはなんで足を替えるとシグナルが変わるのさ?
そもそも、最適なエントリーポイントは唯一無二なハズ。
MTF? 納得出来ないんだよね〜。

おっと、IDが変わってしまう。んじゃ、巣に帰るわ( ゚∀゚)アハハ

966 :Trader@Live!:2011/09/08(木) 23:41:40.56 ID:geshEkYo
言い忘れ。
EURUSDの上に出ているのは、今朝初心者スレにレスったMT4-LevelStop-Reverse-vB0-4.mq4とSlope Direction Line.mq4。
IIRはサブウィンドウだよ。

967 :Trader@Live!:2011/09/09(金) 00:11:09.94 ID:IqWDj/5c
俺もSL/TPをATRで可変にしたり値段に対するパーセントにしたりピボットの
値幅にしたりしたがあまり効果はなかった。

ところで最近の激動イベントの後数日から1週間くらいはEAが負けやすい相場
が続くんだけどこれをフィルタリングするのにいいアイデアはないかな?スキャでも
ブレークアウトでも漏れ無く負けやすいのが値幅がやたらでかいレンジ相場だよね。
H4かD1でATR使うとトレンド相場と幅広レンジ相場の区別がつかなくなる。
高値同士の値幅、安値同士の値幅を使えばなんとかなると思うけどパラを増やし
たくないし一発解決の方法はないかなあ?

968 :Trader@Live!:2011/09/09(金) 00:44:52.00 ID:TrbvWx92
>>967
AtrPeriodはデフォの14? 足はH1?

俺は思う、ボラを求めるなら東京・欧州・NY時間全て含んでいないと意味が無い。
つまり過去24時間の平均値から、現在のボラが高いか低いか判断しないと見誤ると。

969 :Trader@Live!:2011/09/09(金) 00:53:05.88 ID:wP3cpXko
まぁ普通は日足だろうけど、日足も業者で変わるから使いたくないな。

970 :Trader@Live!:2011/09/09(金) 01:12:06.47 ID:IqWDj/5c
AtrはH4でピリオドは10くらいが一番成績いいかな。

971 :Trader@Live!:2011/09/09(金) 01:13:38.21 ID:IqWDj/5c
面倒だけどGMTで手動計算すれば鯖時差
の影響受けない

972 :Trader@Live!:2011/09/09(金) 01:23:17.99 ID:LNs6+N1A
>>965
> >>911
> > MT4やMQLの話が皆無だったからだろ。
> その非難には当たらないなぁ。
> 確かに「遅延しないLPF」 のアルゴを作る為に、Scilabのスクショを貼ったこともあるよ。
> でもそれって、インジスレのこれ↓以降の話し。
>  http://kamome.2ch.net/test/read.cgi/livemarket2/1304547533/14
> そう、これ以前にここ開発スレに貼ってたのは全部MT4だよ。

やれやれ。
MT4のスクショじゃないなんて、一言も言ってないのにな。
MT4の画像貼ればMT4なんだからEA開発スレでスレ違いじゃない、とはならないだろうという話。
画像だけなら他言語の画像貼っても一緒だろ、という話。

以前は時々「自慢のトレード画面を貼れ」みたいなスレが立って、
MT4に限らず(まあ、ほとんどMT4だったけど)、やたらインジやEAを乗っけたスクショをみんなが貼って、
おおすげーとか関心してたスレがあったわけだが、
それをこの開発スレでやったら、そのスクショのインジやEAが全てMT4自作だったとしても、明らかにスレ違いだ。

で、お前が以前やってた事は、そんなスレ違いとどこが違うんだ?

973 :Trader@Live!:2011/09/09(金) 01:32:02.40 ID:wP3cpXko
たいして話題もないんだし、全然問題ないと思うが。

974 :Trader@Live!:2011/09/09(金) 02:03:41.05 ID:h8ZN6a87
>>965
昨日のスレまとめ乙でした。(もう毎日やってよ。)

波形インジが話題になった時は、なんというか
自分には(多分他の人も)高度すぎて解る人だけで盛り上がって、
当事者はその気はなかったとは思うけど、解る人だけで楽しもうぜ。
っていう空気を感じたんだよな。
2ちゃん的にはそういうのができると、スレから排除される運命になるんだな。

これが、他のオタク系の話題だったら、その話題を共有していこうという中の人が
でてきたりして、またそれがスレの活性化になるんだけど。

いかんせん。みんなゼロサムゲームの当事者なんで、情報の利用方法が解る人と
解らない人との違い(格差といっていい)に(無意識に)気づいて、苛立った人が出てきたと。

自分としては話題としては面白かったし、気になった内容だったけど、理解できなかった。
中の人がもう少し、空気読めたら多分追い出されなかったかも。

975 :Trader@Live!:2011/09/09(金) 02:24:14.43 ID:h8ZN6a87
ところで別スレで話題にあった「ウォール街のランダムウォーカー」読んでるだけど。
有無を言わさずテクニカルを罵倒しているな。
といってもファンダメンタルも批判してる。
客観的にテクニカルを見ようと思ってこの本を読んでみたが、萎えてしまったw

1000円本と併せて、読んではいけない本に推薦します。

976 :Trader@Live!:2011/09/09(金) 03:39:14.59 ID:BVha+FGq
今みたいな1ヶ月で2000pip動き15分で1000pip動くキチガイ相場見てると、5分足以下のEAじゃないとだめだなと思ったよ

977 :Trader@Live!:2011/09/09(金) 05:53:29.54 ID:TrbvWx92
>>970
H4だったんだ。「H4かD1でATR 〜 区別がつかなくなる」を読んで、もっと短い足かと思った。
一発解決の方法…、ん〜ATRを一回否定してATRを別なアプローチから再発明するとか…。

インジスレネタだけど、ATRを再度お勉強w
 ATR :
  @現在足高値−現在足安値
  A現在足高値−前足終値
  B現在足安値−前足終値、
   の中の最大値TRのN期間指数潤滑平均線(EMA)
これだけ読むとなるほどなと思うけど、これって間違いなく@以外選ばれないよね。
なぜなら前足終値と現在足始値とは、H4なら同じ値の筈だから。
それに@だと、H4の中で一往復した場合と二往復場合を無視するし…。

つまりH4の中で極大点と極小点を見つけて、その各差を要素として移動平均を計算しないとボラを表す指標として正しく無いのではないか?という仮定が成り立ちそう。
それなら「H4でピリオドは10」に加え、「H1でピリオドは40」と「D1でピリオドは4」も計算する。
トレンドならこの三つの計算値はほぼ等しくなる筈。
でも、幅広レンジなら値はH1 < H4 < D1に並ぶんじゃね? (Just Idea!)

978 :Trader@Live!:2011/09/09(金) 06:12:14.67 ID:TrbvWx92
>>977
> トレンドならこの三つの計算値はほぼ等しくなる筈。
ならねぇ〜よ、アホがw > 自分 (… orz)

>>974
> 当事者はその気はなかったとは思うけど、解る人だけで楽しもうぜ。っていう空気を感じたんだよな。
そうだったんだ、空気を読めて無かったかな?
本人としてはIIRなんて、MA→FIR→IIRとフィルタを急峻化するだけの簡単なお話意識しか無かったんだけど…。
流石にWaveletになると、飛躍しすぎかと自覚はあったけど…。
そういえば前々スレのFFTの人、その後顔を見せないけどどうなったんだろう。

> 中の人がもう少し、空気読めたら多分追い出されなかったかも。
申し訳ない…

979 :Trader@Live!:2011/09/09(金) 07:35:06.40 ID:Y2hX+1AJ
>>974
だいたいあっている。

980 :Trader@Live!:2011/09/09(金) 08:42:10.20 ID:J+Hp3U3X
>>972
電気屋はコードこそ載せてなかったけれど、どういうアルゴリズムがどのような効果があったか
示すために貼ったスクショで、ただの利益曲線スクショ貼りとはぜんぜん違う。

981 :Trader@Live!:2011/09/09(金) 09:22:18.72 ID:Y2hX+1AJ
そのコードを載せないで利益曲線を貼っていったのが、まぁあれだ。
上で書いてあった、格差?を感じずには得られなかったって事だな。
それでも、スレの端っこでやってりゃ、文句なかったかもしれんが、一時期その話題でスレが埋まってたからな。

982 :Trader@Live!:2011/09/09(金) 12:11:17.46 ID:h8ZN6a87
>>978
俺は電気屋さんそんな嫌いじゃないよ。

ところでそのフィルターとかをEAに載せるには
高校数学レベルの知識とMQLの知識で構築できるもんなの。

983 :Trader@Live!:2011/09/09(金) 12:30:25.09 ID:Rrh6N4DL
>>980-982
うん? スクショのインジは勘弁だけど、ベースのIRフィルタは晒そうか?
ベースに使っているけど、スクショのインジにはさらに信号処理を加えたもんだし。
そもそも一回晒した覚えがあるしw

続きはインジスレにて。

984 :Trader@Live!:2011/09/09(金) 13:50:52.94 ID:LNs6+N1A
>>974
全然違う。

幾つかの間違いを指摘された電気屋が、
指摘した奴の方が間違ってるって叩いたのが荒れた原因だろ。

その後、何人かが丹念に電気屋の間違いをわざわざ指摘していったが、
電気屋と「盛り上がって」いた取り巻きは最初スルー、最後に出ていったw

理解してる全員が盛り上がっていた、というのは全然違うね。

985 :Trader@Live!:2011/09/09(金) 14:04:08.41 ID:wP3cpXko
>>950
次スレ立てとけよ。

986 :Trader@Live!:2011/09/09(金) 14:14:37.37 ID:Y2hX+1AJ
それはわからんかった。

987 :Trader@Live!:2011/09/09(金) 17:58:04.05 ID:Y2hX+1AJ
自分が書いたスレに対して執着するのは、損切りできない心理と近いのかもな。
怒ったり感情的になるのは本来、相場に向かない性格かもしれん。

988 :Trader@Live!:2011/09/09(金) 20:05:54.75 ID:D6/Abo6h
>>984
自分の主張を、ゴリ押ししていた奴がいたのは覚えてるw

989 :Trader@Live!:2011/09/09(金) 21:38:27.86 ID:f+C0ngYH
何がスレ違いかの議論が発熱してるようだけど
その議論をしてるおまいらが今は一番スレ違いなんじゃないかな?かな?

だけどこれだけは言っておく
SとLでエントリーもエグジットも完全に分けるべきだと

990 :Trader@Live!:2011/09/09(金) 21:41:02.57 ID:wP3cpXko
× 発熱
○ 白熱

991 :Filter:2011/09/10(土) 00:15:18.44 ID:L+32U8+2
>982さん
ところでそのフィルターとかをEAに載せるには
高校数学レベルの知識とMQLの知識で構築できるもんなの。

数学いらないよっとw
簡単に説明すると、コーヒーFilterを思い出してほしいw
珈琲豆はコップにいれたくないから、抽出するものと、しないものを分けるよねっとw
基本的にオリジナル関数はこんなんでいいんじゃないかなっとw

例: FilterSignal()
ぱらめた
買いが1
売りが1
なしが0

あとシグナルは取引時間を設定できるし、応用だと

仮シグナルAを決める
仮シグナルbを決める

Aの条件を通ったら本シグナルへ。



992 :Trader@Live!:2011/09/10(土) 01:54:23.82 ID:/CQvo4jV
正直フィルターって仕組みは必要ないと思ってる

993 :Trader@Live!:2011/09/10(土) 02:15:37.42 ID:6L2F/lru
フィルターの内容によるんじゃね?
フィルターだけでもプラスに触れるぐらいのフィルターだったら効果は高いと思う
まぁそうなるとフィルターってより、二つのロジックを走らせてるってことになるか

それはそうと、時間も大事って話よく聞くから、EAで時間帯ごとの傾向とか
折り返し方とか見てると、本当に時間の傾向ってあるんだな
これはフィルターにも使えるけど、これ単独でも1ロット取引数時間以内に決済で
pf1.5ぐらいで年4000pipsぐらいプラスに出てる

994 :Trader@Live!:2011/09/10(土) 02:57:24.71 ID:/CQvo4jV
例えば3つのSignalのうち2つがSignalを出した場合に買うなどの判定はフィルターだとやりにくい。
個別に演算して外側でこの判定をするのはとても簡単

995 :Trader@Live!:2011/09/10(土) 04:47:05.80 ID:ZFRa8zsa
ちょっと意味がわからないんだが、フィルタと言えば時間フィルタやトレンドフィルタだろ。
そういうのはフィルタとして記述した方が簡単じゃないのか。

996 :Trader@Live!:2011/09/10(土) 05:30:35.54 ID:ZFRa8zsa
取引用に6コ、最適化用に12コ、合計20コ動かしてるがたまに画面がおかしくなるな。
デスクトップヒープがまだ足りないのかなこれ。

997 :Trader@Live!:2011/09/10(土) 06:35:54.24 ID:L/oWZF0i
>>994
俺はバラバラの方が扱い辛くてかなわんな。
この人の意見に同調する。

> 401 名前:Trader@Live![sage] 投稿日:2011/02/04(金) 21:49:31 ID:BUic6hhw
> たしかに、EA作ってる人は最初からBTする人が多いけど、
> 私はインジケータから作って、次にフォワードテスト、最後にバックテストって順にしてる。
> インジケータでリアルタイムに相場を見ないと欠点とか良い点、改良点がわからないことも多いし、
> フォワードテスト中にエントリー・エグジット処理の不具合とか新しい改善点が見つかることも多い。
> いきなりバックテストやると悪い結果のときの原因とか改善するべきところが見にくいんだよね

998 :Trader@Live!:2011/09/10(土) 06:45:21.98 ID:L/oWZF0i
次スレ
http://kamome.2ch.net/test/read.cgi/livemarket2/1315604680/

999 :Trader@Live!:2011/09/10(土) 06:50:44.35 ID:L/oWZF0i
次スレでは強力な自作EAを手にしたいものだ。

1000 :Trader@Live!:2011/09/10(土) 06:51:29.43 ID:L/oWZF0i
自作EAに暴益あれ!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

332 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)