【MT4/5】Meta Trader初心者専用59【EA素人】
■ このスレッドは過去ログ倉庫に格納されています
>>466
年に2〜3$?
月に10$とかじゃなくて? うん。
1時間0.01ドル
電気代にもならない。
そして使われることほぼない。
ブログとかでまとめてる人いるよ。 それでもかなり前に2倍になったんだよな
前は気にせず使ってたけど今だと10万近くかかるんでそう気楽には使えんな > 1時間0.01ドル
泣けてくる。・゚・(ノ∀`)・゚・。 それ、基準CPUあたりだろ?
最近の32コアとかなら何十倍かもらえるんじゃね? MT5って両建て出来ないのか
ダメだなこれ使えない、もうMT6に期待でいいや かなり不評でだいぶ前にサポートはされたでしょ
両建てできるかは業者次第 >>474
そうなんですね、ありがとうございます!
ただそれでもまだMT5行くならcTrader行くかな自分的には、といっても現状mt4で必要十分かなあ cTraderに対応してる業者って海外業者だけだし
そもそも絶対数多く無いよね というか、国内業者なんてゼロカット無し低レバの時点で話しにならないし、自分的には自分がコレと思った業者がメインとサブの2つあれば十分なので絶対数の多さなんてどうでもいいです 手入れ場は確かに問題だけど法律があるからしょうがない
それよりゼロカットとか頼るトレード手法ってどうよ?
要は低資金でハイレバでリスクを取らないワンチャン一攫千金トレードをしたいってことなんだろうけど
あまりやり過ぎると業者から睨まれない? ゼロカットに頼る訳じゃなくて、スイスショックみたいので借金背負うのがあり得ないだけ
リスク管理出来てないハイレバは必ず口座破綻するのでそんな事やってる奴らの事は知らない
25倍だと適性なレバをかけられなくて資金効率が悪過ぎるって話し ついでに言うと、アビトラはともかくハイレバや極端なスキャとかで文句言って来る業者も問題外 MT4ダウンロードして登録も済ませたけど全然チャート動かへんし
30分くらい苦しんで消耗してから、あ、今日土曜日やったわ
って気がついたわ エクセル加工して1分足データ1年分取り込めた
手元には10年分ある
データ加工が地味にめんどいからxlwingsで自動化するかとおもったが、そもそも一回取り込んだら終わりだからそんな手間不要かな
さてここからが本番
初めてのmql5なんで
どうぞよろしく\(^o^)/ >>486
以前MT4から足のデータをcsv出力してカスタム銘柄としてMT5に取り込んだことはある >>487
MT5ってたしかスプレッド情報もデータの中に含まれてるんだよ
そこがMT4と大きく違う点
MT4用のヒストリカルデータってたいていスプレッド情報はそぎ落としたもので(BIDのみとか)
そういうスプレッド情報が欠落した外部データをMT5で読み込んで使っても
MT5使う意味が見いだせないなぁ、と みんなMT4がいいって言うから使ってみたんだけど
これ本当に良いソフトなの?
使い勝手を良くしようとしたら、とにかく誰かが作ったインジ入れろって感じ
んで、入れてみたけど変化なし
注文の仕方がとにかくわかりづらい
まだデモだけど注文しようとする度に手間取ってる
超わかりやすい全決済ボタンつけてくれ
いつのまにか約定していても画面でパッと見わかりにくいし 自分で学んでカスタマイズできない人には向いてないかな。 .mq4 で配布されているソースコードなんですが、
デフォルトで適用されるライセンスってあるのでしょうか?
ソースコードにライセンスが明記されていなくて、作者にも音信不通な状態です
改変したソースコードをを再配布したいんだけど
ライセンス的にどういう扱いになるのでしょうか?
明記されていなければ、ライセンス不明で改変、再配布不可なのでしょうか?
それとも基本的に GPL V2.0 or BSD ライセンス or MIT ライセンス
に準じるとかあるのでしょうか? >>494
そんな基本あるわけないだろw
著作権は著者が誰だろうが存在してるので著者の許可がなければ勝手に公開するだけで違法
普通の著作物と同じ扱いだ。文化庁のページでもみとけ >>495
まさにそのとおりなんですが、公式で公開されてるソースコードすらライセンス不明だったので、
明記されていない場合は暗黙として適用されるライセンスがあるのではないかと思った次第です
いくつかあるインジケータ保管庫のようなサイトで無改変なソースが再配布されているのですが、
これらもすべて違法ということでしょうか? 親告罪だから公訴されないだけでしょうか?
というか、暗黙のライセンス適用がないならば作者の方はライセンス明記をお願いしたいです だから何も書かれてないなら著作権法通りってことだろ
公式ならどっかのページにライセンスなり書いてあるんじゃねーのか
そもそもライセンスと著作権は別だけどな
何勝手に作者に要求突きつけてるんだよwww 同時期に何もいじってないのにモバイル版の気配値表示画面の通貨ペアが勝手に変わって
PC版では音声全オフにしてるのになぜか接続ONOFFだけ鳴るみたいな状況なったんだけど他にそんなことなったひといます? MT5のoninitで指標の値をバッファに詰めたらEA稼働時しか値が入らないであってます?
Ontickの中で1分とか1時間に1回値をセットするようにすれば狙った時間毎に指標が更新される、という理解であっていますか? >>500
MT4ならその理解でいいと思うけど、5は違うのですか?
MT5のONintが初期化以外に動作するなら話は別ですが… ライン引いて引いて引いて、
あれこの線なに?ぐっちゃぐちゃなってわけわかんない
もう本日のサポレジはここ!トレンドはこう!
て自動でやってくれる介護インジとかないですかね >>502
それこそ裁量でやった方が早くない?
的確にそれが出来るメソッドがあるなら、組み込んでEA作ってみたいわ mt5のEAの作り方を解説してるサイトとかあります? MT4だがチャートが更新したときにTrueを返す関数は以下だ
bool isChartUpdated(string symbol, int timeframe) {
static datetime beforTime;
datetime time = iTime(symbol, timeframe, 0);
if(beforTime == time)
return false;
BeforTime = time;
return true;
} datetimeって秒までだっけか、ミリ秒までだっけか >>506
mt4ならそうです
msec取得するにはGetTickCount()を使用せねばならんと思います ソースコードよりメソッドが欲しい…って最終的にはならないか?
メタエディタカタカタやる時間よりも、ホワイトボードや電子パッドに着想を思うままに書き殴ってる時間の方が全然長い… 当然アイデアの方が重要でしょ。
プログラミングなんて代行させればいいわけだし、高くついても稼げるアイデアならすぐに元は取れるしな。 MT4のツールチップがウザくて邪魔
調べて一部インジケーターは「SetIndexLabel(0, "");」で消せたんだけど右クリックでプロパティ画面が出せなくなった
カーソルが通るだけでいちいち吹き出しみたいに出るのが邪魔だったんでそれを止めたかっただけなんだが
ろうそくにかかると出る、誰も聞いてないタイム高値安値ボリュームのやつはHeikinAshiかなと思ってやったんだけど消せなかった(Label1とか2とかある)
今一番迷惑してるのが下の通貨ペアタブを変える時に出るタブのツールチップと「横軸目盛」と出るどーでもいいツールチップで通貨ペア7つ入れて切り替えるたびに邪魔されてます
通貨ペアタブってどんなオブジェクトか知ってる人いますか?
ObjectSetString (0, name, OBJPROP_TOOLTIP, "\n");
を入れると消えるそうなんですが、具体的にやり方わかる人いたら教えてください
nameってこれオブジェクト名ですよね
それともそのままでいいんですかね? >>498
>親告罪じゃなくなった
これってさ、作った本人が皆さんで共用しましょうと言ってるのに
関係ない奴が権利主張して金よこせと言うようなものだろ
チンピラがタカリに使う言い訳としか思えない そんなの気にしたこともないな
(ちなみに通貨ペアタブはオブジェクトでも何でもないから
ObjectSetString()は使えない)
たぶんPCのスペック上げれば気にならなくなると思う
それでも気になるなら、ちょっと神経質かな MT4のバックテストで利益出てるし実口座でもほぼそれを実証する結果出てるEAなのにMT5に組み直してバックテストすると全く同じ条件、期間だろうが、特に良い期間だけ抜粋しようが利益がどうしてもプラスにならない。何か原因とな理想なものありませんか? そんなのそれぞれ売買のイン、アウトの価格を比較して差異を見つければいいじゃん >>510
代行つうかアイデアを正確に他人に伝える事がどれだけ大変か
たいがいは発想者の考えと代行者の理解の間に違いがあって隙間を埋めるのに相当な時間がかかる
自分で書いた方が早いわってことになる ローソクの前日比をチャート上にテキスト表示するために
DoubleToStr(Close[1] / Close[2] , 3)を使ったんですが表示されません。
割り算の部分を足し算や掛け算に変えたら表示されます。
恐らく小数点の桁が大きすぎるからだと思います。
対策をお願いします。 while (pos>=0) {
double bar_range = (Close[pos] / Close[pos+1]);
ObjectCreate(PatternText[pos], OBJ_TEXT, 0, Time[pos], Low[pos]);
ObjectSet(PatternText[pos], OBJPROP_YDISTANCE, 200);
ObjectSetText(PatternText[pos], DoubleToStr(bar_range, 3), 10, "Verdana", col1);
BufferRange[pos] = bar_range;
pos--;
}
コレの2行目の/を+や*にすると機能するのに、/だけうまくいかないと言う意味です
よろしくお願いします 適当に言うけど、桁数が大きいだけなら、3行目に、NormalizeDoubleかましたら? というか、Close[pos] / Close[pos+1]の部分を3 / 5とかにしてもダメでした うまく行かないというのはエラーじゃなくて結果が1.000とか0.000になるとか?
3/5は整数同士だから0を返すはず、3.0/5にしてみたら0.600になると思う
で、Close2つの値が近すぎて割り算の結果が0.9999912とかになってて文字列に変換するときに1.000になってるのでは
試しに桁数を8桁くらいにしてみれば 返信ありがとうございます
うまくいかないというのは、そもそも数字が描画されない状態です
足し算や掛け算では普通に数字が描画されます
桁数を変えてみても同じでした 動くものを上げろよ... 問題が再現できる最小限にしてな
一部だけでごちゃごちゃ言っても時間の無駄でしかない。 なんだろなやってみたけど普通に表示できる
考えたんだけど、オブジェクト名に使ってるPattenTextって配列の中身にもDoubleToText(bar_range,3)とか使ってないだろか
それなら割り算だと名前被りまくりでほとんどは表示されないし足し算掛け算ならほぼ違う値になるからだいたい表示される int init()
{
//---- indicators
// IndicatorBuffers(1);
SetIndexStyle(0, DRAW_ARROW, 0, 1);
SetIndexArrow(0, 172);
SetIndexBuffer(0,BufferRange);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if (counted_bars < 0) {
return(-1);
}
if (counted_bars > 0) {
counted_bars--;
}
int pos = Bars-counted_bars;
string PatternText[5000];
for(int j = 0; j < Bars; j++)
{
PatternText[j] = "pattern-" + j;
}
while (pos>=0) {
double bar_range = (High[pos] - Low[pos]);
ObjectCreate(PatternText[pos], OBJ_TEXT, 0, Time[pos], Low[pos]);
ObjectSet(PatternText[pos], OBJPROP_YDISTANCE, 200);
ObjectSetText(PatternText[pos], DoubleToStr(bar_range, Digits), 10, "Verdana", White);
BufferRange[pos] = bar_range;
pos--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
コレが元です
連投失礼 問題は割り算じゃねぇーだろ。
表示の問題だろ?printして見ろよ。 >>526
コレですじゃねーんだよ。
コンパイルできるかくらい確認してから貼れ お付き合い頂き感謝します
>>526にあげたのはフリーの拾い物です
これを改造して、前回の足からの変動比率を表示させたいと考えています
そこで
double bar_range = (High[pos] - Low[pos]);
を
double bar_range = ((Close[pos] / Close[pos+1] - 1) * 100 );
に変えたところ文字が表示されなくなってしまいました それ引き算割り算の問題じゃなしにBarカウント数以上の終値計算しようとしてエラーなってるだけちゃうん strictでなければBarオーバーでも落ちないが、0割りで落ちてるだけだな 確実性の高いヒントを頂いた気がしますが私には難しい話です
MQLについてのサイトはいくつか知っていますが、どの項を参照すればいいでしょうか 結局、Double型も割り算も全く問題なかったのか。 >>534
バーが全部で1000個だとして1001個目のCloseを計算しようとしてるぽい、更に改造で(pos+1)1002個目のCloseで割ろうとしてるからエラー
だからint posのとこで-2しとけばよくね
てことだよね? 解答してくれた人たちありがとう
>>536で解決しました 通貨ペアごとにレバレッジが個別に設定されてますが、開いてるチャートのペアのレバレッジの値を取得できますか? 口座じゃなくて通貨ペアごと?そんな設定できる業者あるの? そういう業者は普通にある。以下XMのサイトから
全ての口座タイプを対象に、MT4およびMT5プラットフォームにおけるEURDKK、EURHKD、GBPDKK、USDDKK、USDHKD、USDCNH、EURRUBおよびUSDRUBのレバレッジは、最大1:50とし、USDTRYおよびEURTRYは最大1:100とします。 そうだったんだ知らんかった
MT4から確認する方法はないぽい? >>541
AccountLeverage()じゃ取得出来ないのかな? >>543
うーんややこしいな
Symbol固有のレバか SymbolInfoDouble(Symbol(), SYMBOL_MARGIN_INITIAL)
あたりで計算できるんじゃないかな、知らんけど MarketInfo(_Symbol, MODE_MARGINREQUIRED)
これかな >>546は必要証拠金だったわ
double Lev=(double)AccountInfoInteger(ACCOUNT_LEVERAGE);
double Lot=MarketInfo(_Symbol,MODE_LOTSIZE);
double x1=Ask*Lot/Lev;
double x2=MarketInfo(_Symbol,MODE_MARGINREQUIRED);
x1とx2が同じになる ポジション持つとチャートに水平線が引かれて、それをクリックしながら上下に動かすと何pipsで何円の利益って表示されるけど
あれをポジション持たずにやる方法あるかい >>548
十字カーソルにしてドラッグかな
足数/ピップス/レートが表示されるが MT5 Strategy Tester
これをインストールして小銭稼いでたんだけど
3月末を境になぜかすべてのPCで無効化されてしまった
年度超えられないんだっけ? すごい単純に前日比を表示させたいんだけど、
前日比の値を取得する関数ってあったりしますか?
それとも、なんか計算しないとダメなんですかね?
前日の終値とか取得できたりしますか? iClose(Symbol(),PERIOD_D1,1) >>552
ありがとうございます。
もうひとつ聞きたいのですが、
MT5でインジケータ作成しているのですが、
OnCalculate内の処理が何故か動かないケースがあり、
調べていくとポジションを持ってるチャートはティック事に処理され、ポジションを持ってないチャートだと、
init時のみ実行されてる事が分かりました。
これって何かinitになにか記載してないと処理されないのでしょうか。
ttps://www.mql5.com/ja/docs/event_handlers/oncalculate >>553
> ポジションを持ってないチャートだと〜
そんな事はどこにも書いてないだろ。 ありがとうございます。
もっと追ってみたら
Oncalcate 自体の処理はされてましたが、
CChartObjectLabelで定義したラベルを
Oncalcateで例えば以下のように内容を変更しようとした時に、何故かロット持ってるチャートだけしか反映されないだけでした。
オブジェクト名.Description(”test”);
https://www.mql5.com/ja/docs/standardlibrary/chart_object_classes/obj_controls/cchartobjectlabel
前日比をチャート上にリアルタイムで表示するためにラベル使おうとしてたんですが、 思い込みが激しいようだから取り合えずコードを貼ってくれよ。 >>556
すみません。
デバックしてたら、恐らくnullをラベルに入力するケースがあり、原因はそれでした…。
エラーも出ずほかのラベルも巻き添いに無効化されていたので気づきませんでした。 iPhoneで使ってるmt4の
フィナボッチの色の変え方教えて欲しいです
色を変えると範囲を指定するためのラインの色が変わります
変えたいのは水平ラインの色と数字の色です。
よろしくお願いします >>558
Androidだけど、レベルの編集の一番下 >>559
はい。写真で言うと色が変わるのが場所を支持する赤い線だけなんです。
いまフィボの水平線と数字が青で見づらくて。 教えてください。ブローカーからのMT4宛にくるメールの通知を止める方法ないですか?
incoming mailってなってタブも勝手に切り替わって煩わしい事この上ない。。 ごめん全然届かないからさっぱりだ
今メールタブみたらずーっと前にMT4インストールしたときのようこそがトップのままやったw スマホのアプリではログインできてるのにタブレットの方はログアウトされててログインするにも認証出来ないって出る 20210503.log
0 23:00:01.627 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:03.879 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:06.168 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:08.376 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:10.615 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:12.818 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:15.036 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:17.244 01901_USDJPY_1h USDJPY,H1: error code=129
(略)
0 23:35:59.479 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:01.658 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:03.854 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:06.036 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:08.212 01901_USDJPY_1h USDJPY,H1: error code=129
2 23:36:10.541 01901_USDJPY_1h USDJPY,H1: close #47341890 buy 0.01 USDJPY at 109.290 at price 108.915
某R店で自動売買始める
OrderClose()==falseの場合 Sleep(2000); Refreshrates(); OrderClose(); を繰り返すコード
36分後にやっと約定
36分ってなあ、スキャなんて無理じゃん ■ このスレッドは過去ログ倉庫に格納されています