【MT4/5】MetaTrader初心者専用25【ゆとり隔離スレ】

このエントリーをはてなブックマークに追加
952Trader@Live!:2011/05/29(日) 13:21:51.37 ID:unhECbci
923です。
>>929
お早い対応ありがとうございます。
Print(〜);デバッグやってみます^^

>>938
アドバイスありがとうございます^^
 ですが、せっかくのアドバイスなのですが、今の私では上手く扱うことが
 出来ません。
 そこで、もう少し>>934の文のように具体的にいっていただくか、もしくは、
 なにか似たようなインジやサイトを教えていただければ、助かります。
よろしくお願いします!
953Trader@Live!:2011/05/29(日) 17:26:17.43 ID:DblEVzCj
>>952
934と自分のソース合体させて完成じゃないの?
954Trader@Live!:2011/05/29(日) 23:05:43.76 ID:unhECbci
>>953
完成ではないです^^;
>>938さんが言ってるように、バッファを増やして、条件を細かくしないと
いけないみたいです!
955Trader@Live!:2011/05/30(月) 00:19:15.34 ID:H0ESzMRA
>>952
http://u3.getuploader.com/mt/download/509/MA_color_test.mq4

動作確認ですが、あらかじめチャートに MA_color_test を設定して、
定型チャート名「tester.tpl」で保存した後、Visual Modeでバックテストしてください。
MA_Period = 1 にすると動作がわかりやすいと思います。
956Trader@Live!:2011/05/30(月) 02:34:24.41 ID:H0ESzMRA
>>950
一番下の条件文は、
誤:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid< AAAlow))ret=-1;
正:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid> AAAlow))ret=-1;
じゃないのかな?
それから足などの値はすべてBidで処理していると思うので、
AskはBidに置き換えた方が良いのではないかと思います。
957Trader@Live!:2011/05/30(月) 04:44:42.79 ID:H0ESzMRA
>>955
iMA引数の記述に誤りがありました
誤:iMA(NULL,NULL,
正:iMA(NULL,0,
958950:2011/05/30(月) 11:37:44.21 ID:w7tvQMIL
>>951
>>956
ありがとうございます。

retの初期値を0にして、Bid基準にしてみます。
帰ったら試してみます。
一番下の条件文はおっしゃるとおりです。

こういったケースは成り行きにせず、足の中、足の上、足の下それぞれのゾーンで指値、逆指値注文にしたほうがいいですかね?
959Trader@Live!:2011/05/30(月) 14:03:18.87 ID:MXICtre9
>>955
ありがとうございます^^
さっそく検証してみます^^
960Trader@Live!:2011/05/30(月) 18:23:50.87 ID:gIQvp2Q1
int start()
{
int cnt,CurrentPosition;
int Ticket;
int a;

CurrentPosition=-1;
for(cnt=0;cnt<OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS);
if(OrderSymbol()==Symbol())CurrentPosition=cnt;
}

double ej=MarketInfo("EURJPY",MODE_ASK);
double aj=MarketInfo("AUDJPY",MODE_ASK);

a=ej-aj;

if(CurrentPosition==-1)
{
if(a>30.0)
{
Ticket=OrderSend("EURJPY",OP_SELL,0.1,Bid,3,0,0,NULL,0,0,Blue);
Ticket=OrderSend("AUDJPY",OP_SELL,0.1,Ask,3,0,0,NULL,0,0,Blue);
}
}
else
{
if(a<25.0)
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Green);
}

return(0);
961Trader@Live!:2011/05/30(月) 18:25:34.57 ID:gIQvp2Q1
言語勉強して二週間、>>960をお試しで作ってみました。ルールはユロ円から羊円を引いた数が30円以上でユロ円1枚S羊円1枚L、25円以下になったら全精算というシンプルなものです。
勝てるルールかどうかは別として、プログラム的におかしいところがありましたらご指摘お願い致します。
エラーは0でした。
962Trader@Live!:2011/05/30(月) 19:29:28.29 ID:IzwIZkPT
>>961
そのコードで全決済(というかユーロと豪ドル両方)できる?
決済もループさせる必要があると思われ。
シンボルで見るよりMAGIC設定したほうが、複数チャートでEA走らせる場合には
いいんじゃまいか?
963Trader@Live!:2011/05/30(月) 19:31:34.07 ID:Bx0yO/9y
>>961
>if(OrderSymbol()==Symbol())
現在EAを動かしているシンボルのポジしかカウントされない。

>a=ej-aj;
double型の演算結果をint型に代入している。intは整数しか扱えないはず。
この条件の場合たいしたバグには成らなそうだが、普段から気をつけておくべき

>OrderClose
OrderCloseは現在OrderSelectしているチケットしかクローズしない。
同時に全クローズ出来ていない
964Trader@Live!:2011/05/30(月) 19:43:25.18 ID:gIQvp2Q1
>>962
やっぱり決済おかしかったですか。
MAGIC設定ですね。そちら勉強してまた組んでみます。ありがとうございましたm(_ _)m

>>963
詳しくありがとうございますm(_ _)m
動作させるまでまだ先は長そうですが、まずは指摘していただいた部分から直して頑張ってみます。
965Trader@Live!:2011/05/30(月) 21:50:26.06 ID:BRTIuVyv
>>961
AUDJPYも売ってるよ(^^;
966Trader@Live!:2011/05/30(月) 22:05:44.39 ID:qLHg5fTX
現在値のラインって消せませんか?オフラインチャートでも現在値のラインが表示
されてるし、グリッド表示させてるからすごい紛らわしいw
967Trader@Live!:2011/05/30(月) 22:11:47.94 ID:gIQvp2Q1
>>965
イージーミスですね(>_<)
ありがとうございます。
968sage:2011/05/31(火) 02:39:42.57 ID:5ngkvZ4V
動的なメモリ確保をする二次元配列の宣言方法を教えて下さいorz
969Trader@Live!:2011/05/31(火) 04:56:03.73 ID:5ngkvZ4V
>>968
ハンドルと連投申し訳ない、MT5です。
970Trader@Live!:2011/05/31(火) 08:41:21.96 ID:faMEXXF4
>>969
double dyn[][5]; //動的
double stc[3][5]; //静的
MT5でも最初の次元しかリサイズできないはず。
どういう動作を期待してるのか分かんないけど、その期待は多分叶わない。

1次元の動的配列を内部に持つクラスと、そのクラスを格納できるコンテナ
クラスという形で書けば、擬似的な動的多次元配列は実現できるけど、シ
ンタックスシュガーは用意されてないんで、関数(インスタンスメソッド)呼び
出しの形になる。

ちなみに、MT4でも*ToStr系の命令を利用して(多少)強引にメモリ確保を
行える。けど、値の出し入れが物凄く非効率なんで、だったらもうファイル
を使うのと変わんないだろ?くらいのパフォーマンスしか得られない。
971Trader@Live!:2011/05/31(火) 09:43:25.91 ID:1QU2VqVc
MQLに係わらず動的は遅いしね。
ゲーム作成ではタブーだって、じっちゃが言ってた。
972Trader@Live!:2011/05/31(火) 12:07:21.14 ID:ZkqSJ05o
FXするのが目的なのに、テトリス作って遊ぶとか馬鹿としか思えんわ>MQL5
973Trader@Live!:2011/05/31(火) 12:08:13.19 ID:5ngkvZ4V
>>970
>>971
やっぱ1次元を使った奴しか無理っぽいですか…
これである程度進む道が決まった気がします。
ご教示、有難うございましたorz
974Trader@Live!:2011/05/31(火) 14:12:01.91 ID:j8VpoPdw
豊嶋先生のオーダーチェック関数MyCurrentOrdersをEA内に組み込む場合、
start() の中に入れるとティック毎にオーダーチェックするということでしょうか?
double allpos1 = MyCurrentOrders(MY_ALLPOS, magic1); とした場合、変数allpos1はティック毎にオーダーの総数を返しているってことですか?

975Trader@Live!:2011/05/31(火) 18:26:37.10 ID:0AXYN5Yo
>>974
返しているというか格納している?
工夫しないと、コードによってはティック毎に鯖に負荷が掛かるので
業者によっては怒られる(無効な口座扱い)可能性もあるとかないとか。
よくしらんけど、というか俺もティック毎にポジ確認してるわw
俺の業者は金入ってる限り大丈夫っぽい。LC喰らって残金0なのにEA回してると
即口座を無効にされたけどwww
976Trader@Live!:2011/05/31(火) 19:38:20.79 ID:607uCaDk
>>974
ポジション数のカウントではサーバーとのやりとりは発生しないんだから、
別に気にするほどのことじゃないと思う。
tickごとにポジション数をカウントするのは無駄と言えば無駄だけど、
tickごとのMA計算は無駄じゃないのかと言われれば…

1分ごととか数tickごとにカウントする工夫もできるでしょうが、たいした
オーバーヘッドでもないしそこまでしなくてもという気がする。
977Trader@Live!:2011/05/31(火) 20:00:38.16 ID:faMEXXF4
>>976
OrderSelectってサーバとやり取りしてないの?
それとも何とか先生のMyCurrentOrdersがサーバとやり取りしてないって話?
もし前者なら俺の自前ライブラリはかなり無駄なことに手間を割いてるorz
978Trader@Live!:2011/05/31(火) 20:03:21.59 ID:PmN6en/K
サーバ側でポジションが変化するとMT4にそのつど通知される。
だからMT4側は毎回毎回サーバに問い合わせなくてもよい。
979Trader@Live!:2011/05/31(火) 20:11:23.40 ID:faMEXXF4
>>978
マジか!?だったらうちの子ダメライブラリだわ('A`)
980Trader@Live!:2011/05/31(火) 20:19:24.68 ID:OmQtCKNc
まあ、よくよく考えてみれば、
OrderSelect() で毎回サーバと通信してたら、
ループの中で使うという基本的な使い方が物凄いトラフィックの原因になりそうだよな。

でも、FXCM系では、レートみたいに自分でリフレッシュしたい気がしないわけでもないが。
981974:2011/05/31(火) 21:50:39.80 ID:IzSl4DAM
>>975
>>976
ど素人だからどの程度の計算までが普通なのかわからんのですw
気にするようなことでもなさそうなので、気にしません。
ありがとです。
982976:2011/05/31(火) 21:56:02.37 ID:0AXYN5Yo
>>978
知らなかったわ。人に教えてるふりして自分が勉強になっちゃいました
(・ω<)テヘペロ
983976じゃなくて975でした:2011/05/31(火) 21:56:57.49 ID:0AXYN5Yo
('A`)
984Trader@Live!:2011/05/31(火) 23:52:28.18 ID:1xuaS/25
海外商品先物の気配値を最も見れるのはどこですか?
985Trader@Live!:2011/06/01(水) 08:15:41.55 ID:zGjnTCbQ
>>984
今のところここかなあ?
豊富にあります。
http://www.brocompany.com/trading-platform/broco-trader/cfd-on-futures/
986Trader@Live!:2011/06/01(水) 09:08:56.38 ID:A2nsvY8u
Broco動け
987Trader@Live!:2011/06/01(水) 09:10:12.67 ID:zGjnTCbQ
今brocoデモ開設してみたけど動いてないね。
988986:2011/06/01(水) 09:18:01.57 ID:A2nsvY8u
自分が表示してるのでは
為替は8時代からとまってる。
先物系は動いてる。
989Trader@Live!:2011/06/01(水) 09:26:53.21 ID:zGjnTCbQ
えっ?
日本時間の8時20分で止まってる。
ESや原油、その他諸々足が更新されてないよ

今確かめたけど、スポットメタルの一部を除いて今の時間帯に売買できる奴は動いてないよ。
990Trader@Live!:2011/06/01(水) 09:31:15.98 ID:zGjnTCbQ
動き始めた。

まあいいや。
Market.comがちゃんと動いてるし、つうか動いてなかったら今日の収入減っちゃうわw
991Trader@Live!:2011/06/01(水) 09:32:21.04 ID:A2nsvY8u
26分から為替も動き始めた。
992Trader@Live!:2011/06/01(水) 10:15:26.75 ID:+64jpDSF
俺のはまだ動いてない・・・もう12時間以上だな
993Trader@Live!:2011/06/01(水) 10:58:15.66 ID:lGuHObcA
苦労してマイシステム作ったけど、BTで売買すらしないw
ほんとこんなんばっかで腹立ってきたw
なんのプログラミング知識の無いヤツが踏み入るには根気が必要なんだな。
長い目でやってみるか
994Trader@Live!:2011/06/01(水) 11:06:06.70 ID:zGjnTCbQ
>>993
StrategyBuilderの操作履歴にエラーが出てると思う。
よくあるエラーでOrder send error131がある。
一度エラーが出てないか確認をした方が良いよ。
995Trader@Live!:2011/06/01(水) 11:08:53.75 ID:fGgxaFhT
>>993
最初は単純なシステムを作ってみて、動かなかったら
そのコードをアップローだにあげて、ここで質問してみたらいい。
996Trader@Live!:2011/06/01(水) 11:23:10.79 ID:lGuHObcA
>>994
>>995
ありがとう。
最初からトレールとか増し玉とか実装せずにオーダーとクローズのみで何が悪いのか見てみるよ。
ハードルが高いのは分かってたけど、あまりにも進歩が見えないので、つい愚痴の一つも言いたくなったのよね。

コードをうpして意見を伺いたいけど、ここまでなんとかなったのでもうちょいがんばってみます。
ホントにギブアップするときはよろしくたのんます。
997Trader@Live!:2011/06/01(水) 16:21:41.65 ID:vegDcy75
2日前IPAD2を買ったんですけど。
メタトレーダーの機能をどうやって利用したらいいんですか?
いろいろ調べたけど、参考に聞かしてください。
( `・ω・´)ノ ヨロシクー
998Trader@Live!:2011/06/01(水) 16:57:19.62 ID:fGgxaFhT
>>997
Windows上でメタトレーダー動かして、リモートデスクトップからログインする
Splashtop Remote Desktop for iPad
http://itunes.apple.com/jp/app/splashtop-remote-desktop-for/id382509315?mt=8
999Trader@Live!:2011/06/01(水) 17:47:36.94 ID:nvy/dWcm
1000!
1000Trader@Live!:2011/06/01(水) 17:51:47.72 ID:nvy/dWcm
1000とったどー!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。