【MT4/5】MetaTrader初心者専用25【ゆとり隔離スレ】
952 :
Trader@Live!:2011/05/29(日) 13:21:51.37 ID:unhECbci
923です。
>>929 お早い対応ありがとうございます。
Print(〜);デバッグやってみます^^
>>938 アドバイスありがとうございます^^
ですが、せっかくのアドバイスなのですが、今の私では上手く扱うことが
出来ません。
そこで、もう少し
>>934の文のように具体的にいっていただくか、もしくは、
なにか似たようなインジやサイトを教えていただければ、助かります。
よろしくお願いします!
>>952 934と自分のソース合体させて完成じゃないの?
954 :
Trader@Live!:2011/05/29(日) 23:05:43.76 ID:unhECbci
>>953 完成ではないです^^;
>>938さんが言ってるように、バッファを増やして、条件を細かくしないと
いけないみたいです!
>>950 一番下の条件文は、
誤:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid< AAAlow))ret=-1;
正:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid> AAAlow))ret=-1;
じゃないのかな?
それから足などの値はすべてBidで処理していると思うので、
AskはBidに置き換えた方が良いのではないかと思います。
>>955 iMA引数の記述に誤りがありました
誤:iMA(NULL,NULL,
正:iMA(NULL,0,
958 :
950:2011/05/30(月) 11:37:44.21 ID:w7tvQMIL
>>951 >>956 ありがとうございます。
retの初期値を0にして、Bid基準にしてみます。
帰ったら試してみます。
一番下の条件文はおっしゃるとおりです。
こういったケースは成り行きにせず、足の中、足の上、足の下それぞれのゾーンで指値、逆指値注文にしたほうがいいですかね?
959 :
Trader@Live!:2011/05/30(月) 14:03:18.87 ID:MXICtre9
>>955 ありがとうございます^^
さっそく検証してみます^^
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);
言語勉強して二週間、
>>960をお試しで作ってみました。ルールはユロ円から羊円を引いた数が30円以上でユロ円1枚S羊円1枚L、25円以下になったら全精算というシンプルなものです。
勝てるルールかどうかは別として、プログラム的におかしいところがありましたらご指摘お願い致します。
エラーは0でした。
>>961 そのコードで全決済(というかユーロと豪ドル両方)できる?
決済もループさせる必要があると思われ。
シンボルで見るよりMAGIC設定したほうが、複数チャートでEA走らせる場合には
いいんじゃまいか?
>>961 >if(OrderSymbol()==Symbol())
現在EAを動かしているシンボルのポジしかカウントされない。
>a=ej-aj;
double型の演算結果をint型に代入している。intは整数しか扱えないはず。
この条件の場合たいしたバグには成らなそうだが、普段から気をつけておくべき
>OrderClose
OrderCloseは現在OrderSelectしているチケットしかクローズしない。
同時に全クローズ出来ていない
>>962 やっぱり決済おかしかったですか。
MAGIC設定ですね。そちら勉強してまた組んでみます。ありがとうございましたm(_ _)m
>>963 詳しくありがとうございますm(_ _)m
動作させるまでまだ先は長そうですが、まずは指摘していただいた部分から直して頑張ってみます。
966 :
Trader@Live!:2011/05/30(月) 22:05:44.39 ID:qLHg5fTX
現在値のラインって消せませんか?オフラインチャートでも現在値のラインが表示
されてるし、グリッド表示させてるからすごい紛らわしいw
>>965 イージーミスですね(>_<)
ありがとうございます。
968 :
sage:2011/05/31(火) 02:39:42.57 ID:5ngkvZ4V
動的なメモリ確保をする二次元配列の宣言方法を教えて下さいorz
>>968 ハンドルと連投申し訳ない、MT5です。
>>969 double dyn[][5]; //動的
double stc[3][5]; //静的
MT5でも最初の次元しかリサイズできないはず。
どういう動作を期待してるのか分かんないけど、その期待は多分叶わない。
1次元の動的配列を内部に持つクラスと、そのクラスを格納できるコンテナ
クラスという形で書けば、擬似的な動的多次元配列は実現できるけど、シ
ンタックスシュガーは用意されてないんで、関数(インスタンスメソッド)呼び
出しの形になる。
ちなみに、MT4でも*ToStr系の命令を利用して(多少)強引にメモリ確保を
行える。けど、値の出し入れが物凄く非効率なんで、だったらもうファイル
を使うのと変わんないだろ?くらいのパフォーマンスしか得られない。
MQLに係わらず動的は遅いしね。
ゲーム作成ではタブーだって、じっちゃが言ってた。
FXするのが目的なのに、テトリス作って遊ぶとか馬鹿としか思えんわ>MQL5
>>970 >>971 やっぱ1次元を使った奴しか無理っぽいですか…
これである程度進む道が決まった気がします。
ご教示、有難うございましたorz
豊嶋先生のオーダーチェック関数MyCurrentOrdersをEA内に組み込む場合、
start() の中に入れるとティック毎にオーダーチェックするということでしょうか?
double allpos1 = MyCurrentOrders(MY_ALLPOS, magic1); とした場合、変数allpos1はティック毎にオーダーの総数を返しているってことですか?
>>974 返しているというか格納している?
工夫しないと、コードによってはティック毎に鯖に負荷が掛かるので
業者によっては怒られる(無効な口座扱い)可能性もあるとかないとか。
よくしらんけど、というか俺もティック毎にポジ確認してるわw
俺の業者は金入ってる限り大丈夫っぽい。LC喰らって残金0なのにEA回してると
即口座を無効にされたけどwww
>>974 ポジション数のカウントではサーバーとのやりとりは発生しないんだから、
別に気にするほどのことじゃないと思う。
tickごとにポジション数をカウントするのは無駄と言えば無駄だけど、
tickごとのMA計算は無駄じゃないのかと言われれば…
1分ごととか数tickごとにカウントする工夫もできるでしょうが、たいした
オーバーヘッドでもないしそこまでしなくてもという気がする。
>>976 OrderSelectってサーバとやり取りしてないの?
それとも何とか先生のMyCurrentOrdersがサーバとやり取りしてないって話?
もし前者なら俺の自前ライブラリはかなり無駄なことに手間を割いてるorz
サーバ側でポジションが変化するとMT4にそのつど通知される。
だからMT4側は毎回毎回サーバに問い合わせなくてもよい。
>>978 マジか!?だったらうちの子ダメライブラリだわ('A`)
まあ、よくよく考えてみれば、
OrderSelect() で毎回サーバと通信してたら、
ループの中で使うという基本的な使い方が物凄いトラフィックの原因になりそうだよな。
でも、FXCM系では、レートみたいに自分でリフレッシュしたい気がしないわけでもないが。
981 :
974:2011/05/31(火) 21:50:39.80 ID:IzSl4DAM
>>975 >>976 ど素人だからどの程度の計算までが普通なのかわからんのですw
気にするようなことでもなさそうなので、気にしません。
ありがとです。
982 :
976:2011/05/31(火) 21:56:02.37 ID:0AXYN5Yo
>>978 知らなかったわ。人に教えてるふりして自分が勉強になっちゃいました
(・ω<)テヘペロ
('A`)
984 :
Trader@Live!:2011/05/31(火) 23:52:28.18 ID:1xuaS/25
海外商品先物の気配値を最も見れるのはどこですか?
Broco動け
今brocoデモ開設してみたけど動いてないね。
988 :
986:2011/06/01(水) 09:18:01.57 ID:A2nsvY8u
自分が表示してるのでは
為替は8時代からとまってる。
先物系は動いてる。
えっ?
日本時間の8時20分で止まってる。
ESや原油、その他諸々足が更新されてないよ
今確かめたけど、スポットメタルの一部を除いて今の時間帯に売買できる奴は動いてないよ。
動き始めた。
まあいいや。
Market.comがちゃんと動いてるし、つうか動いてなかったら今日の収入減っちゃうわw
26分から為替も動き始めた。
992 :
Trader@Live!:2011/06/01(水) 10:15:26.75 ID:+64jpDSF
俺のはまだ動いてない・・・もう12時間以上だな
苦労してマイシステム作ったけど、BTで売買すらしないw
ほんとこんなんばっかで腹立ってきたw
なんのプログラミング知識の無いヤツが踏み入るには根気が必要なんだな。
長い目でやってみるか
>>993 StrategyBuilderの操作履歴にエラーが出てると思う。
よくあるエラーでOrder send error131がある。
一度エラーが出てないか確認をした方が良いよ。
>>993 最初は単純なシステムを作ってみて、動かなかったら
そのコードをアップローだにあげて、ここで質問してみたらいい。
>>994 >>995 ありがとう。
最初からトレールとか増し玉とか実装せずにオーダーとクローズのみで何が悪いのか見てみるよ。
ハードルが高いのは分かってたけど、あまりにも進歩が見えないので、つい愚痴の一つも言いたくなったのよね。
コードをうpして意見を伺いたいけど、ここまでなんとかなったのでもうちょいがんばってみます。
ホントにギブアップするときはよろしくたのんます。
997 :
Trader@Live!:2011/06/01(水) 16:21:41.65 ID:vegDcy75
2日前IPAD2を買ったんですけど。
メタトレーダーの機能をどうやって利用したらいいんですか?
いろいろ調べたけど、参考に聞かしてください。
( `・ω・´)ノ ヨロシクー
1000!
1000とったどー!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。