【MT4】MetaTrader Part15【メタトレーダー】
int start()
{ int limit = Bars-IndicatorCounted();
for(int i= limit - 1; i >= 0; i--)
{
buf[i]= Bid;
Comment(buf[1],"---",buf[i],);
BidやAskのティックデータの格納ってどうやるんですか?
上記の方法で、コメントを見ても、buf[1]もbuf[i]も、すべて 0 で返されてしまいます。
またiClose関数でも、0 で返されてしまいます。
ティックデータの格納方法を教えてください。
検索したら、『Comment関数の変数に配列を渡すことはできない。』みたいだ。
他に試しのですが、
buf1[0]= Bid;
buf2[1]= Bid
をチャート表示したら、TFで、1本分ずれるだけした。
1ティック毎にワンテンポ遅れてついてきてほしいのですが・・・・
どうすれば、1ティック前のデータを扱うことができますか?
また、その数値データを、確認する方法は、どうするんでしょうか?
403 :
Trader@Live!:2008/11/14(金) 06:03:09 ID:S68KGfoj
>>396 おぉ!
お願いできないでしょうか。
簡単なのは作れるのですが
少しこると何が何だかさっぱりなのです。
>>401 何を作りたいのか良く分からんが、
BarsとかIndicatorCounted使ってる時点でTickデータは取れないかと。
Tickは足(最短でも1分足)よりももっと細かい(膨大な)データなわけでこれ使ってる時点でデータ入りきらない。
1tick前のデータだけ見たいなら、
start関数終了前にグローバル変数でmaenoTickみたいな変数作って入れておけば良いだけなんじゃ?
配列に蓄積したいならグローバル変数のカウンタ作って1個1個入れていけば良いと思う。
配列に蓄積する場合はバッファに気をつけた処理にしないとまずいけど。
古いデータも何も新しいものもさして正確じゃないと思いますよ。
質問があります。
ストラテジーテスターで異なる時間足で同時に同期させ、動かすこととかできるんでしょうか?
5分足と1時間足や1時間足と日足とかの組み合わせなんですけど。
ズレはありますがMT4を2つ入れて同時に動かすか、マルチタイムフレームのインジケーター
を入れて擬似的に把握したり、ひとつの画面に60分足にローソク足を入れることのできる
マルチタイムフレームのインジケーターを入れると言う方法しかわかりません。
ただ、マルチタイムフレームのインジケーターは重くてMT4が固まるんですよね・・・
ゆとりスレで質問したのですけどスルーされてしまいまして、ここで分かる人がおられればと思いまして・・・
>>408 参考情報ありがとう。まさにこんな感じ。
ってことはバックテストには2007年以降のデータを使った方が良いみたい・・・。
皆さんその辺意識されています?
昔ね、高値・安値MA2にタッチしたら逆張り1日で手仕舞い。
みたいなシステム作ったら2006年ぐらいまで成績がすごかったなぁ・・・。
>>408のサイトのコメントを読み直して思ったんだけど、
ヒゲを使わないシステムだったらまともに機能するのかな?
どっかいい鯖ないかな
昼に食ったサバ定食うまかったよ
Marcket Info で 少数が多く見づらいのですが
どうしたら、直せるのでしょうか?
416 :
Trader@Live!:2008/11/15(土) 13:51:28 ID:S0YeDjYE
バックテストの精度あげたくてAlpariからデータ落そうとしたんだが、出来ない。
みんなできてる?
418 :
Trader@Live!:2008/11/15(土) 15:01:13 ID:joTH4BDZ
ダウとドルのリアルタイムでの相関をみたい(EA、インジケータ上で)のですが、
ODLはデモ口座の申請が最近とおらないので、Brocoを利用していました。
でも、Brocoのドルの値動きが自分で使っている業者(LION-FX)との乖離がひどい
ので、Brocoのサーバからダウの価格を、FXDDのサーバからクロスドルの価格をもってくる
ことを思いつきました。
で、方法ですが、\experts\files以下に書き出したファイルを外部プログラム(Javaとか)で
同期を取るといったものですが、もっとシンプルな方法があるでしょうか?
419 :
Trader@Live!:2008/11/15(土) 15:25:46 ID:Ik3w2uXx
ストラテジーテスターでバックテストしたら大抵
オープンプライスオンリーでやったほうが結果がよくなりますよね
でも実際に動かしたら時間足で設定したのに時間の途中でポジったりしてます
時間足のオープンプライスだけでポジったり利確したりするには
どうしたらよいでしょうか
>>419 メインルーチン(start())の頭に、
if((Volume[0] > 1) || (IsTradeAllowed() == false)) return(0);
と書いてみたら?
あ、ダメか。オープンプライスなら、「Volume[0] > 2」なのか。
ダメだ、達人のフォローが必要だ…orz
>>414 ソース見るの面倒だから勘で書くけど、
DoubleToStrを使って調整してみては。
いつもストップ40PIPS、リミットを60PIPSにしているのですが、
その幅をチャート上に表示させることはできるのしょうか?
現在の価格から常に40PIPS上下にラインを表示させるみたいな。
そんなインジケータがあったら教えてください。
bidなりcloseなり呼んで、それに40ぴpなり60ぴp足すなり引くなりした値をオブジェクトムーブ
なんたらかんたらなインディケータを作ればおk
ロングとショートで、計4本線が必要だな。その色分けもできるようにすりゃいいな。
427 :
Trader@Live!:2008/11/15(土) 23:57:50 ID:If7T1/eB
>>424 基点をどこにおくの?
直近のCLOSE?
428 :
424:2008/11/16(日) 09:03:28 ID:jJQed9Nv
>>425、426
インジケータ作るのは私には難しくてできません。
ほんの少し手直しするくらいしか…。
>>427 直近のCLOSEではなくて、現在のPRICEと考えています。
ただラインが4本あって常に動くと目障りそうですね。
何か良い方法ないかなぁ。
MT4で1画面にユーロ円とポンド円を出したいのですが可能でしょうか?
#property indicator_chart_window
extern int Short_Stop = 40;
extern int Short_Limit = 60;
extern int Long_Stop = 40;
extern int Long_Limit = 60;
extern color LongCol = Blue;
extern color ShortCol = Red;
int deinit()
{
ObjectsDeleteAll(0,OBJ_HLINE);
return(0);
}
int start()
{
double SS = Bid + Short_Stop*Point;
double SL = Bid - Short_Limit*Point;
double LS = Ask - Long_Stop*Point;
double LL = Ask + Long_Limit*Point;
drawLine(SS, "SHORT_STOP", ShortCol, 0);
drawLine(SL, "SHORT_LIMIT", ShortCol, 0);
drawLine(LS, "LONG_STOP", LongCol, 0);
drawLine(LL, "LONG_LIMIT", LongCol, 0);
}
void drawLine(double lvl, string name, color col, int type)
{
if (ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 0) {ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);}
if(type == 1) {ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);}
ObjectSet(name, OBJPROP_COLOR, col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
else
{
ObjectMove(name, 0, Time[0], lvl);
ObjectMove(name, 1, Time[0], lvl);
}
}
>>428 動くかどうかは試してないから知らん。
あまり言いたくないけど、ものすごい低レベルなインディケータだよ。
MT4使って1ヶ月目くらいなら作れるレベル。
433 :
Trader@Live!:2008/11/16(日) 23:21:30 ID:kNluomwA
ODLでMT4インストールするときメールアドレス、住所、電話番号ぜんぶデタラメで大丈夫?
ちゃんと本名とかを書こうね。
436 :
Trader@Live!:2008/11/17(月) 00:06:03 ID:7N+RU+eN
デコンパイラの入手先、教えてください。
お前ら、プログラムの勉強熱心さには感心するが、
肝心のチャートの勉強した方がいいと思うぞ。
なんか本末転倒のような気がするが。
シストレ解説してる人たちが、自分の金ではシストレしてない件w
439 :
Trader@Live!:2008/11/17(月) 03:53:50 ID:RZ4Lx1p6
以下のようなプログラムを書いてみました
ですが、一部表示されない箇所があるのです
調べてみると、どうやら、zero divideとなっているためのようで・・・
そこで質問なのですが、このzero divideを回避する方法はないものでしょうか
(あいにくプログラムを書くのに慣れていないので、詳しく教えてくださるとうれしい限りなのですが・・・)
よろしくお願いします
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Pink
double BufA[];
extern int MA_Period=25;
int init(){
SetIndexBuffer(0,BufA);
return(0);
}
int start(){
int counted_bar=IndicatorCounted();
int limit=Bars-counted_bar;
if(counted_bar==0)limit-=MA_Period;
for(int i=limit-1;i>=0;i--){
BufA[i]=(iMA(NULL,0,MA_Period,0,MODE_SMA,PRICE_HIGH,i)-iMA(NULL,0,MA_Period,-1,MODE_SMA,PRICE_CLOSE,i))/(iMA(NULL,0,MA_Period,-1,MODE_SMA,PRICE_CLOSE,i)-iMA(NULL,0,MA_Period,0,MODE_SMA,PRICE_LOW,i));
}
return(0);
}
0で割るなって言ってるんだから分母が0以外の時だけ実行されるようにif文入れればいい
441 :
439:2008/11/17(月) 04:08:16 ID:RZ4Lx1p6
>>440 ええ、おっしゃることはよくわかるのですが・・・
そのやり方をどうすればよいのかを詳しく教えていただきたいのです
舌足らずで申し訳ありません・・・
詳しくも方もなにもそれがすべてだろ。
if( 分子 == 0 || 分母 == 0 ){
}else{
}
にわけるだけでしょう。
443 :
439:2008/11/17(月) 04:45:51 ID:RZ4Lx1p6
>>442 ああ・・・なるほど・・・
よくわかりました。やってみます。ありがとうございました
444 :
439:2008/11/17(月) 04:56:44 ID:RZ4Lx1p6
>>440,442
できました!
アドバイス、ありがとうございました。心から感謝!
>>437 チャートというかテクニカルの勉強をしたうえで、MT4使ってるよ。
そうでなければ、インディケータのアイデアが出てこないわけだし。
446 :
Trader@Live!:2008/11/17(月) 19:19:44 ID:EcnEKifX
スキャルなんでそこそこポジション多いの前提で
今日の売買結果の.cvsをMT4に表示する方法って何かありますか?
売買結果を分析して反省会するのに使いたいんですけど
447 :
424:2008/11/17(月) 19:52:44 ID:wCeycyRT
>>432 ありがとうございました。ObjectMoveですね。
>>446 読み込んで表示させてみたら如何ですか?
普通にエクセルでグラフにした方がいいと思いますけど
449 :
Trader@Live!:2008/11/18(火) 00:08:28 ID:HzfX+nN8
>>448 エクセルでグラフですか
確かに、そっちの方が汎用性あるのかもですね、、、
ポジ取るたびにMT4でも同じポジ取ったりしてたんですけど、
それがなかなか面倒で
チャートをエクセルかあ、誰かやってそうなのにみつからぬー
RSIを参考にで30%の数値になったら買い
50%の数値になったら売るっていう単純なEAってどう作ればいいんですか@@;
rsi = getRSI();
if( rsi < 30 ) buy();
else if( rsi > 50 ) sell();
早く破産するゲーム?
453 :
Trader@Live!:2008/11/19(水) 00:24:33 ID:KSI13za8
>451
何にたいして?
ごめん>452だった
まあ、上か下かしかないんだから
ランダムにエントリーする限り、確率は50%に収束する
これがヒントだ
>>455 するってぇと…こんなん↓でも、なんとかなってしまうかな
int Dise = MathRand();
double Voice = MathMod(Dise,2)
if (Voice == 0) OrderSend(Symbol(),OP_BUY,------);
else OrderSend(Symbol(),OP_SELL,------);
教えてください。
EAで4つのインヂケーターを使い、Aでシグナル発生中、かつBでも発生中Cでも発生、そしてDでシグナル発生した時にアラームがなるようなプログラムってできますか?
例えば、21MAが75MAを上回っており、しかもRSIで50越えで、尚且つスローストキャスティクスで50越えている時、MACDでGCした時にアラームがなる、みたいな。
参考になるサイトなどありましたら御教授願います。
>>457 余裕で出来る。
参考になるサイト等はテンプレに書いてあるフォーラム、あなたの場合は「メタトレーダー入門」を
買ったりしたほうがいいかも。
早速のご回答ありがとうございます。
参考にします。
教えてください。
ウィンドウの左上に表示されるインジケータ名と数値を
消す方法はあるのでしょうか。
4本値はプロパティから消せるのは分かります。
初心者ですみません。
もう恋なんてしないなんてーいわないよぜったいー
>>460 逆に俺は、どうしたら表示できるのかを聞きたい
MT4用のうpローダーってあったとおもったけど
どこだっけ?
↑誤爆
今まで20個ぐらい経験したけど、
バイトって上がうざいから、
10回以上逆切れみたいなかんじでやめたわ
468 :
Trader@Live!:2008/11/19(水) 23:28:25 ID:nD0A8gLu
最近FXDDデモ落ちまくりじゃない?
リアルだと落ちないのかな?
>>468 俺もよく落ちるわ。
どこか他にいいとこないかねぇ…。
ほとんど最近サイトめぐりなんてしてなかったんで知らなかったんだけど、
今どこ見てもブログだらけで、普通のウェブサイトがない。
MT4の日本での解説サイトでそういうところないよね?
勉強のために関数一覧だけでも翻訳してサイト作ってみようかなぁ。
てか猫も杓子もブログ風になってんだけど、そんな良いものか?
作る側は楽かもしれないけど、見る側はメリット少なくない?
順番に見ていこうと思っても、昇順降順変更できないことが多くて
例えば10月分表示しても一度したまでスクロールしてから下から見ていかないといけないし。
>>470 カテゴリー作って分ければいいんでない?
質問でございます。
MT4のチャートで”MCZ”って先物指数があるんですが、
コレってどこの国の指数なんでしょうか?
ググっても出てこないんです><
「回線不通!」にならなくても、loginって起きるものでしょうか?
121で開いた口座で、起動しっぱなしで自分のPCからしか操作していないはずなのに
操作履歴を見るとloginが何度も発生しているので・・・
妊娠しなくても、生理って起きるものでしょうか?
12で開いた月経で、自分の指でしか弄っていないはずなのに
何度も生理が発生しているので・・・
476 :
Trader@Live!:2008/11/20(木) 09:42:08 ID:uyXLw8ae
うわ、つまんね・・・
スルー能力ゼロ
478 :
Trader@Live!:2008/11/20(木) 14:00:37 ID:HqcePawX
わろたw
「腐女子!」にならなくても、生理って起きるものでしょうか?
12で開いた月経で、逝きっぱなしで自分の指でしか弄っていないはずなのに
クロッチを見ると生理が何度も発生しているので・・・
480 :
Trader@Live!:2008/11/20(木) 18:39:43 ID:Efx/HU2p
EA自作できるようになりたいなぁ
よろしければみなさんが勉強する際に参考にしたサイトを教えていただけないでしょうか?
情報なんて少ないから検索して手当たり次第。
後は既存のソースコードを解読して少しずつ弄る。
あれやこれや弄る。
ようやくそこそこのEAが組めた。
FXDDに口座開設して入金も済んだ。
今週始めから動かしてます。
何がうれしいって睡眠時間めちゃ増えたことだ。
損得なんてどうでもいいわ!!
任意の時間内に任意のピップs動いたらアラートしてくれるインディケーターってありますか?
私なりに調べたけど見つかりませんでした。
たとえば5秒以内に10pips動いたらアラートで教えてくれるみたいなものです。
お願いします。
wikiとテンプレ、過去ログ漁ればあらかた揃う
例えば、30分足のサインかつ4時間足のサインが出た時に売買する(アラームでも同じですが)
ってことはできますか??そのあと、バックテストも・・
要は違うタイムフレームを合わせて判断できて、バックテストも違うタイムフレームの
データをと・・
それとも、30分足で8つで4時間足相当でHLOCを生成してやることになるんでしょうか?
識者の方、教えてくださいませ。。
よし・・・勝率70%。
俺は神になる。
488 :
Trader@Live!:2008/11/21(金) 03:49:23 ID:Gp21djNB
違うPCに買い換えて新しくMT4インストしたのですが
通貨ペアにNKとWS30がでません。
業者が違うからですか?
490 :
Trader@Live!:2008/11/21(金) 04:22:46 ID:Gp21djNB
解決できました
お〜、やっとPF1.5程度の普通っぽいシステムが出来たよ。
みんなありがとう。
種なくなっちゃってしばらくデモで研究することになった俺が
MT4の勉強サイト作るぜ。ポータルサイトみたいなのないよな?
とりあえず何がいいんだ?関数リストでも翻訳すっか。
アマゾンのアフェリ貼ったら怒る?種銭にしたいんだけどwww
商材のアフェリは無しな。あんなん詐欺みたいなもんだから。
もうじきMT5でるよ
でたら並行してそっちも試行錯誤していけばよくね。
つか株とかFXのサイトってなんで見難いところばっかりなの?
アフェリの誤クリック狙いか?見る気無くす人の方が多いと思うんだけど収入的にはいいのかね。
やっぱアフェリのことは考えないで普通に古きよき時代のサイト構成にしてみよ。
Broco鯖で日経先物監視してるんだが酷くなってないかあそこ
イブニング落ちまくりだぞ
見れたもんじゃない
先物口座開けよ…
ダウ先物が見られる業者を教えていただけないでしょうか?
>>498 持ってるよ
ただMT4でテクニカル組んでるからなぁ・・・
動かないと何も出来なくなるorz