【MT4/5】Meta Trader初心者専用57【EA素人】
■ このスレッドは過去ログ倉庫に格納されています
>>191 リアル口座開かないとメール来ないですよね? >>189 早く大人になりたいので、 どこでアイデア考えるか教えて〜 別にアイデアを教えてっていってるわけじゃないから。 僕はロジックアイデアを考えてると急に海がみたくなる。あとは飛行機に乗って空を見ながらぼーーっとしてるとea組みたくなる >>193 それをリアル口座持ってる人間に聞いても答えられないでしょw 複数のXM MT4を同時起動して使ってますが、 言語設定をそれぞれ日本語と英語に固定しておく方法はありますか? 変更しても、再起動するともう片方と同じ言語になってしまいます。 下記サイトには、 http://d.hatena.ne.jp/fai_fx/20100321/1269097944 >英語で起動させたいMT4 の languages フォルダから、terminal_*.lng ファイルを全て削除 と書いてありますが、情報が古いようで、現在のMT4にはそのようなファイルはありません。 すみません。 1本前の足で、エントリーするか決めるのですが、 エントリーした場合、その1本前の足の安値を逆指値にして、損切りポイントにしたいのですが、 1本前の足で例えばゴールデンクロスなら、買い 1本前の足でゴールデンクロスなら 1本前の足の安値を記録 記録した1本前の足の安値を逆指値に設定 こんな考え方でいいの? もっとシンプルにできそうな気がするんですが。そもそも、エントリーしたときに1本前の安値を取得して、記録してなんてできるんでしょうか? 言葉で書くとわかりにくくてすみません 1本前の高値安値はHigh[1]/Low[1]で参照できるべ >>198 ありがとう。それはわかるけど、 そうじゃなくて、 エントリーしたときの一本前の足安値を記憶させて、逆指値にしたい >>199 エントリする時に設定すりゃいいんだから[1]でいいだろ いつか分からない後で設定したいならこんな感じでやればいい High[iBarShift(NULL, 0, OrderOpenTime())] >>200 あとでやってみる。ありがとう。 年内最後だけど、 mt4で騙しを減らしたいけど、 例えば、移動平均線の角度が緩いと騙しとか、レンジ相場のときには騙しが多いとか言うけど、 eaで、角度が緩いとかきついとか、 レンジ相場か一方通行かとか、 どうやって判定させてるの? >>201 自分でググったりせんの? ググったらそれっぽいのそこそこ出てくるぞ。 検索を工夫すればかなり参考になるのも出てくると思うし。 >>202 検索はしてみたけどなぁ。 角度が緩いゴールデンクロスは騙しが多いのはいろいろ書いてあるけど じゃぁ、角度が緩いのをどう判定させるのかは書いていない。 一番知りたいのは、レンジ相場か一方通行かを機械的に判定させたいけど、 方法がわからない。 あとは高値と高値で線を引きたいけど、 裁量ならともかく、高値をどこに設定するかを判別させるのが難しい みんなテクニカルは勉強するけど、確率統計学は勉強しないんだよなあ そっちが1番重要なのにね、テクニカルなんて学ぶのは1番最後でいい、まずは確率統計学 あとはセンスというか探究心かな >>204 >一番知りたいのは、レンジ相場か一方通行かを機械的に判定させたいけど、 >方法がわからない。 一番キモの部分、それを見つける事が全てと言ってもいい 本当に重要なところはググっても出てこないぞ オレだって見つけた優位性は何年も他言した事はない 仮に答えは「機械的に判断できない」でもいいのだよ じゃどうするか?が、次の課題になるだけ ある程度の情報からヒントを見つけて自分なりに試行錯誤するのがデフォルトだからねぇ… 何故簡単に誰かが教えてくれると思ったのかが謎。 なるほど、どうもありがとう。 やっと独学でea組めるようになったのに、これから儲かるロジックを見つけるのが大変や 水平線を引くのに縦軸の位置を座標で指定する方法がわからない。 調べても価格で指定する方法ばかりで、座標で指定する方法が見つからない。 誰か知っていたらよろしくお願いします。 そもそも座標で引く理由ってなんだ?ちょっとわからん ピクセル座標で直線が引けないというのは、なんだかなぁ〜 何か方法がありそうな気がするんだけど? 水平線ならOBJ_RECTANGLE_LABELでなんとかなるんでね? >>214 やはりそれしかないでしょうか。 両サイドの縦線が邪魔なので何か方法はないものかと・・・ MQL4も一番基本的な直線が引けないというのもなんだかなぁ〜という感じです。 そもそも何がしたいのよ 別に無理して使わなくてもいいんやで だれでも思いつくようなことを (こちらはその程度のことは既にやっていてその上でもっと良い方法がないか訊いている) 上から目線で偉そうに云われてもねぇ〜w じゃあBITMAP使えよ なんでも思い通りにできるぞ あたりまえすぎて話にならない。 あなたもういいよ。 俺が第一感で思いついたのはWin32APIでDC取得して直接描き加える方法だけど 単純にmql4内で描き加えてもMT4が画面を更新すると当然消えちゃうから、サブ クラス化してWM_PAINTを捕まえてMT4が画面を更新する度に描き加えるという 処理を繰り返す必要がある ぶっちゃけタルいw っで、ググっててみつけたのは、OBJ_LABELを極小のドットとして利用する方法 madpaintermql4でググればソースが得られるから線でも図形でも画像でも好き に描けばいい mql4の知識の範囲内だけで実現できるし思いつきさえすればなるほど簡単 そして、これfaiさん作らしい、ホントこの人はもう発想が天才すぎると思ったw faiさんが15年前に歩んだ道を今から通るのかよw 当時はRECTANGLELABELもBITMAPもなかったからなぁ >>223 ダルい以前にウィンドウ構成がbuildで変わったりもするからあまり現実的でもないのよな DLLオンにしてるとそれだけでいやがるバカも多いし >>213 for文で小さな OBJ_RECTANGLE_LABEL� を並べて直線作りましたよ あと MathCos� MathSin� を使って時計も作りましたよ >>227 当面、ピクセル座標で任意の位置に水平線が引ければよかったので、厚み1の矩形を描くことで解決しています。 斜線や曲線が必要な場合、思い出して使わせて頂きます。有難うございました。 そう言えば、CCanvasだかなんだかに直線とか楕円をDDAで描く実装があったな 意外と無駄なとこはがんばってるのなw finexoてとこのMT4使ってるけど 接続状況は繋がってるがチャートは動かない どういうこと? 先月からXMのVersion 4 Build1160になったら、 Period Converterが動くのですが、1度終了して次の日起動したら止まってしまうので、 毎日毎日やりなおさければいけないのですが、解決方法はありますか? Period Converter Optはオフラインチャートすら認識しません。 Win10でMT4のbuild 765を動かしたいのだけど誰か動かしてない? どなたかColseByTimeという関数について知っている方いませんか? 検索してヒットするページが少ないのですが、それだけのことなのでしょうか >>235 公式でヒットしないんだから自作関数でしょ >>236 公式を見てきました。ないですね。 ありがとうございます。 iHighest()で同値の場合に何を返すかを知りたかったんだが、仕様では決まってないのかな もうmqlにリソース割いても報われないよ。見切り付けてpythonにしたほうが良い 座標ではなく価格位置で固定するOBJ_ARROWみたいなオブジェクトから、 マウスドラックで移動後に価格位置を取得する方法ないでしょうか? このタイプはOBJPROP_YDISTANCEで座標位置も戻り値出ないし、 表示中のライン等やデータウインドウにも情報が出ないのでObjectDescriptionでも 拾えないです。 分かる人いますか? OBJPROP_TIME1/PRICE1じゃいかんのけ? できました ObjectGetInteger()の方でずっとやってたので 古いObjectGet()でやったら出来ました 有難うございました じゃなくて、ObjectGetDouble()です もちろん出ませんでした ちゃんと取れるやんけ GetDouble使うならENUM_OBJECT_PROPERTY_DOUBLEのid使え はじめまして、こんにちは MT4のMetaEditorにて ボタンを押すと通貨が変わるなどの動作をするプログラムをつくり ボタンやラベルを作成して、ボタンをおす動作確認をしているのですが 定期的に、動かなくなります。 エラーを見るとこのようになっています どうやら、 EURGBPを開いた後に、CADJPYなど違う通貨にするさいにエラーがでるみたいなのですが 2019.01.10 17:04:28.480 testbotton8 EURGBP,H4: 25 objects of type CArrayInt left 2019.01.10 17:04:28.480 testbotton8 EURGBP,H4: 25 undeleted objects left これはどういう意味でしょうか? どのようにしたら、解決するのでしょうか? ぜひともご教授ください MT4 ver1170 そのエラー自体はnewしたオブジェクトをdeleteしてないってことじゃないの 通貨変えるとOnDeinit->OnInitと走るから しかし、そもそもCxxはちょっと前まで通貨変えたり再起動とかするとおかしくなってた気がするけど直ったんかね >>251 ありがとうございます。この関数は排除することで解決にしました^^ もう一つ質問なのですが、 ExpertAdviserにて、何も記述していなくて @ Ondenit のところにコメント関数を書きます。 void OnDeinit(const int reason) {Comment("test"); } A それでChangePair系のインジケーターを使うと すごい処理が重たくなります いろんなChangePairを拾って試したのですが なぜか、OndenitにObjectDeleteやComment関数など 使うと、すごい処理が重たくなります なぜでしょうか?バグですかね? チャートを画像保存した後に画像を開かないようにしたいんだけどどうしたらいいの? >>254 ChartScreenShot(...)関数を呼ぶだけのスクリプトを書くとか? OrderSendのスリッページを0にしても、指定したレートより不利に約定します。なぜでしょうか? そういう場合はリクオートさせたいのですが、どうすればいいでしょうか? そんなことできるわけねーべ そもそもslippageはMarket Executionの業者じゃないと意味ないぜ >>259 ありがとうございます 業者はNDDの外為ファイネストですが、今HPを見たら、 「※当社MT4・ZEROは「Market Execution (カウントダウン)」方式のため、スリッページ値が設定されているEAで取引した場合でも、 スリッページの設定は無視されますのでご注意ください。」と書いてありました レートを読み上げる、pricetalkerみたいなのありましたら教えてください。 有料のでもいいですし、サイトでもいいのですが、数年前から使えなくなって困ってます。 レート読み上げって需要無いのですかね? みなさん、ずっとチャートを眺め続けているのでしょうか??? SofTalkはAques使ってんのになんでわざわざSofTalkのexe呼んでるのかね 重くなるだけやん 誰か教えて下さい! MT4のチャートで「ロウソク足」ではなく「ラインチャート」にした時、 ラインの色や太さを変えることはできるのでしょうか? というか色を変えるだけならプロパティで設定できるな ラインの色をNoneにして1期間MAを表示すれば点線にもできるな >>266 >>267 プロパティで色を変えることができました。 ありがとうございました。 >>263 とっても、すごく、ありがとうございます!!!! ビッグ感謝いたします!!! TRYJPYの取り扱いがあってスプがあまり広がらないMT4のデモ口座やってる所を教えてください 今まで試した所 XMはTRYJPYの取り扱いなし FXTFはhttps://i.imgur.com/fW4SZ20.png OANDAはスプガバでチャート飛びまくり 移動平均のゴールデンクロスで エントリー決済の、パロメーターを調整したら、 2012年からバックテスト回して pf=2.0になったけど、 ルールが単純すぎるからこれで本当に良いのか怖い。 だいたい、2012年〜いろんな出来事があったけど、6年分もテストする意味があるのだろうか。 統計を独学で学んで、計算通りなら 安定して利益でそうだけど怖い デモも設定甘いから信用できない。 >>262 昔、図書館で借りたヘッジファンド密着みたいなDVD借りたけど、 家庭でbgmみたいに、ずっとレートの読み上げされてたけど、 見てるだけで気が狂いそうだったわ。 まだ、携帯も普及してなかったのか ポケベルみたいなので、レートチェックしてた >>275 期間もそうだがトレード数が重要 6年やっても数百回レベルならカーブフィッティングの可能性が高い >>277 年30回くらいだったかな。pc開くのめんどい。3〜4日にいっぺんくらいエントリーして、翌週にはしまうくらいの頻度。×6年分 バカのなんとかみたいに、統計の本に書いてあることを真似て計算してみて、 本数が少ないから、様子見が必要だけど利益が出そうではある。 質問じゃないのはわかってるよ。ただ、不安だから書いてるだけ。 前回は、カーブフィッティングで見事にやられたから トラウマなんだよね。 前回は、停止したタイミングもあれで良かったのか確信が持てなかったけど。 MT4に対応していないFX業者で自動で取引するのにAlt+AやAlt+Bなどのキー操作を出力したいのですが、MT4のみで可能でしょうか? ググってもEventChartCustom関連しか引っかからないけどもうちょっと探してみます バックテストの結果をcsvかexcelで落としたいのですが、できますか? 現状、レポートをダウンロードして、 webブラウザで開いて、コピーして、 excelを立ち上げて 貼り付けて、グラフを消して 大変手間です。 >>282 自分の場合は、 OnDeinitに、テストモードの場合、 FileOpenとFileWriteで必要な項目を書き出すようにした。 その部分のコードだけ独立させてスクリプトも作った。 MT4に平行チャネルラインのショートカットはありますでしょうか 次のようなことを考えていますが難しそうで手に負えそうもありません。 だれかヒントだけでも、あるいはそんなインジはすでにどこどこにあるよと教えてくれると有り難いです。 よろしくお願いします。 ------- ドル円の時間軸の異なる3枚のチャートが表示されているとします。 例えば左から、M30,H1,H4. このとき、どれかのチャートに十字カーソルを表示して動かしたとき、 他の2枚のチャートにもカーソルが出現して同じ時刻を示すように動く。 -------- カーソルが出るのは知らんが、SyncChart系はいくつかあるね >>287 たしかにいくつかありました。 そのうち、HT-FXさんのHT Crosshair Syncがピッタリのようです。 もうすこし詳しく見てみます。 こんなに早く解決するとは思いませんでした。 有難うございました。 アプリ版のMT5で同ペアの時間足違い分割チャートで片方にライン引いたらもう片方に自動で反映ってできないよね? MT4を終了したときにEAから発注したオーダーをキャンセルしたいのですが、 以下のようにOnDeinit関数の中に処理を入れてもうまく動きませんでした。 どなたか解決策をご存知の方がいればご教示頂きたいです。 コード ========================================= //+------------------------------------------------------------------+ //| OnDeinit(アンロード)イベント | //+------------------------------------------------------------------+ /* void OnDeinit(const int reason) { string text=""; switch(reason) { case REASON_ACCOUNT: text="Account was changed"; break; case REASON_CHARTCHANGE: text="Symbol or timeframe was changed"; break; case REASON_CHARTCLOSE: text="Chart was closed"; break; case REASON_PARAMETERS: text="Input-parameter was changed"; break; case REASON_RECOMPILE: text="Program was recompiled"; break; case REASON_REMOVE: text="Program was removed from chart"; break; case REASON_TEMPLATE: text="New template was applied to chart"; break; case REASON_CLOSE: // 現在アカウントで保有しているポジション数分ループ処理を行う for ( int i = OrdersTotal()-1 ; i >= 0 ; i--) { // 注文プールからエントリー中の注文を選択する if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) { break; // 注文選択に失敗したらループ処理終了 } // 選択した注文の通貨ペア名を取得し、現在チャートの通貨ペア名と一致しているかチェック // 選択した注文のマジックナンバーを取得し、このEAのマジックナンバーと一致しているかチェック // 上記の両方の条件に一致した場合のみif文内の処理を行う if( OrderSymbol() == Symbol() && OrderMagicNumber() == MAGICNUM) { if (OrderType() == OP_BUYLIMIT || OrderType() == OP_SELLLIMIT){ res = OrderDelete(OrderTicket()); } } } break; default:text="Another reason"; break; } } >>290 そこまでコードあるならデバッグprint入れてどこがおかしいのか調べられるだろ もう少しどこがおかしいのか絞れ >>291 大変失礼しました。 Ondeinit関数の「case REASON_CLOSE:」の条件では res = OrderDelete(OrderTicket()); の部分が失敗します(resの値が0になります) それ以外の、例えば「REASON_REMOVE: 」の 条件で同じ処理をすると正しくオーダーが削除されます。 「case REASON_CLOSE:」の条件ではオーダーを削除 する方法が知りたいです。 エラーが起きてるならGetLastError()でどういうエラーか見ろよ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる