【MT4/5】MetaTrader初心者専用43【ゆとり隔離スレ】
初心者Q&A
Q: Vista、Windows7で動かないのですが?
A: 以下を試してみてください。
1 [コンピュータ]を右クリック。[プロパティ]を選択
2 [システムの詳細設定]を選択
3 [詳細設定]タブをクリック
4 [パフォーマンス]の[設定]をクリック
5 [データ実行防止]タブをクリック
6 「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする
7 okをクリック
8 OSを再起動
※ Vista/Win7 の場合、C:\Program Files 以外の場所(C:\MT4 以下)にインストールするのが便利です。
Q: ファイル→デモ口座の申請 でデモ口座が作れません。
A: 一部のサーバでは、Build 409 より古い MT4 では口座が作れません。最新版を入手してterminal.exe をコピーしましょう。
Q: 指定した値になったら、アラート鳴らしたいんだけど?
A: メニューの表示-ターミナルでアラーム設定のタブがありますので、そこで設定できます。
Q: 土日は動かないのですか?
A: ほとんどの業者は休みです。
サーバーに接続だけ出来る業者もありますが、更新はされません。
Q: TSDって何を見ればいいの?
A: まずはここから登録して下さい。
http://www.forex-tsd.com/register.php 後はあちこち見れば勉強になります。
Q: 10分足とか他の時間足を表示したい。
A: 「MT4 10分足」でググって下さい。URLは差し控えます。
Q: 付属しているMACDをライン表示にしたい。
A: MetaEditorでMACD.mq4を開いて、「DRAW_HISTOGRAM」で検索、DRAW_HISTOGRAMを「DRAW_LINE」に変更、念のため別名保存してコンパイルする。
Q: RCIのインディケーターはどこにあるの?
A: 「SpearmanRankCorr mq4」で検索するよろし。
Q: 同じインディケーターを同じウインドウに表示したい。
A: 共存させたいインディケーターを同じウインドウにドラッグ&ドロップ、設定を変えて表示させる。
Q: MetaEditorでコンパイルするやり方がわかりません
A: MetaEditorのツールバーのcompileで出来る。面倒だったらファイルを保存して、MT4を再起動
Q: ティックチャートを表示する方法を教えてください。
A: 気配値表示の所にティックチャートタブをクリック
Q: ボリンジャーバンドの三本線を五本線にしたい。
A: 標準偏差の設定値を変えたボリンジャーバンドをもうひとつ描画
A: 標準偏差の設定値を1にして、Levels に ±2,±3,を設定してもよし。
Q: 過去のチャートを見ようとしたら、すぐに現在の位置に戻ってしまうのですが?
A: ツールバーのAuto Scrollボタンをoffにする。
Q: 使わないインジケーターを削除するにはどうすればいいの?
A: 使わないインジケーターにカーソルを合わせ右クリック→削除
Q: インジケーターのラインの色、太さを変えたいんだけど
A: MetaEditorで該当するインジケーターを開きます。
#propertyで検索(初めの方に記述してありますのですぐ見つかります。)
色を変更したい場合(例)
#property indicator_color1 Red
のRedを変えたい色に書き換える(Blue,Green,Yellowなど)
#property indicator_color1 Yellow(←変更後)
色の指定の頭文字は大文字で記述します。Blue→○、blue→×
太さ、幅を変更したい(例)
#property indicator_width1 1
の線の太さ1を変えたい太さに変更する。(1〜5までの整数)
#property indicator_width1 3(←変更後)
変更後、保存してコンパイルまたは再起動する。
#property indicator_colorや
#property indicator_widthが無い場合、
SetIndexStyleで個別に指定されていると思います。
SetIndexStyleで検索します。
(例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, Red);
上記の「1」が太さ、Redが色です。
太さを3、色を青に変更する場合は
(例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 3, Blue);となります。
Q: 「チャートを右クリ→定型チャート→定型として保存」としても、保存できないけど。
A: @上の方法で保存できない場合。名前をつけて「定型として保存」するときに、保存先をMT4があるフォルダより上の階層(デスクトップ以外)を選択して保存する。
A保存したファイルをMT4直下のtemplatesフォルダにコピペすればOK
Bこれで、チャートを右クリ>定型チャートで好みのチャートを一発で呼び出せる。
Q: このスレでよく出てくるインジケーター
A: ・Fibopiv ・FerruFx_Multi ・nonlagdot ・#MTF_StochasticBar
・ZigZag Pointer ・Traders Dynamic Index
・Period_Converter_Opt ・Clock ・Grid Builder.mq4
以上に「mq4」を加え検索。
Q: 日本時間を表示させたい
A: JPN_Time_Sub mq4 または CIDP_JPY_Time.mq4 または JPN_Time_SubZero.mq4 :-)
Q: ゆとりスレなのに・・・
A: 「MetaTraderのための」ゆとりスレです。「パソコン初心者」「2ちゃんねる初心者」のスレではありません。
Q: 「YM」や「NK」ってなに?
A: 「先物 シンボル 一覧」でググる。
シンボル一覧の代わり
http://web.archive.org/web/20080125182852/ http://www.globalprice-inc.com/ja/d001-9.html Q: チャートを重ね合わせて反転表示にしたいんだけど。
A: オーバーレイチャートスクリプト Ver.1.10 で検索
Q: 日足のMAが何か変なんだけど・・・
A: サーバーにより週に日足が5本のところと6本のところがあります。
日足が週に5本のところを表示させるのが、手っ取り早いです。
週5本のとこMeta Quote、FXDD、Alpari、WHC
週6本のとこ、ODL
Q: 再インストールする場合、どのフォルダをバックアップしておけば良いの?
A: experts(中のindicatorsフォルダも)、history(人によっては結構容量あるかも)、config, templates, symbolsets, profilesのフォルダをバックアップ。
これで大体もとの環境を作ることが出来る
▼MQL4を勉強するには
MetaEditorのToolboxからHelpを選択すると、リファレンスがあります。また、以下でも見ることが出来ます。
ttp://docs.mql4.com/ 日本語訳があります。
ttp://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html
以上、テンプレでした。
スレ建て乙です
10 :
Trader@Live! :2014/05/14(水) 11:29:41.06 ID:OloNyLWx
プログラムファイルの中にmatalang.exeが表示されないのですが、 どこにあるのでしょうか? わかる方いらっしゃたら教えてください
metaeditor(.exe)を使えばいいと思う。 metalangってのは旧MT4のエディタだったんじゃなかったっけ? 確かに古い環境アップデートして使ってるせいか まだそのmetalangが残ってるけど開く気は起きない
バックテストやってEA修正しコンパイルしたけど修正後のバックテストの結果が前修正の結果と同じになる。 考えられる原因は何でしょう?
testerフォルダのEA名称.iniファイルを削除してからテストするといいよ
metalang.exeはなくなったようですけど ダウングレードする場合metalang.exeはなくても問題が起きないのでしょうか? 御存知の方、教えて下さい
509に戻すなら必要。
17 :
Trader@Live! :2014/05/14(水) 19:14:41.95 ID:M9Fmmv81
>>17 現在トラブル中ですが、なんとかします
御礼だけ先に申し上げときます 有意な情報ありがとうございました
19 :
Trader@Live! :2014/05/14(水) 22:39:55.67 ID:K269Gth5
MT4をDLして申請しようとしたんですが、申請の画面が下へスクロールできなくて困っています。 どなたかご教示願えませんでしょうか?
それでシグナル出てる様な急激な動きは指標が主だろ?無理じゃね
違うよ これはボリバンの拡大に連動してる ボリバンよりシグナルが早いから一分足にかなり使える
ああ、スキャ用ね。それなら使えるかもね
25 :
Trader@Live! :2014/05/16(金) 11:35:55.53 ID:dgOD2per
自作インジケーターのwindow indexの取得ってどうするの? わざわざWindowFind関数使わないとダメ? 1つのサブウィンドウに複数のインジケーターを挿入してるとき取得が面倒なんですけど もっと楽な方法ってありませんか? そもそも自分のインジケーターのインデックスって簡単に取得できそうな気がするんですけど 探しても見つかりませんでした
26 :
Trader@Live! :2014/05/16(金) 12:06:57.28 ID:dgOD2per
>>25 事故解決しました
ChartWindowFind()で取れました
>>26 でもそれだとBuild509までのMT4じゃ使えないという罠があるので気をつけろw
28 :
Trader@Live! :2014/05/16(金) 13:52:42.84 ID:dgOD2per
>>27 えっ?
MT4のバージョンですよね?Version: 4.00 Build 646で大丈夫ですよ!!
今のところ問題なく動いてます!!
>>28 Build600未満のMT4では動かない = Build600以上でないと動かない
って言ってるんだと思うぞ?
でもまあ今後はもうBuild600未満は対象にしなくていいと思うよ。
>>28 >>29 の言っている通りだよ
君しか使わないのならその仕様で問題ない
だけど人に配る予定もあるなら現状はBuld509までのMQL規格で作っておく必要もあるって事
Build509までの規格のMQLにはChartWindowFind()って関数は存在しないから
31 :
Trader@Live! :2014/05/16(金) 17:21:54.51 ID:dgOD2per
了解しました。ありがとうございます!!
32 :
にょろーんインジ ◆5m18GD4M5g :2014/05/17(土) 14:19:47.38 ID:p86Jx547
最新版のMTだとコンパイルできてもテスターに表示されないんだが^^;
すいません。USDJPY日足チャートを開いて csv保存して閉じるだけのコード書いていただけません?↓
レンジブレイクに有効なインジケーター教えてください!
インジケータースレって別に立てたら良いと思うの
36 :
Trader@Live! :2014/05/17(土) 22:14:47.60 ID:XR9upQ87
メタエディターのナビゲーターウィンドウに 「Files」「Dictionary」「Search」の3つのタブが以前あったと思うのですが、 最近見れなくなってしまいました。 これもビルド600の影響でしょうか? 最新バージョンでもこれらのタブを表示させる方法ありますでしょうか? 具体的には、Dictionaryタブから 「Standard constants」→「Web colors」 を開いて色定数の一覧を見たいのです。 お詳しい方がいらっしゃれば、ぜひご教示ください。m(_ _)m
38 :
Trader@Live! :2014/05/18(日) 01:28:46.00 ID:IEkukTNf
しろふくろうさんのサイトからEAをダウンロードしても ナビゲーターのEA欄に反映されません ところがMQL4のExpertsのフォルダ内に MACDSampleやMovingAverageと並んで名前はあるんです ただ上の2つは4のマークがあってクリックするとメタエディタの文書が出るのですが DLしたEAには4のマークもプログラム文書もありません どういうことかわかる方おられますか?
39 :
Trader@Live! :2014/05/18(日) 11:15:37.60 ID:RXp1BbmB
くろふくろうに訊いたら?
40 :
Trader@Live! :2014/05/18(日) 12:19:38.48 ID:KiU14m4h
>>37 ありがとうございました!
ビルド600以降Dictionaryタブは存在しなくなって、
ヘルプにあるMQL4 Refereceかご提示の公式Webで
参照するしか無くなったんですね。
がんばります。
41 :
Trader@Live! :2014/05/18(日) 18:25:20.34 ID:CGeQNUls
ウィン8.1でビルド509です。定型チャート保存してMT4上では保存できてるにもかかわらず テンプレートホルダに見つかりません また、ユーザー以下ホルダに も保存されてません 隠しファイルもすべて表示して読み込みはできます TPLファイルとしてなぜ見当たらないのかどなたかわかりますか
>>41 テンプレ参照・・・・テンプレートだけに・・・・・
>>41 ココ見てみて
C:\Users\(ユーザ名)\AppData\Roaming\MetaQuotes\Terminal\(長い文字列)\MQL4
そもそもビルド500番台ってwin8に対応してたっけ
45 :
Trader@Live! :2014/05/20(火) 00:41:43.39 ID:Y/3LF5mV
ツールバーのとこにある周期設定をツールバーの欄から外して個別に表示してたんですが、 パソコンの画面の上側にぴったりくっついちゃって動かせなくなってしまいました。 なんとか元に戻す方法ありますか?
バックテストする時tickstory使ってる方いますか? ビルド600以降でも出来るようですが信憑性ってどうなんですかね? FXDDのヒストリカルと全然結果が違うのですが、、、
tick構造がBuild600から変わったからtickstoryのデータは使えないよ FXDDなんて論外 素直にアルパリのMT4でバックテストするのが一番楽で確実
6月で509って使えなくなるの? 困るんだけどそれ
メタクオート社がこれだけ強権を握っているのは 使用料払わない業者とかを勝手に接続不可にできるからである もちろん邪悪な意欲的新機構を組み込んだ新Verを拒む業者も締め上げられるのであるw
>>47 使えないとは??
バックテスト自体は普通に出来て99.9%になるのだけど。。。
EAを使用するチャートをスクロールするのがいいってことですかね??
ctraderのバックテストも信じていいものなのか。。。
51 :
Trader@Live! :2014/05/20(火) 13:07:36.22 ID:DlBlP+J0
>>48 まじか
今プログラミング勉強したいと思ってんだけどMQL5を学んだほうがいいのかなあ
>>51 英語読めるならmql5から始めるのもアリだけど、英語読めないなら
mql4でいいから日本語の書籍で土台を作りなさい。
土台さえあれば新旧の差異くらいはググるなり掲示板で質問する
なりで容易く積み上げられる。
mql4はプログラミング言語として覚えない方がいいレベルにひどい mql5か新mql4(strict)の日本語での勉強環境が早く揃うことを祈るよ
>>50 あ、新しいバージョンでBuild600に対応したんだね。ごめんごめん
でも2時間以上もヒストリデータ落とすのに時間かかるのはどうかとw
以前見たEA開発ツールなんだけどフローチャートを作るだけでEAでき ちゃうってのがあったんだけど、どなたかなんというツールか知っている方 いません? StartボックスとEndボックスの間にBuyやSellのストラテジのボックスを配置して それぞれを線で結ぶだけ、っていうやつ ググって探しているんだけど見つからんす、、 スレチだったらゴメン
>>56 関数の宣言と関数が返す値が一致しないときに起きるエラーだったような
void abc(…) {…} なのにreturn()で値を返していたり
int abc(…) {…} なのにreturn()がなかったりとか
>>51 豊嶋教授の本見ればMQL5も覚えられけどMQL4ならネットだけで覚えられる
HSPくらいの言語がわかると取っ付き易い
有料のビジュアルエディターが幾つかあるから買えばインジもEAもビジュアルデザインで作れるけど
高いとにかく高い
あと英語必須
JFOREXなんて無料で提供してんのに
59 :
Trader@Live! :2014/05/20(火) 19:39:28.08 ID:QCidgUEd
windows7 64bit 自作のindicatorやテンプレートを該当フォルダーに入れても認識してくれません >>「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする >>Vista/Win7 の場合、C:\Program Files 以外の場所(C:\MT4 以下)にインストールするのが便利です。 これをやっても認識されないので >>C:Users¥●●¥AppData・・・・ こっちのフォルダーを探してみてもvirtualStoreの中身は空っぽです(隠しフォルダー表示になってます) 探し忘れってあと何処でしょうか?
その前にMT4のバージョン buildいくつかを書き込むとすぐに解決するかもよ
>>57 レスありがとうございます。未だ解決しません。やはりBuild646なのですが、旧式に戻すしか方法が無いようですね・・・
62 :
Trader@Live! :2014/05/20(火) 21:03:46.67 ID:QCidgUEd
あった C:\Users\(ユーザ名)\AppData\Roaming\MetaQuotes\Terminal\(長い文字列)\MQL4 再インストールして適当なテンプレと組で保存した後に探したら出てきた これで2時間もロスwww
>>62 ずいぶんベタな...。
ファイル>データフォルダを開く
でおk
テンプレに追加した方がいいかも
>>61 あのエラーはerrorじゃなくwarningだったような気がします
ただのwarningでex4ファイルが作成されているならそのまま動作しそうです
動作しないのであれば問題は別の部分にあるのかもしれません
>>61 それは戻り値を返すべき関数にreturnがないときに出るエラー。
エラーメッセージをダブルクリックすると該当の関数の「}」に飛ぶので
関数がなにがしかを返すようにするか、
値を返す必要が無い関数なら関数の型をvoidにする
>>64 >>65 ありがとうございます。ただしMT4のチャート画面にインジ入れようとすると、パラメータとか出てくるじゃないですか?
それが出てこないんです。表示中の罫線分析ツールに入っていないんですorz
101 9999みたいなdouble変数を 101 999みたいに桁を詰めてdouble変数で取得するにはどうしたらいいんでしょうか?
NormalizeDouble を使います。 NormalizeDouble ( 値 , 桁数 ) ; 例: double Price = NormalizeDouble ( Price, Digits ) ; double Lots = NormalizeDouble ( Lots, 3) ; なんでお前らググらないの? [MQ4 小数点] でググって一番最初にやほー知恵遅れが出てくるやん
MQ社てなんで日本語ヘルプ作らないんだろう? 主要国はもちろん トルコ語・ポルトガル語・イタリア語まであるんだから 世界一のFX中毒国・日本語があってもいい気がするな ロシアにしたら日本はそこまで遠い国なのか ロシア人が考えてることが分からない
ジャップだから
CustomCandleMODが正常に動作しません・・・ MT4のBuildは646です。どなたかエロい人助けて><
>>71 もうすこし状況を詳しく言ってくれなきゃわからんよ
>>69 「英語くらい覚えろよヤポンチク」
だと思うぞw
75 :
71 :2014/05/21(水) 13:10:00.63 ID:s4bNKRs7
>>75 試しに入れてみたら同じ症状だったわさ
コード修正必要かも
>>66 こういうことかな
MT4のバージョンが新しくなってフォルダ構成が変わったので、
新しいフォルダに置いたインジをコンパイルする必要がある
元の旧MT4フォルダのインジをコンパイルしても認識されない
インジを置くべきフォルダは
>>63 の方法で確認して、その中の\MQL4\Indicators
78 :
71 :2014/05/21(水) 14:02:53.64 ID:s4bNKRs7
コード修正するか、バージョンをダウングレードするかですね・・・
>>72 Expert Advisor Builderは以前使っていましたが出来たソースがあまり綺麗じゃないのと
ストラテジをいくつも組み合わせるのが面倒でなんとなく遠ざかっちゃいました。
StrategyTuneは初めて見るツールです。
探していたのは有償ツールで上から下にフローを書いていくやつだたんですが、この
StrategyTuneって使い方はほとんど同じですね。
強いて言えばインジが少ないくらいでしょうか。
試しにチュートリアルと同じMAでBuySellするコードを作ってみましたが、これもあまりソース
は綺麗とは言えないですね(^^;
フリーにそこまで求めるのは酷かも、、
これだけのツールがフリーというのはすごいです。
ちょっといじくってみます。
わざわざ探していただいてありがとうございましたm(..)m
>>69 世界一なんて事はない
一人頭の突っ込む金額が大きいだけ
つうても今海外はBOが大盛況
たった60秒で50%や2倍に増えるとかFXやるより面白いわなあ
>>77 ありがとうございます。パラ設定も出来るようになりました!
ただ、ユロるの桁数が4ケタになってしまいました。Build509の時は5ケタだったのですが・・・orz
82 :
t9v6ekug :2014/05/23(金) 10:19:43.01 ID:5VWXfgoj
fxでmt4のmqlプログラムについて質問です。 難しいロジックについての質問が多い中、超単純な質問なんですが、 usd/jpyで単に上にも下にも1円動くごとに買い続けるナンピン的ロジックって どう書けばいいんでしょう?
>>82 > usd/jpyで単に上にも下にも1円動くごとに買い続けるナンピン的ロジックって
> どう書けばいいんでしょう?
あなたの言うように書けばいいよ
84 :
Trader@Live! :2014/05/23(金) 10:54:02.86 ID:3qi5tgj0
ナンピン的とは買い下がりと売り上がりのこと?
>>82 はい。このまま貼り付ければバックテストが動くようにしといたよ。
質問通り、1円上がったら買い。1円下がっても買い。
かなり適当に書いたからあとは適当に自分で改変してね。
2013年でテストしたら100万円が167万円になったよ。爆益オメ!!
勝手に利食いを1円にしといたけど、利食い無しが良ければ[//Ticket]の行のコメントアウトを逆にしてね
extern double lots = 0.1;
double syokikakaku ;
int UE;
int SHITA;
int init()
{
syokikakaku = Close[0];
UE = syokikakaku + 1;
SHITA = syokikakaku - 1;
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int Ticket;
if(Close[0] >= UE)
{
UE = UE + 1;
SHITA = SHITA + 1;
//Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, "Buy", 10, 0, Red);
Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, UE, "Buy", 1234, 0, Red);
}
else if(Close[0] < SHITA)
{
UE = UE - 1;
SHITA = SHITA - 1;
//Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, "Buy", 10, 0, Red);
Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 0, UE, 0, "Buy", 1234, 0, Red);
}
return(0);
}
あ、これだと最初に一回買っちゃうな まぁほぼ影響ないでしょ 適当に直して使って
あとlot2でテストしてたわ 利益は67万じゃなくて33万だわ
88 :
t9v6ekug :2014/05/23(金) 11:39:19.39 ID:5VWXfgoj
あざーす! 勉強してみます
>>88 はーい、頑張ってちょ
やってる事は以下
if(Close[0] >= UE) //もし終値がUE(1円上の設定価格)以上になれば
{
UE = UE + 1; //設定価格を1円上に変更(仮に101円になったなら、次は102円に設定)※1
SHITA = SHITA + 1;//同じく設定価格を1円引き上げる
//Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, "Buy", 10, 0, Red); //利食い無しの設定
Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, UE, "Buy", 1234, 0, Red); //利食いを[UE] = すぐ上の※1で引き上げた設定価格のところに設定
}
else if(Close[0] < SHITA) //こっちは終値が設定価格より低くなった場合
{
・・・ (あとは同じ)
あくまで勝手に俺が作ったやつだから、もっといいやり方もあるだろうしその辺は自分で頑張って
90 :
t9v6ekug :2014/05/23(金) 12:13:18.34 ID:5VWXfgoj
>>89 解説までありがとうございます
こんなにすぐにご教授いただけるとは
結構悪戦苦闘してました
頑張ります
先生!
ビルド600以降はMQL5覚えないと使えないんですか
>>91 いや、MQL4的には小変更程度なんでMQL4+α程度の知識で書くには困らない。
ただ、new MQL4全力で書かれたソースを読めなくて困ることならあるかもなw
93 :
Trader@Live! :2014/05/23(金) 15:17:17.33 ID:3qi5tgj0
>>91 ,92
New MQL4はMQL5とOld MQL4の双方をちょこっと変えて、統合させたもの。
したがって、MQL5とOld MQL4で書かれたEAは原則ほとんどが機能する。
MetaQuotes社としては、FXのシステム(Old MQL4)をMQL5(FXと証券兼用)に
統合したいところであったが、Old MQL4で蓄積された財産(EA等)があまりに
膨大であったことに加えて、MQL5の普及が一向に進まないので、やむなく今回
の措置となった。いずれMQL6とでも名称変更するのではないか?
94 :
Trader@Live! :2014/05/23(金) 18:54:06.31 ID:Awph12jJ
すいません、教えてください あるブローカーの同一口座について ブローカー用意のVPSにて、EA1を動かす 同時に、別のVPSでEA2を動かす こういうことは可能でしょうか? なぜ、こういうことをしなければならないのかというと ブローカー用意のVPSでは最新バージョンのMT4しか使えないが EA2を動かすには、バージョン509のMT4を使わなければいけないから
プログラミング初心者です New MQL4と同時にメジャーな言語も習得したいのですが、その場合にはC++がいいんでしょうか お願いします
>>96 今なら 金融系は Python がお勧め。
98 :
Trader@Live! :2014/05/23(金) 21:15:05.86 ID:Awph12jJ
99 :
Trader@Live! :2014/05/23(金) 21:29:00.44 ID:sea81hlO
ビルド600って価額グリッド 入ります?
>>93 "MQL5とOld MQL4で書かれたEAは原則ほとんどが機能する" っていうけど
MQL5 と newMQL4 は,オーダー関数なんか全然違うし MT4 で MQL5 は走らないよ
>>96 普通に C/C++ でいいと思うけど,C++ は深入りしない程度でいいと思うw
>>100 5と旧4は関数だけじゃなくて内部データの構造も全然違うから関数名書き換えるだけじゃ動かんよね
ワークフレームから再構成しなきゃならんことも多い
その点新4は旧4と似ていてそのまま動くことも多いけど細かい所で違っててややこしい
時間とやるきがあるならC++だろうけどお気軽に動くもの作りたいならJavaかC#だろうな
新4や5とほぼ同じ仕様だし
>>96 プログラムなんて、関数や制御文が違うだけでだいたい全部同じようかもんだから、とりあえず簡単な言語を理解するといいと思うんだな。
とプログラム歴半年のおれが言ってみる
取っ付き易くて、役に立ちそうなのは C#だなぁ
裁量バックテストツールTradeTesterの注文画面が出てこなくて困ってます Allow Dll Importsにチェック等必要な手順は踏んだんですが チャートは起動するのに注文画面が出てこない状態です、誰かたすけてー
105 :
Trader@Live! :2014/05/24(土) 13:34:35.30 ID:QF7xlx55
ちょっとお尋ねしたいのですが 旧バージョンのMT4で使用していたインジケータのex4ファイル(MQLソースなし)をコピーして Build646のMT4のMQL4/IndicatorsフォルダにペーストしたのですがMT4を起動したときにカスタムインジケータとして反映されません ちょっと前のバージョンではできたのですが646に変わってできなくなったのでしょうか?
すいません自己解決しました UACの設定いじってたのがまずかったみたいです
>>105 92行目のreturn(0);を、直前の}の中に(89行目あたりに)移動する。
109 :
Trader@Live! :2014/05/24(土) 22:53:41.61 ID:QF7xlx55
>>108 ありがとうございます><
他のMTF系のMACDも壊れていて困っていました
ホントに感謝感激m(__)m
>>97 ,100,101,102,103
ありがとうございます
強さ?を出すインジあった気が カーネックス云々?www チャート表示させたいなら1分足で縮小表示とか
何日で1万円儲かる値幅の何%動いてるか、みたいなボラ表の方が役に立つ ここ3ヶ月の低ボラ相場の平均では金CFDの方がFXメジャーより常に三倍以上儲かってるw
ありがとう
>>113 ボラ表あるのか
俺自作しちゃったわ・・・(´・ω・`)
低ボラから拡大時に大体痛い目見るから
Ku-Chart
>>116 おお、これって名前と概念あったんだ
自分で似たの作ったけどちゃんと計算式とかあるんだな
118 :
Trader@Live! :2014/05/26(月) 00:20:20.50 ID:AhxuVLau
直近4本のローソク足の条件でサイン及びウィンドウアラートを出したいのですが、簡単に書けるものでしょうか? 例:↓↓↓↑ で足確定時にチャート上へサインおよびウィンドウアラート また、上記の場合で、5Mチャートを使っていて最後の条件の足確定1分前に予想サインを出すような ものもかけますでしょうか。宜しくお願いします。
Ku-Chartって一目均衡表と同じで、名前は有名だけどそれで儲かってる人がいない不思議なインジケータw
>>119 お前の中ではそうなんだろう、お前の中ではな
>>121 儲からないことにしておきたい利用者の気持ちは察してやれよw
通貨の強弱分かっても結果でしか無くて 先を読むのには使えないからな。 一番強いのと弱いのを組み合わせて順張りしても一番リバったり。 反対に逆張りしてもそのまま順行したり
テクニカルなんてただの数値 どう使うかは利用者次第
だな THVでも一目の雲だけをパラ変えて使ってるし、早い話が使う人間の使い方次第 ハサミでも使い方によっては武器にもなるって理屈と同じ
一度Windowasを再インストールしたので、もう一度MT4Build 509にしようとしたのですが、 MetaTrader 4(MetaQuotes社製)をダウンロードしてBuild 645(最新版) からBuild 509にしようとしてmetalang.exe、metaeditor.exe、terminal.exe を変えても、MT4を起動するとBuild 645に戻っていてBuild 509にならないんですが、 どうすればBuild 645にできるんでしょうか?
自動アップデート機能を停止させなきゃだめだよ
129 :
にょろーんインジ ◆5m18GD4M5g :2014/05/26(月) 15:41:57.16 ID:8csjILji
現時点で お名前ドットコ○の、1GBコースでEAを3つ走らせているんだけど最大何個までいけるのあれ?
>>128 >@MT4 ビルド 600 にアップデートしないために
OSがWindows Vista で、MetaQuotes社製のMetaTrader 4なんですが、検索を掛けても、
C:\ProgramData\MetaQuotes\WebInstall\mt4clw
の
MetaQuotes
WebInstall
mt4clw
そのものが見つからないんですが、、、
>A【自動更新拒否設定の最終確認】
>
ttp://ciao-mao.jimdo.com/back-to-build509/ このサイトのBack to Build509をクリックできないんですが、、、、
131 :
126 :2014/05/26(月) 16:02:54.60 ID:QbxEHra1
MetaQuotes社製のMetaTrader 4 のBuild645はBuild646の間違いでした
133 :
130 :2014/05/26(月) 17:44:56.50 ID:QbxEHra1
>>132 どうもありがとうございました。
無事Build 509に変更できました。
134 :
130 :2014/05/26(月) 18:02:58.60 ID:QbxEHra1
>>132 Build 509に変更できた事はできたんですが、.mq4ファイルを
YJFX MT4→experts→indicatorsに入れたんですが、MT4を起動すると、
Custom Indicators内のインジケーターをチャートに表示しようとクリック
しても反応しなくて、表示できないんですが、、、多分.mq4ファイルが
(indicatorsフォルダを見たらEXファイルが形成されてなかった)
EXファイルに変換されないからだと思います。
135 :
130 :2014/05/26(月) 18:10:34.03 ID:QbxEHra1
ああ、やっぱりそうです。 試しにEXファイルをindicatorsに入れて、MT4を起動して Custom Indicators内のインジケーターをクリックしたら チャートに表示されました。 インジケーターの.mq4をEXファイルに変換するのにはどうすればいいんでしようか?
>>135 MetaEditorでコンパイル。
(ex4が出来てないのは多分だがエラーが出てるから)
最近、質問のレベル低すぎない?
初心者スレだからさ
ゆとり介護スレだからな
140 :
130 :2014/05/26(月) 22:49:58.40 ID:QbxEHra1
>>136 YJFX MT4で、JPN_Time_SubZero.mq4、RemainingTime_ja.mq4、
ADXDMI.mq4その他色々のファイルをコンパルしてみたんですが
どれも0 error(s), 0 warning(s)と出るんですが、なぜかEX4ファイルが出来て
いないんです。
定期的に入れ替わるしね
新社会人が投機に目覚める時期だから・・?
>>142 新社会人は逆に止める人の方が多くね?
てか、儲かった人はそもそも新社会人にはならないしなw
寧ろ新大学生が目覚めたというパターンの方がありそう。
死んだ医学生が目覚めた!
>>140 YJFXのMT4でBuild646使ってます
ファイル>データフォルダを開く
フォルダが開いたら、MQL4>Expertsでmq4とex4があると思います
147 :
130 :2014/05/27(火) 00:21:23.76 ID:WQ8+MCV4
>>145 ご返信ありがとうございます。
MQL4>Experts見ても.mq4ファイルしか見つかりません。
最近知って眺めてる者だけど、仕事しなくて良いほど儲かるものなの?
仕事をしなくてもいいほど儲かる奴が一握りいて 仕事をしなくてはならないほど損する奴が大勢いる
やっぱりそういうものかw 儲かってる人から見てその二者の違いはどこにあるんだろう
153 :
Trader@Live! :2014/05/27(火) 13:06:50.50 ID:K5nD0kdm
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrNONE); OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,sl,0,NULL,0,0,clrNONE); これでコンパイルしたらWarningが出て valueをチェックしろ言われるんだけど、何がマズイの?
>>153 Build600になってからよりC/C++と同じような厳格さを求めてる
この場合は単純に
int OdrClose = OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrNONE);
int OdrSend = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,sl,0,NULL,0,0,clrNONE);
というようしたらOK
変数の名前はお好みでどうぞ
155 :
Trader@Live! :2014/05/27(火) 13:48:41.63 ID:K5nD0kdm
>>154 なるほど、そうだったのか
ありがとう!
そんなチェックするようになったのか。 だったら変数に代入したところでその変数を使ってないとか警告出ないか? やるなら (void)OrderClose(...); だな。MQLで通るか試してないけど。
>>156 でないよ
でも一番良いのは素のOrderSend,OrderModify,OrderCloseは使わないで
リトライ機能とかを付けたオリジナルの関数を作って渡す方法だね
158 :
Trader@Live! :2014/05/27(火) 15:21:04.64 ID:TehhD3y4
たしかに、 エラー処理とかも含めて ライブラリ化でもしとけば楽かな??
チャートの表示期間をたとえば1年前の1週間だけ5分足を表示するということはできるのでしょうか
もちろんできる。足があればだが。
161 :
Trader@Live! :2014/05/27(火) 16:55:48.89 ID:tDy3U6b5
>>154 なんでこれって変数に代入するだけでおkなの?
>>160 サンクス おっしゃる通り5分足は2週間前までしかありませんでした。YJFXデモ
足があった場合、3日分から1週間分だけ表示させる方法あったら教えていただけませんか
>>161 関数の返り値を変数に代入することで,
関数に返り値があることをプログラマが "認知した" ってことになるから
でも,返り値のある関数でも,その値を拾わずに捨てることなんていくらでもあるし
警告出すようなものでも無いと思うがw
>>161 変数代入を使わないで単純にOrderSend()などとやるとBuild600系ではreturn value of 'OrderClose' should be checkedという警告が出る
OrderSend()の返し値はどうすんのよ?って事だね
だから変数代入してるってわけ
別に動くから放置してもよい警告だけど、コンパイラーにグチャグチャ出るのは気分的に良くないし作法だから仕方ない
166 :
Trader@Live! :2014/05/27(火) 17:49:49.73 ID:QQiO615X
161です そういうことだったんですね! ありがとうございます!
build610だとその警告出なくないか?
代入だけして使ってない変数を警告してくれる方がまだ意味があると思うけど、変な設定だな。
>>162 チャート上でカーソルキー、Page Up/Down、Home/Endキー、
Enterキーを押して日時を入れる。
好きなの使え。オートスクロールはメニューでOFFにすること。
ヘルプくらい読め。
168 :
Trader@Live! :2014/05/27(火) 18:15:01.71 ID:6DNq1jTt
EAで可能かどうかだけ教えてください 現在値102円として101.50つけた後、101.80まで戻ったとき101.70の買い指値注文を出す。 条件1の後、さらに条件2をみたした時に注文という感じでやりたいんですけど、101.50つけた後の 逆指し注文にしかならないんですかね
MQLは当然のことながらチューリング完全なので何をやりたいかが明確であるならできないことはない。
>>167 警告は出るバージョンと出ないバージョンがあるんだと思う
あれよこれよでもうBuild646だから色々進化?してるんだよw
まぁロシア人の考える事は島国のオレらにはわからないってこったw
>>168 もちろん簡単ですよ! 考えたそのまま出来ます
>>148 専業なんてよほど神経の図太いやつ以外には薦められない
たいていの人間は専業になったとたん精神をやむ
駐輪ぐ
専業になっても暇だから、趣味としてのしごとや勉強始めちゃうよね
175 :
Trader@Live! :2014/05/28(水) 01:45:14.33 ID:iVfKGdUE
>>171 そうですか。もう少し調べてみます ありがとう
ビルド600でも動くPeriod_Converter_Opt.mqくれ
>>175 条件を満たすごとにフラグを建てていけばいいんだよ
で、最終フラグが建ったら注文執行
エラー処理も忘れずにな 接続切れた時にフラグが全部falseに戻されちゃうってのもある話
179 :
Trader@Live! :2014/05/28(水) 21:23:41.25 ID:NaFaJkam
五分足でバックテストをしようと思うのですが、おすすめのヒストリカルデータの入手先を教えて貰えませんか? 有料でもかまいません。
有料ならeSignal
FXDDの1分足コンバート
>>181 それ一番あかんやつやw
リアル口座で収集したデータなら使えるけど
おとなしくTickstoryかアルパリのMT4使っておけ
183 :
Trader@Live! :2014/05/29(木) 14:45:27.61 ID:hf5cfCMk
>>118 #property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "
http://www.mql5.com "
#property version "1.00"
#property strict
#property indicator_chart_window
#define UE 1
#define SHITA -1
#define YOKO 0
int OnInit()
{
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int data[] = {SHITA,UE};
Print(check(open,close,data));
return(rates_total);
}
int ashi(double open,double close){
if(open==close)return(YOKO);
if(open<close)return(UE);
if(open>close)return(SHITA);
return(0);
}
bool check(const double &open[],const double &close[],const int &check[]){
for(int i=0;i<ArraySize(check);i++){
if(ashi(open[ArraySize(check)-i-1],close[ArraySize(check)-i-1])!=check[i])return(false);
}
return(true);
}
&(半角)ampはエスケープシーケンスされてるみたいなので&(半角) に置き換えください data配列の並び順は添え字の小さいものが最古のデータ 添え字の大きなものが最新のデータとなっています。わかりにくくてすいません
& テスト
&sp 元の文字コードの関係なのかなコピペテスト &sp 直接書く
専ブラのせいってあったね
パスワードで煽ってくんなや
190 :
Trader@Live! :2014/05/29(木) 18:48:18.21 ID:6ATV3ZqH
>>168 もちろん可能。
ある部分をカバーしていない時だけ、そこを目指すのを狙うとか、結構使えるように作ったことがある。
だいたい、IFDONEOCOのもう一歩進んだそういう機能をデフォで組み入れるべきだか、勝たれると都合が悪いんだろう。
これくらい自分で書き換えられなければコード活用なんて無理だよ。後でやっておくわ
http://kie.nu/1X5_ 古いバージョンで書いたよ。一応原文 化けると思うけど
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "
http://www.mql5.com "
#property indicator_chart_window
#define UE 1
#define SHITA -1
#define YOKO 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//--- indicator buffers mapping
//---
return(0);
}
int start()
{
int data[] = {UE,SHITA};
string str[] = {"false","true"};
Print(str[check(data)]);
return(0);
}
//+------------------------------------------------------------------+
int ashi(double open,double close){
if(open==close)return(YOKO);
if(open<close)return(UE);
if(open>close)return(SHITA);
return(0);
}
bool check(int &check[]){
for(int i=0;i<ArraySize(check);i++){
if(ashi(Open[ArraySize(check)-i-1],Close[ArraySize(check)-i-1])!=check[i])return(false);
}
return(true);
}
単行のif構文でエラーがでたら{}でくくってやってください。 手元に古い環境なくて試せないので
197 :
Trader@Live! :2014/05/30(金) 12:41:40.28 ID:qYCLpN2Z
最近古いポジを損切りしたとき?に口座履歴に表示されないんだけどどうしてでしょうか? もちろん時間でソートしても決済ポジがないんです。
あーこれってポジった時間になっちゃうんですね。。
決済した時間でソートすれば?
注文番号の横の「時間」のタブじゃなくて他にあります?
決済価格の横にも時間あるだろ
裁量と組み合わせてる方っていますか? どんな方法があるんだろう ・L/S、どちらか一方だけ有効にする ・ストップロス、利確値を変更する ・指定した経済指標時間帯は止める ・状況に応じて使うEAを変更する ・エントリー、イグジットどちらか一方だけEAに任せる ・口座をわけて裁量とEAで互いにリスクヘッジ こんな感じ?
>>202 トレンド判定を人力でやってる。
トレンドかレンジか、その開始期日、レンジの場合のみその終端期日まで
を、人力で入力してる。
インヴァストのトライオートみたいなのをMT4やMT5でも作れないわけじゃない MT5だと事実上64nit版OSでしか動かせないが コア部分はEAで発注ツールは別に作ってEAとブリッジさせれば良いんだから
ありがとう
206 :
Trader@Live! :2014/05/30(金) 20:52:34.88 ID:x1BSfuAz
新しいEAで、バックテストしてもレポートとかが表示されないんだけど 考えられる原因って何?
そもそもテストに失敗してるんじゃ テスターの操作履歴確認しよう
成績がマイナスだと表示しない設定になってるんじゃね?
マイナスだと表示しないのは最適化の時だろうな ループ抜け出せてないとかじゃないの
210 :
179 :2014/05/31(土) 04:45:47.46 ID:SapkIWQB
ありがとうございます。アルパリのヒストリカルデータを試そうと思いますが、alpari japan のMT4のデモでも精度は高いでしょうか? それとも、alpari UK でないとダメでしょうか?
>>210 豊嶋教授のブログに依るとAlpariJapanのサーバーはAlpariUKのサーバーみたいですが
212 :
179 :2014/05/31(土) 07:30:05.19 ID:SapkIWQB
>>210 と、いうことはalpari japanで大丈夫そうですね。助かります。
MT4で海外業者使ってるのですけど、bars_remaining_timeというインジが 便利なのに、秒数が飛びまくります。 というか値動きも結構飛ぶんですよね。たまに止まる感じ。 サーバーにpingを打つと平均80msなので通信環境は悪くないと思うんですけど、 何か打てる手はありますでしょうか? PCスペックはゲーミングマシンなのでそんなに問題ないはずです。 メモリは8ギガくらい。
>>214 おお、ありがとうございます、ちょっとやってみます
あ、これEAだけにしか作用しないのかしら。。
217 :
Trader@Live! :2014/05/31(土) 14:38:59.76 ID:yqLjubOP
スクリプトで注文した後、チャートを印刷したいんですけど 印刷用テンプレートに変更。 印刷。 テンプレートを元に戻す はできますか?。どこを調べたらいいですか?
onTimer使えば良いのだが、 書き換えないとな
PostMessage()でテンプレートを選択して変更されるまでSleep()しようとしたが無視されるがなんでだろ。
>>219 インジはMT4のUIスレッドで動いてるのに、Sleepしたら全部固まっちゃうでしょ?
だからインジではSleepできないようになってる。
仮に強制的にSleepできたとしても、Postして直後にSleepしたらそのSleepでメッセージ
ループも止まってるんだから、Sleep抜けるまでPostしたメッセージの処理できないでしょ?
そうするとSleepする意味って何よ?って話で無意味でしょ?
Build600以降ならChartApplyTemplateを利用すべきでWin32APIの利用は控える
べきだろう。
>>220 スクリプトでの話だよ。
PostMessageするとその次に書いたSleep()が無効になる。
Sleep()をメッセージで実現しててなにかおかしくなってるのかもな。
適当な回避方法があればいいんだが。
ちなみに、やろうとしたのはこういうこと。 PostMessageでテンプレート変更 Sleep(ほんとはテンプレート変更完了を待ちたい) WindowScreenShot() PostMessageでテンプレート変更(元に戻す)
ちなみに、もちろん509での話な。 600以降での無駄な苦労は今のところするつもりはないんで。
>>221 PostMessageでテンプレ切り替えが成立すると、その時点でスクリプト殺されないか?
テンプレ切り替えの対象ウィンド以外に対してスクリプトを実行して、そのスクリプトから
対象ウィンドウのテンプレを切り替えるという手もなくはないが、煩わしい割に益がない。
スクリプト発で
>>217 を実現したいだけなら、ChartSaveTemplateで現状のテンプレを
退避して、ChartApplyTemplateで印刷用テンプレへの切り替えを指示して、印刷用
テンプレ自身がSS撮って、自身で退避したテンプレを自身に適用して復帰するのが楽
なように思える。
>>223 レスがすれ違ったorz
509に拘る方が無駄な苦労だと俺は思うけどな。
あぁ、確かにスクリプトだと死ぬか。 まぁちょっと試してみただけだからどうでもいい。 509のままなら何もする必要がないので苦労はないが。 600系が落ち着いて業者が500系を拒否るようになったら移行すればいいだけ。
227 :
179 :2014/05/31(土) 22:24:48.67 ID:SapkIWQB
3日分のリアルタイムの価格を記録していました。 そしてアルパリのヒストリカルデータ、メタクオーツ社のヒストリカルデータを比べてみたんですけど、 メタクオーツ社の方がリアルタイムの値段に近い感じがするんですけど、アルパリのヒストリカルデータって ってどう優れているのでしょう?
228 :
Trader@Live! :2014/06/01(日) 08:50:46.67 ID:o2cdcWkv
皆さんTemplate変更印刷の件回答ありがとうございます テンプレート変更するとスクリプト死にますね・・・。 テンプレート変更の理由は印刷時の色を変更したいだけなので (普段は黒メイン、印刷は白メイン) ChartApplyTemplateを調べていたらChartSetIntegerを発見したので 面倒くさいですが、 色を印刷用に変更。 印刷。 色を元に戻す。 で調べていこうと思います チャートはできそうかなと思いますが、インジケーターの色の変更を調べてみます
229 :
Trader@Live! :2014/06/01(日) 09:00:15.11 ID:o2cdcWkv
スクリプトからインジケーターの色の変更はできない!?
230 :
Trader@Live! :2014/06/01(日) 15:08:05.86 ID:o2cdcWkv
考えたらスクリプトが死んでも、次のテンプレートに 印刷処理、テンプレートを元に戻すインジケータをしこんでおけば いけるかもしれないですね
231 :
Trader@Live! :2014/06/01(日) 18:01:55.32 ID:DqrmyjSA
CustomCandle.mq4 15分足に日足を表示したいのですが、上記のインジケーター をMT4に入れると縦線が邪魔でみにくいです。 build 646なのですが、分かる方がいましたら教えてください
>>217 build600以降ならopenchartあるからスクリプトから新しいチャート開いてスクリプトから
印刷用のテンプレート適用 印刷用のテンプレートの中に印刷を行うインジを含ませておく
印刷はDLL使うと思うので少し待ってから印刷用のチャートを閉じて実行終了
問題は印刷処理の実現方法かな プログラムからの印刷は標準ではサポートされてないし
印刷を待つ処理は、印刷用のインジの中で行ってそのあとに自分自身を ChartCloseで閉じるって処理のほうがいいかも ChartCloseはOnTimerに書いてEventSetTimerでタイマーイベント発生させる ことで遅延実行する。
234 :
179 :2014/06/01(日) 21:47:19.69 ID:mz4JtZT2
メタクオーツ社、アルパリ、Tickstory、ForexTester(スタンダード有料版)の4つのヒストリカルデータをバックテストしました。 そしたら、アルパリのデータのみ、他の3つと傾向が違う結果になりました。 個人的な意見としてはアルパリのデータは、ちょっと怪しいです。
> Aというデータがあります。これをコピーして A’ というデータを作りました。 > > 今、ここに3種類のデータがあります。 > A と A' と B です。 > > > B は Aや A' とは違うのでちょっと怪しいです。 こういう可能性は無いのかね。 メタクオーツ社は銀行業をやってるわけじゃないから、ヒストリカルデータだって何処かから買っているだろうし。
237 :
Trader@Live! :2014/06/01(日) 22:46:34.60 ID:o2cdcWkv
>>232 >>233 ありがとうございます
openchartというのがあるんですね。そっちの方向で考えてみます
238 :
179 :2014/06/01(日) 22:46:37.50 ID:mz4JtZT2
>>235 その可能性もありますね。
ただ、アルパリ以外の口座でFXするなら、アルパリのデータは使わないほうがいいんじゃないかなぁ・・と思った次第です。
>>236 AlpariだけFX業者ですね。
VQインジも入れてますが、VQ_EAってポジション持たないんですが? ビルド509です。 ユロドル5分足で動かしてます。
すみませんが教えてください。 ──────────テンプレより、 ▼質問するときは・・・ ・使用しているサーバー名 ・使用しているインジケーター名、EA名 ↓ アルパリジャパン、AlpariJapan-Live-1 市販EA(ステマでないので製品名未記入) ──────────お聞きしたい内容 市販EAがポジションを長い間(一週間)持たないので 設定が間違っているかをどうやって確認したらいいか。 ──────────自分が確認した事 MetaTrader/ターミナル/操作履歴 2014.05.27 14:20:42.718 Expert (EA名) USDJPY,M1: loaded successfully エキスパート 2014.05.27 14:20:42.718 Expert (EA名) USDJPY,M1: loaded successfully チャート上のアイコンがニコちゃんマークになっている。 ツール/オプション/以下ぶら下がっているタブの設定項目で 設定間違いが自分では見当たらない。 探す対象が膨大で、適した語句が思い浮かばず見つけられませんでした。
そのMT4でバックテストやって取引があるなら大丈夫
つーか、販売元に問い合わせたほうがよろしいかとここで聞いても仕方ない。 一つ言えることはエラーは起きてない。
243 :
Trader@Live! :2014/06/02(月) 20:15:51.81 ID:FMwLPVqx
>>187 こんなくそみたいな質問に作成までしていただき誠にありがとうございます。
日本円とのペア、ユーロや豪など 1H1つ前足が特定幅以上(C)(high-Low-0.2>0)の(A)陽線の場合安値、(B)陰線の場合高値を、現在時間内に到達した場合に(A)にはS、(B)にはLをいれて、(C)と同じ数値の指値逆指値をつける(IFOCO) 両建てができない業者があるみたいなので所持ポジションは1つだけ(数量は資産次第で変更) excelでの計算では3年前データを3000時間運用で豪と欧で優秀な数値を出しているのですが知識不足でプログラム組めないのでバックテストで試せていません。 初心者が組むには難しいでしょうか?
>>244 の指値逆指値の基準の書き方間違えてましたので修正です。5行目の(C)と同じ数値→(C)に0.2を加えた数値となります。
例として、(A)到達時82円、(C)の数値が0.1とした時の指値逆指値は、(C)に0.2を足した数値0.3をベースとして、指値81.7円、逆指値82.3円となります。
ウインドウ分割縦3横2になるように戻してくれ
247 :
Trader@Live! :2014/06/04(水) 15:18:26.43 ID:vF440zct
チャート上に、サイトから自動取得して指標表示してくれるインジやEAがあれば教えてください
>>244 簡単ですよ
がんばってください
期待してます
>>248 ありがとうございます。簡単なら勉強して頑張ってみます。ようやく変数宣言とif理解できたところですが。
あとForex Event Defenderなんたらを使うと指標避けも出来るようだ。 tweetボットなら指標少女が便利^^
252 :
249 :2014/06/04(水) 22:57:06.89 ID:mh4pKiD6
>>244 >>245 を前足高値更新Sの片道分だけ直感的に作ってみました。きっと間違えてる部分があると思いますので変なところ指摘お願いします。
int start()
{
//変数の宣言(上ふたつは見本写しただけ)
int cnt, CurrentPosition;
int Ticket;
double A,High[1]
double B,Low[1]
double C,High[0]
double D,Open[1]
double E,Close[1]
//オーダーチェック(見本写しただけ)
CurrentPosition=-1;
for(cnt=0,cnt < OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS);
if(OrderSymbol() == Symbol())CurrentPosition=cnt;
}
//ポジションチェック
//有効な足の長さが満たしてるか//前足が陰線か//前足高値を更新したか
//オーダーL1万通貨損切りは前足安値で利食いはポジションプラス前足長さ
if(CurrentPosition == -1){
if(A-B-0.2 && D<E && A<=C){
Ticket = OrderSend(Symbol(),OP_BUY,0.1Ask,3,Low[1],Ask+(A-B),NULL,0,0,Blue);}
}
return(0);}
253 :
249 :2014/06/04(水) 23:08:47.46 ID:mh4pKiD6
>>252 修正
前足陰線高値更新後はL
doubleA〜Eの最後に;つけ忘れ
まずテスターで動かしてみるといいよ
すいません、自分で引いたトレンドラインの位置や色、太さなどの情報は どこのフォルダのどのファイルに格納されているのでしょうか?
build509以前ならprofilesの↓のチャートの組の名前のフォルダの下のチャートファイル。
257 :
Trader@Live! :2014/06/05(木) 15:09:35.23 ID:TEpxLPu+
mt4を採用してる日本のFX会社のmt4も複雑なプログラミングが必要なの? 自動売買やテクニカルの話ね
258 :
240 :2014/06/05(木) 16:29:06.17 ID:x8QjAwkl
>>241 >>242 ありがとうございます。
そうなんですよね。エラー表示が出ていないので大丈夫だとは
思うんですがいまいち不安で。
発売元に聞いても、「なんで当たり前の質問を」と返されそうで。
バックテストで取り引きがあれば大丈夫ですか。
どなたかbuild509に戻す方法を教えて下さい
スプレッドと待機売買について質問です。 OrderSend()で成り行き注文するとき、プロパティに入力する価格は 買いの場合Ask 売りの場合Bidを指しているかと思います。 一方待機注文の場合、プロパティに入力する価格は 買いでも売りでもClose[0]を指しているかと思います。 ここで現在価格が100.00 でスプレッドが0.05だとして 成り行きの買い注文を出し、その後 現在価格が101.00で成り行きの売り注文をだすと 101.00 -100.05 = 0.95円の利益となりますね。 これを待機注文で行うとするとClose[0]ですから、 101.00 -100.00 = 1.00円の利益 となるのでしょうか? でも、それはおかしいですよね。
>一方待機注文の場合、プロパティに入力する価格は >買いでも売りでもClose[0]を指しているかと思います。 これがよくわからん。指値を入れておくなら入力する値は 買い注文決済:Bidベースで考える 売り注文決済:Askベースで考える それだけの事と思うのだが俺が何か勘違いしている?
失礼ごめんなさい。 待機注文の場合の決済も価格で設定します。 待機買い注文→指定価格で売り注文 としてください。
>>261 前スレで似たようなことに答えを書いたから貼っとくよ
321 :311:2014/03/11(火) 15:48:04.62 ID:HrPQ1X20
>>318 レスを見る限り,SL や TP が Ask や Bid,Close[0] からの "差" によって指定するものと思っているように見える
だが実際には,newMQL4 において SL や TP は,"絶対値" によって指定される
たとえば,
OrderSend(symbol, OP_BUY, volume, Ask, slippage, 0, 110.50);
とすれば 110円50銭 が TP になる.ここには Ask も Bid も Close[0] も関係ない.依存はない
"Ask + 0.1" のような記述も結局は,いま,Ask が 100.01 とすると
"Ask + 0.1" <=> "100.01 + 0.1" <=> "100.11" のような絶対値に展開されている
もっといえば,Ask と Bid の中間値からの差みたいなこともできる.Bid が 100.00 なら
OrderSend(symbol, OP_BUY, volume, Ask, slippage, 0, (Ask + Bid) / 2 + 0.1);
"(Ask + Bid) / 2 + 0.1" <=> "(100.01 + 100.00) / 2 + 0.1" <=> "100.105"
つまり,"この式が展開された時にどんな絶対値になるだろう" と考えればよい
265 :
264 :2014/06/05(木) 23:16:11.44 ID:I+d/w4cu
つづき
ちなみに,Bid と Close[0] は通常は等しい値を取るが
Pepperstone スタンダード のように,異なる値となる場合もあるので注意されたい
長文失礼した
329 :311:2014/03/11(火) 23:12:38.25 ID:HrPQ1X20
>>325 Pepperstone ライブ口座のスタンダードでは Bid != Close[0] です
どうしてこうなるのかですが,Pepperstone において Bid に代入される価格は
"スタンダード・アカウント用の" 2-way プライスの売り が元になっています
一方,Close[0] の元となっているのは "レイザー・アカウント用の" 2-way プライスの売り です
これら 2つのアカウントは,スプが違います.ですから,値が異なるのは当然ですね
お気づきのように,Close[0] というのは チャートの最後の足の終値 ですから
Pepperstone スタンダード・アカウントを使っていても
MT4 に表示されるチャートはすべて レイザー・アカウント のものです
"2-way プライス" だけが,スタンダード・アカウントのレート ということになります
"んなことは知ってる.どうしてチャートもスタンダードに統一しないのかを訊いてるんだが"
ということでしたら,解りません
266 :
261 :2014/06/05(木) 23:42:32.72 ID:mKul0mt5
ありがとうございます。 自分が尋ねたい事がうまく伝わってなくて申し訳ないです。 最近のバージョンはちょっと疎いので、600以前のOrderSend()の質問と させて下さい。 尋ねたい事は、 @「成り行き」と「待機」注文で指定する価格は、 「成り行き」Ask-Bidベース 「待機」Close[0]ベース であるように思えるが、それであっているのか? A、@が正しいならば「待機」注文を中心としたシステムが有利と なるのでは? (そのとき業者はどうやって利益を得るのか?も素朴な疑問) という件です。 もし@が勘違いならばそれで質問は終了です...。
終了。
268 :
264 :2014/06/06(金) 00:01:11.16 ID:I+d/w4cu
>>266 失礼だとは思うがあえて言わせてもらうと
MQL4 とか OrderSend() 関数がどうこうっていう以前に
FX そのものに関する知識と経験が不足していると思う
ビギナー向けの FX 会社で裁量トレードの経験を積んでから戻ってくるといいと思うな
がんばってね
269 :
Trader@Live! :2014/06/06(金) 05:27:51.84 ID:IzMZ6xqS
AskやBidラインを破線や1点鎖線で表示することってできるでしょうか?
270 :
Trader@Live! :2014/06/06(金) 12:22:57.95 ID:2NiKutTV
教えてください。水平線を引いたときに水平線の価格を線の上か下に大きく 自動で表示したいのですが、プログラムが必要なんでしょうか? (通常は右のPrice Lineの色反転ですが) よろしくお願いいたします。
>>270 プログラムが必要
"【MT4/5】MetaTrader質問スレ ★1" の
>>502 からの議論は参考になるはず
272 :
Trader@Live! :2014/06/06(金) 13:18:19.03 ID:2NiKutTV
ありがとうございます。質問スレ拝見しましたが私の力量不足で理解できませんでした。 Forex Factory等で検索したのですが、見当たりませんでした。 コードが書いてあるサイトの情報をお持ちでしたら教えていただけませんでしょうか よろしくお願いいたします。
>>266 次のように成り行き/指値/逆指値のいずれの場合も同様にAsk/Bidベースで指定すれば良いと理解していますがいかがでしょう?
1.エントリー価格
成り行き(買い) Askベース
指値(買い) Askベース
逆指値(買い) Askベース
成り行き(売り) Bidベース
指値(売り) Bidベース
逆指値(売り) Bidベース
2.ストップ価格
買いオーダー Bidベース
売りオーダー Askベース
3.リミット価格
買いオーダー Bidベース
売りオーダー Askベース
例えば指値(買い)で102.000をエントリー価格に指定した場合、Askが102.000になったら買いエントリーされる形になると理解しています。
>>266 で
> @が勘違いならばそれで質問は終了です
と書いて次のレスで終了を宣言されたのだから、これ以上は必要ないような
275 :
Trader@Live! :2014/06/06(金) 17:39:11.73 ID:0rWkS+HW
MT4使える日本のFX会社で有名どころをいくつかあげてもらえませんか?
MT4使える日本のFX会社でggrks
それだといろんなFX会社がでてきて分からないので有名どころを
どれが有名どころですか? 2つあげてください
さて、晩飯は何がいいかな。
金曜日はカレーでしょ
おつかれ〜 ?
>>283 ありがとう
でも,ゆとりスレと開発研究スレだけで十分じゃね
底とか天井が見える化できるインジケータ探してるんですけど、 心当たりのある方いますか?
287 :
Trader@Live! :2014/06/06(金) 21:33:28.09 ID:NaSwQ/Zn
今、動いてる? FxProだけど
289 :
Trader@Live! :2014/06/06(金) 21:35:17.67 ID:r8VUVcdO
290 :
Trader@Live! :2014/06/06(金) 21:36:36.15 ID:NaSwQ/Zn
やっぱ、ね・・・雇用統計の大イベントで死ぬかと思ったわw
ポジらなくて良かった・・・
292 :
Trader@Live! :2014/06/06(金) 21:38:32.54 ID:r8VUVcdO
>>290 他所も見てるけど、ダウとナスはここで見てるからつらい
293 :
Trader@Live! :2014/06/06(金) 22:26:16.49 ID:r8VUVcdO
22:25 FXPro復旧
294 :
Trader@Live! :2014/06/06(金) 22:27:22.47 ID:NaSwQ/Zn
動いたね・・・ もう寝るけどw
うちはまだ復旧しません・・
296 :
Trader@Live! :2014/06/07(土) 02:08:07.53 ID:qw80VLCq
日経CFDを見るためFXProを入れたのですが 他のMT4使えてるインジが使えません どうすればよい?
>>296 まず2つのMT4でbuildが違うかどうか
buildが違っても動く場合もあるが修正が必要なこともある
あとはサーバーが違うとインジに必要なデータが配信されてないこともある
298 :
296 :2014/06/07(土) 16:47:24.41 ID:UokFPJK+
>>297 build600みたいですね
Color20RSIというインジなんですけど
どこを修正すればいいか分からず・・・
インジケータをファイルに保存しても表示されない 色々なサイトや本で調べてやっても表示されない なぜだ? カスタムインジケータに表示すらされない
MT4を起動 ↓ メニューから「ファイル」を選択 ↓ ファイルメニューから「データーフォルダを 開く」を選択 ↓ 「MQL4」を開く ↓ 「indicators」を開く ↓ 開いたindicatorsに追加したいインジケーター をドラッグアンドドロップ or コピーアンド ペースト ↓ MT4を再起動
途中で書き込んでしまった 上の手順ふんでもカスタムインジケータに表示すらされない
303 :
Trader@Live! :2014/06/07(土) 21:00:02.19 ID:JahqyTFS
新バージョンになってデータフォルダからコピーしないといけないのがわかるまで すごい苦労した まったく何やってんだよメタクウォーツ
今知ったけどベストインジケータパック 2014っての出てたんだね これでやっと600系に乗り換えられるぬ!
>>303 データフォルダからコピーしてどこに写すの?
306 :
Trader@Live! :2014/06/07(土) 21:44:58.11 ID:3Fo2OC1+
MT4しばらく触ってなかったんだけれども ビルド600以降でコードの書き方とかけっこう変わったのかな?
307 :
Trader@Live! :2014/06/07(土) 22:04:55.22 ID:wzZkXV+c
MT4で決まった時間に矢印を出すインジケータの作成方法を教えてほしいです。 特に特別な指標等は入れません。 こちらで設定した時間になると上向きや下向きの矢印が出るようにしたいです。 ソースコード等が分かる方がいらっしゃれば教えてください。 また、もしそういったインジケータが無料で出回っていれば教えて頂けると助かります。 よろしくお願い致します。 追記 MT4のバージョンは バージョン4.00 ビルド646 です。
ペイオフレシオを金額じゃなくて益pipsと損pipsで表示できないのですか?MT4って。
309 :
Trader@Live! :2014/06/07(土) 23:42:44.36 ID:VaqTDMCk
MT4を一旦消してから表示させるとすぐ前に表示していたチャートやテクニカルが消えて それよりも前に出していたチャートやテクニカルが表示されてしまいます この短期記憶障害のような現象を直すにはどうしたらいいですか?
310 :
Trader@Live! :2014/06/08(日) 00:07:06.84 ID:6tSlIDw2
∧_∧ ∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)/ < 質問です!ご教授ください! _ / / / \____________ \⊂ノ ̄ ̄ ̄ ̄\ ||\ \ ||\|| ̄ ̄ ̄ ̄ ̄|| .|| ̄ ̄ ̄ ̄ ̄|| 右も左もわからないプログラミング初心者なのですが今から 一から勉強するには何を覚えれば効率が良いのでしょうか? ちなみにMT5を使っているので今からMQL4を勉強するのはどうなのかな? と迷っております。
312 :
Trader@Live! :2014/06/08(日) 00:25:44.37 ID:1hDdZyHx
>>311 自分が使っているのはアルパリUKのデモ口座です。
チャートを利用しているだけなので。
>>310 今Cを勉強中なんですが、最初からC++の方がいいですか?とか聞く奴は
99%、とりあえず動くだけのものは書けるレベルにすら到達しない。
最初の1つ目なんかなんでもいいんだよ!とにかくやれ!てか、書け!
何が分からないのかも分からないのは何もやってないからだよ。
行動を起こせば疑問が具体化するから、その具体的な疑問を解決する。
繰り返してると何時の間にか書けるようになってる。そういうもんだ。
>>314 なんでもいいんだったら newMQL4 以外を選ぶのは全部遠回りってことじゃないですかね
プログラマ目指してるってんなら,同意見ですけどね
316 :
Trader@Live! :2014/06/08(日) 04:21:59.01 ID:IcKpPNpA
すんません 平均足の太さを3から2にしても起動のたびに3に戻ってしまいます どうしたら2に固定できますか? Ver646です
317 :
Trader@Live! :2014/06/08(日) 04:45:25.85 ID:IcKpPNpA
すんまそん 解決すますた
債券チャートをmt4でみたいのだけど どっか業者ありますか
>>314 > 何が分からないのかも分からないのは何もやってないからだよ。
> 行動を起こせば疑問が具体化するから、その具体的な疑問を解決する。
ほんとこれ。
321 :
Trader@Live! :2014/06/08(日) 09:46:50.01 ID:1pV9MrpL
>>316 エディタで開いてwidth3になってるところを2になおした
4箇所くらいだったかな
ついでに色も
>>315 おれもCから始めた口だけど、遠回りでもないな。
逆に理解がはやい。
mqlのバージョンで右往左往してるのはCの基本構造知らんやつだけだよ
>>313 ProTrader はバグだらけで使いものにならないって 本人が嘆いていたけど?
>>323 そうなんだ
やっぱり、現状はMT4&MQL4でおkってことっすな
つーかMT4以外は対応会社がほとんど無いのに実際使えるの? 公式対応はしてないけどMT4用のAPIとか使って取引可能になってるってこと? CやC++もDLL作るって意味かと思ってたけど、 まさかできる人はアプリから自作してるんだろうか
長いものには巻かれろですしおすし
327 :
Trader@Live! :2014/06/08(日) 17:57:29.14 ID:uGpS7Zxl
色だけは平均足のローソク足インジってありませんか?
どういうこと?ローソク足の色を赤と青に設定するんじゃダメなの?
平均足が陽線の時はローソク足を陽線色に 平均足が陰線の時はローソク足を陰線色に塗ってほしい。 これがあったらローソク足に戻れる。 平均足だとMA との絡みが分からない。
と思ったけど、それだと陰線か陽線か分からないな w
見方を理解してないだけじゃね 平均足は平均線と組み合わせて使えるし、 必要なら平均足を改造したインジもある
平均足だとプライスアクションがわからん
4色使えば良いんじゃね? 赤の濃淡と青の濃淡とか
平均足は短期MAと変わらんだろ
>>333 それいいかも
良いアイデアだと思ったんだが、そうでもないのか?
とりあえず自分で作ってみる。
MT5は国内だと日産センチュリーが採用してる
比較的知られてる業者だとVantageとか、あとIC MarketsがMT5準備中だと
他はちょろちょろ見つかるよ
スマホ持ってる人はMT5入れてみてサーバー検索してみるとそこそこ出てくるよ
Android版しか知らないけど、一文字検索出来るからaとかでアルファベットで検索すると良いよ
>>323 オフシャルで配信されてるProtraderは3なんだけどまだバグありっていうかβ版だから仕方はない
オフィシャルフォーラムに書き込むとFIXしてくれるけどね
337 :
Trader@Live! :2014/06/09(月) 17:33:00.90 ID:WrvRSwWn
>>336 >MT5は国内だと日産センチュリーが採用してる
もしや車に付いてるのかと思ってググってみたら、
日産センチュリー証券だった。。orz
俺も 今時MT車?とか一瞬思ったw
MT5はポジション管理がひどすぎるから使えないわ
341 :
Trader@Live! :2014/06/09(月) 18:35:56.97 ID:pwK2H4gl
安いノートpC 買うのだが MT4をサクサク 動かせれば いい SSD搭載125gbで十分だよね? メモリは8ぐらいで CPUはAMDのA4ぐらいで。
画面解像度は大丈夫なのか?
343 :
Trader@Live! :2014/06/09(月) 19:09:05.88 ID:pwK2H4gl
一応 15型ぐらいだから 1366×768ぐらい
>>336 日産センチュリー証券は 大証FXでMT5を使ってるから、大証FXの終わりと同時に終わる
EAクリエイターとか言うやつで無料でEA作ってみたら バックテスト過去5年で 0.1lot 初期証拠金1000 総損益6070 総取引数1182 勝率40.61% 1つの売買ルールで結構マシなのできたw
リスクという点で考えると、windows8機は使うべきじゃない 推奨環境に8が書かれているところをみたところがない おそらく8でも同様に動くんだろうけど、 トレードと同じように無駄なリスクは避けるにこしたことないよ
SSDも別にいらんよ 付けたいならつければいいけど、その分モニター増やしたほうが作業捗るよ
とりあえず無料のEAでトレードを試したいんだけど、 ソースも公開してて使えそうなオススメEAってある? もしくは数千円以内なら買ってみようかと思ってる。 ちなみに、MT4付属のお試しEAはボロボロで使えなかったw
MACDのはパラ変えると成績変わるけどな 業者と通貨ペアによってかなり差が出る ていうか改造したら? マシになるし 他のが欲しければ色んな海外フォーラムを散策したりしてスプ狭い業者2、3社でBTしてみればいい
352 :
Trader@Live! :2014/06/10(火) 19:38:43.76 ID:F2ncznk7
ここって自分書いたコード載っけて添削みたいに問題点を指摘してもらうことってアリ? 初めての自作EAでエラーと警告は0だけど売買してくれなくて困ってるんだ…… これってロジック自体に問題アリってことだよね??
有料です
354 :
Trader@Live! :2014/06/10(火) 19:54:00.37 ID:dRtafVwU
Win8でも動くには動くけど バックテストが動いたり動かなかったりする
>>351 業者の違いってスプレッドの違い?それとも反応速度とか?
本を買ったので読んでるけど、なかなか理解できないから、
改造まで手が届かない。
そうこうしてるうちに、EAの紹介サイトがいろいろあることに
気づいて、ここに相談した次第。
あと、スプ狭い業者って、どこ?
mt4の業者はあまりスプレッド公開してないから、比較できないんじゃ?
>>352 アリ。
かいつまんでここに書くんでもいいし
>>1 にうpろだ書いてあるからまるごとあげるんでもいいし。
まるごと上げると売買手法がバレちゃうけどそれでもよければ。
つーかバックテスト中にもOrderSendやらがエラー吐いてないのに取引がないなら
売買条件に合致してないんだろうね。
まず売買条件を必ずヒットするようなものにして、売買ロジック以外が動作してるかチェック。
それがOKだったら売買ロジック部分を順に見直すって感じか。
358 :
Trader@Live! :2014/06/10(火) 21:09:33.22 ID:pvAl8KTt
>>357 352です
すごい親切にありがとう!!
とりあえず質問する内容とかをよく吟味してから近日中にここで質問します!!
>>356 ありがとう!今まで日本の比較サイトしか見てなかったから、
こんなサイトがあるなんて知らなかった。
しかもリアルタイムで更新されてるし、凄すぎ!!
・・・ただ、日本でのMT4のサービスのある有名どころのyahooとか
マネックスとかは載ってないし、海外でもOANDAとかFOREXとか
有名どころはスプ広いし、みんなは海外の業者開拓して使ってるの??
英語ができないとMT4は無理?
OANDAってスプ広いか?
>>359 ああ日本の業者を探してたのか
それなら日本の業者でやったほうがいいよ
ちなみにOANDAの中でOANDA Japanがいちばんスプが狭いんだよ
両建できればオアンダ一択なんだがなあ 消去法でアルパリかな
国内業者のリアルタイムならfx-onで見れる
国内だとぶっちゃけアルパリ、OANDAの二択でしょ
366 :
Trader@Live! :2014/06/11(水) 00:12:10.92 ID:IbZwhBkG
Build600とそれ以前で挙動が変わるという話題の中で グローバルスコープの配列の参照渡しの挙動が変わるというものもあるのでしょうか? (あくまで挙動の変化の話で、なぜ直接アクセスせず参照渡しするかというツッコミはこの際、ご容赦下さい) 下記は、とある関数で配列サイズを変更して、別の関数でそのサイズ (配列の第1添数の最大値[サイズ−1の値])を 取得するというサンプルコードです。 以前は実行すると 4 (5-1)が取得できていたのですが Buid646では -1 (0-1)です。 Outputの変化場所を確認するためデバッグしたところ start() 内で FuncResize から戻った後、 FuncGetArrayLengthが呼び出される直前までは 4が返りますが、FuncGetArrayLength の中では -1 が返り また制御がstart()に戻ってくると 4 に戻ります。 dblArray[][3]; // グローバルスコープ定義の配列 int start () { FuncResize(dblArray); FuncGetArrayLength(dblArray); } void FuncResize(double &array[][]) { ArrayResize(array, 5); // 便宜上、サイズ5へ拡張 } void FuncGetArrayLength(double &array[][]) { Comment(StringConcatenate("Output> ", DoubleToStr(ArraySize(array) / (ArrayDimension(array) + 1) - 1, 0))); }
>>366 そっくりそのまま打ち込んで実行したら,普通に 4 が表示された件 (build646)
>>366 ArraySize(array) / (ArrayDimension(array)+1) - 1 これ変じゃないですか
全要素数 / (次元数+1) -1 じゃなくて
全要素数 / (2次元目の要素数) -1 じゃないと
しかし1次元目の最後のインデックスを求めたいなら
ArrayRange(array,0)-1
とすればいい気がします
369 :
Trader@Live! :2014/06/11(水) 02:22:56.65 ID:CDV2VKDv
>>363 オアンダ両建てできないの?
アルパリはできるの?
それは迷うなー
>>369 オアンダが両建て出来ないのはNFAの規定
そこに日本の規定を被せてるのがOanda japan
371 :
Trader@Live! :2014/06/11(水) 03:12:23.43 ID:87CuZqp7
外為ファイネストがスプレッド0.4で一番いいのに、なんで無視されてるの? 実際に使っているけど普通だよ むしろクリック証券がカス
372 :
Trader@Live! :2014/06/11(水) 03:47:54.90 ID:BZuCLAx0
ファイネストがハイレバだといいんだけどな
ファイネストは良いがゆえに勧めたくない ユーザー増えれば改悪するだろうからね
平均足かぁ 手詰まりしたのでいれてみるかぁ
376 :
Trader@Live! :2014/06/11(水) 13:58:27.91 ID:uI8fQ7Hf
オリジナル関数のことで聞きたいんですけど、例えば豊嶋さんの実践プログラミング本の中で別ライブラリーにある オリジナル関数MyordersendなどのMy--をみるとbool形式として宣言してあるだけで、ordersend関数として関連づけられてるようには みえないんですが、どうしてordersendとしての機能をするんですか?パラメーターを必要分?つけるだけで このオリジナル関数が注文用だと認識されるのでしょうか?
377 :
Trader@Live! :2014/06/11(水) 14:13:33.49 ID:pctwT9vG
>>371 外為ファイネストは香港系の会社らしい。
自己資本比率以外は公表していないので、会社内容はよく分からない。
378 :
Trader@Live! :2014/06/11(水) 16:44:50.59 ID:BZuCLAx0
配布するインジもBuild600以上、以下に分けてるんだね
00-RCICrossも駄目なのか・・・(´・ω・`)
>>378 古いバージョンでしか動かないものが多くて困ってるんだけど、
ダウングレードってできないのかな?
>>380 過去ログも読めない子はFXとかやめた方がいい。
記事読んだら書いてあった 髭がないのが残念
385 :
366 :2014/06/11(水) 21:33:53.13 ID:IbZwhBkG
>> 367 レスもらって今日改めて自分の投稿をコピペして実行したが結果変わらずでした。 が…PCを再起動したら期待する挙動に変わりました。 3ケ月くらいPC連続稼働してる途中にbuild646になったんですが こんなことってあるんですかね…。 >> 368 おっしゃるとおり、おかしいですね。恥ずかしい… サンプルではたまたま期待結果が同じなだけです。 本番のEAコードを修正しました。 367さん、368さん、ありがとうございました。
>>376 MyPosition.mqhがインクルードされてるでしょ。
#include <MyPosition.mqh>
という記述の箇所。
MyPosition.mqhの方でordersendを呼んでます。
最適化結果から ダブルクリックして実行した場合と 最適化結果の値が全然違うのはなぜでしょ? 遺伝的アルゴリズムとかは外してるんだけどな
スプレッドがcurrentになっているとかは? スプは固定でテストしないと都度違う結果になるよ
>>388 スプは同じ。通貨はユロドル
取引回数が全然違うみたい
最適化結果の方は期間途中で止まってる感じがする
なんかボンミスしてそうな予感。
390 :
Trader@Live! :2014/06/12(木) 12:01:36.67 ID:EkVYahxd
仮に509に戻したところでいずれは600以下のMT4は使えなくなるんでしょ
MQ「ダウングレなんてせこい真似してんじゃねーよジャアアアアアアアアアアアアップ」
未だに509使ってるやつとか本当にいるのか?
勉強のために分足のチャート等を保存しようと考えている者です。 パソコンが起動した時にメタトレードを自動起動して 1分足、5分足選んで画像保存。この流れを自動的にできるように したいのですが、良い方法あれば知恵を頂けないでしょうか。
hstファイルの作り方を教えて下さい
スクリプトに入ってるコンバータのソース見ればわかるよ
>>394 画像キャプチャをMQLでやるならWindowScreenShotて関数があるよ
398 :
Trader@Live! :2014/06/12(木) 21:13:56.91 ID:I6Srjd0b
ビルド 509 で、追加インジで、10秒足とか使ってるんだけど、 ビルド 600 以降で、10秒足とか、15秒足を、問題なく使えてる人、いますか?
それ便利なん?使うと勝てるん?
9秒足のボルトが最速だよ
401 :
Trader@Live! :2014/06/12(木) 21:58:18.02 ID:JwMGjYJI
fx-proのデモサーバーが死にやがった リアルは動いてる
雇用統計の日も死んで使い物にならんかったな 他のサーバー入れてなかったからトレード出来んかったわ
日足5本で商品・株先物が見れるのはここだけなんだよねー つらたん><
404 :
Trader@Live! :2014/06/12(木) 22:08:32.98 ID:buD9IYkP
また死んでるね・・・ まぁ、そういう時の情報収集スレなんだけどw ブロコ難民となり、ここで教えて貰ったFX-PROにして早数年、そろそろ次を教えてくれw
ブロコww懐かしい オリオンだっけかな?この子も結構お世話になったw
406 :
Trader@Live! :2014/06/12(木) 22:15:46.85 ID:6sLnJT3C
fx-pro復活><
>>397 さん
WindowScreenShot関数を使って画像保存できるように今勉強中ですが
似たようなインジケータ、EAあれば教えて頂けないでしょうか?
参考にして作って見ます。
また、自動で1分足、5分足の画像保存ができるコードの書き方の
ヒントを頂けたら助かります
>>408 UWSCでググれば幸せになれると思うよ
//起動ごとにスクリーンショット
#property indicator_chart_window
bool a=true;int start(){if(a){a=false;
string file="a"+Period()+Time[0]+".gif";
WindowScreenShot(file,640,480);}return(0);}
>>408 練習としてこれをScrnShot.mq4とでもして保存して好きなチャートに登録
画像ファイルはデータフォルダのどこかに保存される
超初心者ぽいけどできるかの?
411 :
261 :2014/06/14(土) 00:02:46.62 ID:DNIS2/PT
何人かのレスありがとうございました。レスを吟味して返事遅くなりすいません。 それでも良くわからないことがありますので再度質問させてください。 説明より以下のいくつかの質問に回答いただけたらすっきりするとおもいます spread 2pipsのクロス円の通貨を考えます。 close[0]が100.00になったとき(Ask=100.02,Bid=100.00)、(spread分を除いた)50pipsの正味利益をだすような買い逆指値の注文をだしたいと思います。 条件:build600以前のもの、すべりは無いとします。 質問 以下の買いの逆指値の@とAはどんな値が適切ですか? int OrderSend(string symbol, OP_BUYSTOP, double volume, @double price, int slippage, double stoploss, Adouble takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) また逆に close[0]が100.00になったときAsk=100.02,Bid=100.00)、(spread分を除いた)50pipsの正味利益をだすような 売りの逆指値の注文をだしたいと思います。 それで以下の売りのの逆指値のBとCはどんな値が適切ですか? int OrderSend(string symbol, OP_SELLSTOP, double volume, Bdouble price, int slippage, double stoploss, Cdouble takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) 当初の自分の考えてはspreadの値を問わず、 @100.00 A100.50 B100.00 C99.50 となると思っておりました。 回答だけでかまいません、お分かりになるからお答えください。
>>411 @100.02
A100.52
B100.00
C99.50
じゃないかな?
413 :
261 :2014/06/14(土) 00:37:20.63 ID:DNIS2/PT
ありがとう。どうもそのようなきがするすです。
414 :
264 :2014/06/14(土) 01:02:38.49 ID:cP5xNoiJ
>>411 なぜ未だに Close[0] が出てくるのか まったく理解できない
(1) Ask
(2) Ask + 0.5
(3) Bid
(4) Bid - 0.5
415 :
264 :2014/06/14(土) 01:10:39.20 ID:cP5xNoiJ
ん,これじゃダメか
>>412 を入れてやらないとダメだな,サーセン
416 :
261 :2014/06/14(土) 19:45:42.23 ID:DNIS2/PT
>>412-415 ありがとうございます。
Aの値は、@に目標利益までの単純な差分を加えたものと考えてよろしいですか?
買い注文の決済(=売り)価格、つまりBid値を示すと考えるといろいろと不都合がでてきそうなので、、。
>>415 Close[0] は終値なので、自分はインジ計算上の基本となる価格として考えてます。
AskやBidの値は注文上必要ですが、インジ計算で利用しないつもりです。。
動いてる時に確認すればいいんですけど質問してしまいます。 現在生成中のバーの場合、Close[0]の値は現在の値ですか?不定ですか?
>ただし、Close[0]は動いている現在のローソク足の終わり価格ですので、Bidと同じですね。 ぐぐって自己解決しました。 スレよごし失礼しました。
>>416 2の値は買い注文の場合はBid
売り注文の場合はAsk
420 :
264 :2014/06/14(土) 22:25:40.04 ID:cP5xNoiJ
なんか変な誤解が広まりそうだから書くけど Close[0] == Bid は保証されているわけじゃないからな その点理解した上で Close[0] を Bid の代替として使ってるなら問題ないけど
Close[0]とBidとチャートのBidラインと注文画面のBid値のうち、どれとどれが同じで違うのか、違うなら何が理由なのか、そのあたりわかる人頼む。
>>421 Close[0] はチャート用のヒストリカルデータに記録される価格。
一方の Bid は取引用に提示された価格そのもの。
なんでそれが一致しないのか?というと、
Bid は顧客によって変えているから。
MT4のある鯖の2002年4月の0時と2014年4月の0時が、 日本時間の7時と同じかどうかを確認する方法を教えてください。 2002年から2014年の間に業者がタイムゾーンを変更してない一応の根拠が欲しいです。
土日ってどうやってデバックしたらいいんですか
ビジュアルモードでバックテスト
>>423 MT4のヒストリカルデータにはGMT情報がないので、
業者が提示している情報で判断するしかないと思う。
ただ、正確とは言えないが自分なりに判別することはできるかも、
雇用統計のような乱高下しているポイントの時間を基準に比較し、ズレがないかで判断できるかと。
確認の際は、サーバの標準時と夏時間を考慮する必要があるけど。
あとは、タイムゾーンの変更のない別業者のヒストリカルデータと比較して、
時間帯が一致していれば、タイムゾーンの変更がないと判断できるかな。
ブローカーによっては、ヒストリカルデータの途中で タイムゾーン変わっちゃってるとこあるからなぁ・・・
>>427 予告なしの変更や、過去の変更情報が分からないときもあるからね。
自分は雇用統計の指標フィルタを作成してた時に動作チェックとして、
バックテストで、指定時間にポジのオープンクローズで、
取引履歴の時間をチェックして、意図した時間で動作しているかを確認したよ。
ズレがある場合は、原因を見つけて修正。
記述ミスもだけど、サーバ(欧州)の夏時間、指標(米)の夏時間や、
2007年だと米のサマータイムの切替時期の変更とかもあった。
最新版Build646になって、殆どのインジケーターが動かない MT4はもぅダメだ!RSSにするか考えるよ
作ってみたよ
233Tickチャートという物を表示したいんですが、何処を設定すれば表示できますか
あと、4Kディスプレイに対応してますか?
436 :
Trader@Live! :2014/06/15(日) 17:13:18.42 ID:qYiBgtf5
教えてください。 カラー色をウインドウ上でNoneに指定していますが、MQLエディタ上から color設定する場合どりように記載をすればいいのでしょうか。 Noneでコンパイルするとエラーとなります。よろしくお願いしますm(__)m
SetIndexStyle(0, DRAW_NONE, 0)
metaviewerってなんだよ… いつのまにこんなものを…
439 :
Trader@Live! :2014/06/15(日) 18:08:45.22 ID:qYiBgtf5
>>437 うまくいきました。ありがとうございます。m(__)m
>>440 モニターの取説PDFを開いたら関連付けされてて
このアプリで開いたけど。
何のアプリ?? 聞いた事もないなぁ
MT4 10分足などのPeriod_Converter_Opt Version何番なら動くのですか?教えてください!
>>442 おれだけ!?
metaviewer64.dllってwindows\systemフォルダにないか!?
まじか…どこでいれられたんだ…
MT4の最近のビルド入れると、それ入るよ。 雑誌をオンラインで購読できるようになったから、その関係のファイル。
皆はver何番使っているの! 最新は646だけど
なんでおこってるの!俺は646だよ! 中にはまだ509使ってる人もいるねーあと1月半の命だが…
>>446 なるほど。
へんなアプリで安心した。ありがと
646だと発表されてるインジケーター大抵動かないね 一から書くの大変だし MT4社がアホ!
>>443 みんな無反応なんだけど、業者と間違わられた?
業者じゃないよ。本当に使えるのか知りたいだけ。
>>447 646だよ。一ヶ月前ぐらいだけど。
509入れられるブログ見つけたけど、XP非対応みたいなんで諦めた。
どうせすぐに使えなくなるから、まあいいかと思うけど・・・
453 :
Trader@Live! :2014/06/16(月) 17:51:08.87 ID:Flef+ZUA
混乱が治まるまでは、旧MT4を使うかな ( ̄― ̄)
>>451 使ってる人いる?ってきいて
答えがないならいないということだな
クソONって自演ブログ何個作ってブログランキングをカチ上げすりゃ気が済むのだろうねw 口調もネタもみんな同じ そんなクソがバラ巻くEAっていう時点で後はわかるだろうよ
PF6.4!とか書いてあるEAたまにあるよねw
儲かるEAを売る理由は 本人が儲かってない 以外にない
458 :
Trader@Live! :2014/06/16(月) 21:57:35.12 ID:VOVGJpbm
フォレックスのmt4でも普通のmt4と同じインジケーター使えますか?
>>454 まあ、そうかもしんないw
>>455 そんなとこなの?
メルマガ購読し始めたけど結構面白いし、FX雑誌よりは読み応えがある。
気になったのは、バラマキ用EAにしては成績があまり良くないところw
>>459 そう思っているなら信者になって貢ぎなさい
いちいちここでクソONの事を話題にする時点で営業だと思われているから
>>1-6 までみてもわかりませんでしたので、済みませんが教えてください。
すれ違いなら誘導お願いします。
テンプレが見つかりませんでした。
このEAが正しく動いているのかをチェックするツールが無いでしょうか。
──────────以下箇条書き
アルパリジャパン法人口座
市販EA使用。
お名前ドットコムVPSメモリー1GBで4EA
四つのうち二つが動作しない
ロット変更後に二つとも一週間超動作しない。(ポジション保有平均1.3日から2.5)
スマイルマークになっている
──────────
適当なこと言うからスルーしてくれていいけど、 まずはバックテスト、次に可能ならロットを戻してみる EA組む側からしたらロットがデフォじゃないならトレードできなくするっつてのは簡単にできるからな まぁ組む側は固定ロットでの動きをサンプルにして金払ったら好きなロットにしていいよ なんて考えかも、なんで。
エラーメッセージの確認もするとよろし
>>427 2005年にタイムゾーンがGMT+0から+2に変更されたとしたら
2004年以前のデータはGMT+0で、2005年以降はGMT+2のデータとして
提供されてるってこと?業者の方で統一してくれてないのか。
>>462 >>463 レスありがとう。
エラーメッセージは、ターミナル/エキスパートで確認した。
Expert ○○○:loaded successfully だったので支障ないと判断した。
EA(ナンピンマーチン)の説明書を見ると初期は0.01。
今迄動いていたのは0.1(1.0枚)今回は0.2で2枚
──────────次回テスト予定
バックテスト
ロットを元に戻す
──────────以下箇条書き
アルパリジャパン法人口座
市販EA使用。
お名前ドットコムVPSメモリー1GBで4EA
四つのうち二つが動作しない
ロット変更後に二つとも一週間超動作しない。(ポジション保有平均1.3日から2.5)
スマイルマークになっている
ターミナル/エキスパートでは、Expert ○○○:loaded successfully
いまだにインジケーターのインストールすら出来ない・・ 動画の通りファイルに入れてるのになぜ表示されないんだぁ
build600以降のMQLを解説しているサイトを教えて下さい
動画みてやってんのかよ なにやってるのか理解してないと応用利かないよ せめてここのスレだけでも文字嫁
>>467 ないよ?
MQL4が完璧なら差分だけhelp見て埋めればいい。
英語ダメでも差分だけならグーグル翻訳さんがなんとかしてくれる。
646がVerUpしたらまた同じ様な問題起きるだろ! どうなってるの?
471 :
646で悩む人 :2014/06/17(火) 09:39:06.92 ID:pSC0s1qW
こんにちは、じつはBursion646でi-custom関数がうまく作動しません、特に 一目均衡表が顕著です、そのほか10時とか23時とか不規則にかってに売買されます、 TP、SLもいい加減です、どなたかご教授ください、WARNINGばっかり 表示され困っています、509の時はほとんど問題なしでした、宜しくお願いします。 教材とした著者もブログがとじられています。
>>469 差分がどこなのか知る為にはどうしたら良いですか
474 :
Trader@Live! :2014/06/17(火) 14:43:35.40 ID:0z9vBemE
すげーしょうもないんだけど オアンダのMT4を使えば最小ロット0.01も可能??
スレチすまそ FX-OFFで思い出したけど 糞アホリエイターを晒すスレが必要だな
>>473 また、そんなことをいう。 (^_^;A
>>472 からかっているの?
言い返しが思い浮かばないので。
釣られるとして、
エディターで比べればいいじゃん。
というデフォルトの答えを。
>>472 build600以降のソースを読む。
何これ?知らない!困る〜ってとこをhelpで調べる。英語読めないなら翻訳して読む。
クラス周りは章立て丸ごと読まなくちゃだけど、丸ごとスルーしても概ね問題ない。
エウリカ!って感じた後にでも読めばいい。今は分からなくても、書けるようになってから
読むと意外なほどスラスラ読める。そういうもん。そういうもんだから止まるな進め。とに
かく行進。初学者はツベコベ言うな黙って歩け。止まったら後ろから刺す。または撃つ。
あとは書いてみてコンパイルしてみてエラーやワーニングを丹念に追う。
なんかエラー出た!どうして?もう分からん。やる気スイッチオフだわ〜とか言わずに
ちゃんとエラーメッセージを読んで英語読めないなら翻訳してから読んで意味を考えて
修正してコンパイルしてを繰り返す。
そう、繰り返す。ただひたすら繰り返す。いつの間にか差分は埋まってる。エウリカ!
どんな言語も一緒。プログラミング言語なんて全部一緒。ここでやれれば次も他でも
どんな言語でもやれる。ここまでの、このクソ長くて改行がアホな文章読めたならできるw
480 :
Trader@Live! :2014/06/17(火) 16:58:58.45 ID:GVfwwlyz
481 :
Trader@Live! :2014/06/17(火) 18:35:05.40 ID:sQiYk9bM
482 :
Trader@Live! :2014/06/17(火) 18:36:06.86 ID:sQiYk9bM
スプレッドHIGHLOW 通常の外国為替市場での建値と同様、売値と買値で建値された(スプレッドあり) 新しいバイナリー・オプションの商品です。 この商品はペイアウト倍率が2倍となり、相場が予想通り動けば、投資資金が単純に倍になります。 この商品は、市場の動きが大きいと想定し、且つ、より高いペイアウト倍率を望まれる投資家向きです。 HIGHLOW 従来型のバイナリー・オプションの商品で、建値は売値と買値の中心値でのお取引になります。 (いわゆる、アット・ザ・マネーでのお取引)。 この商品のペイアウト倍率は、1.8倍〜1.9倍になります。 この商品は、短期投資で、且つ、値動きの乏しい相場またはレンジ相場での 取引を選好される投資家向きです。 Options on Demand オンデマンドはお客様にとって最適な時間で取引いただくことが可能なオプションです。 オプションの種類として1分や5分などの区切りでお取引できます。 (現状は3分の回号のみの提供です。) オンデマンドは短期間でのお取引を好む投資家にとって 最適な、多様かつ柔軟なオプションです。
アフィ死ねよ
アフィは死ななきゃ治らないって言うしなw
う、うん‥
MTスレに貼ってもな…
FX会社が600系に変更になるなら509など意味ないじゃないかよ 600の文法の違いを解説したサイトはどこ?
取引会社ではなく、MetaQuote社がバージョンアップさせるんだけどな 取引会社は言いなりよ
490 :
あげます :2014/06/18(水) 06:02:32.94 ID:ev0G+1Ri
491 :
646で悩む人 :2014/06/18(水) 07:00:00.39 ID:QGFQmCTw
こんにちは、どうやら、しばらくの間システムトレードはお休みする事に しました。 深刻な600系問題は4000万人のMT−4利用者に大打撃を与えているようですね。
日本製の自動取引ソフトってないの? もちろんフリーでダウンロード出来て、 できればJavaかC#にしたいんだけど
最近体調が悪いので休んでいる間に稼いでくれるEAを探してます。 ・豪円、ドル円、豪ストのいずれか ・1日10回程度(スキャ) ・ナンピン無し ・販売価格2万円以下 この条件でオススメEAありませんか?
よく言われるけど儲かるEAや手法なら売らずに 自分だけでつこうて稼げばいいわけで・・・ 存在矛盾に気がつけw
496 :
465 :2014/06/18(水) 10:45:47.65 ID:wHYy0cDW
465です。 昨日ダメ元でEAをアンインストールして再起動後に、インストールし直したら 今朝ポジションを持ちました。 しかし、一個だけ未だ動きなし。 ┐(´〜` ;)┌
RSIOMA_v3は600系で動いたがv4は動かなかった 何で新しい方が動かないんだよw
いまさら646で困ってるとかなにやってんだか… 何ヶ月も前にバージョンアップされて、 その時からそのうち509じゃ入れなくなるって言われてたじゃん 一時的に強制バージョンアップを回避するのはいいけど、 それで対応出来たと思ってた人が甘いんだよ
>>494 確かにそうなのですが・・・
あなたは自分で作られたEAで運用されているのでしょうか?
もしくはプログラマに依頼されたのでしょうか?
また、最初からそうされたのでしょうか?
お時間があればお聞かせください。
>>498 最近始めた人間には仕方ないよ。
お前のように何年もやってるベテランなら、
できて当たり前だろw
>>498 MTに失望したユーザーがどんどんVTに流れてくね
ユーザー軽視の企業の覇権が長く続くことなどありえない
>>501 VT懐かしい。MT4の前に使ってたんだ
CMSが日本から撤退して、仕方なくMTに移ったんだ
強制決済だし、3ヶ月ぐらいしか期間なかったからMQL勉強するの大変だった
i5なのに重くて立ち上がらない んで、チャートのデータ消したらトレンドラインも消えた>< 皆さんどう対応してます?
原因を調べて解決。
本家のMT4をインストールしてデモ口座を申請したんだけど、 社名がVinson Traderってなってる。 ここってMetaTrader社との関係があるの?
VQ_EA.mq4をMT4 Build600系で動作させるには プログラムのどの部分をどのように書き換えればいいんですか?
まずうpします。
508 :
Trader@Live! :2014/06/18(水) 19:43:59.63 ID:naO4u8PV
スイスなんとかEAって云うのを探していますが、 これって何するEAなんでしょうか
多分だけど、トレードするんじゃないかな?
>>512 Build646でコンパイルしようとすると何点か警告が出てたからBuild509の時と動作が一致しないんじゃないかな
514 :
506 :2014/06/18(水) 21:32:02.08 ID:naO4u8PV
>>511 ありがとうございました。
無事に認識しました
515 :
511 :2014/06/18(水) 22:38:40.22 ID:yuDEWc8Q
>>514 念のためBuild509とBuild646でそれぞれバックテストしてみて結果が同じになるかチェックしてみてね
516 :
514 :2014/06/18(水) 22:40:31.52 ID:naO4u8PV
517 :
511 :2014/06/18(水) 22:49:07.31 ID:yuDEWc8Q
518 :
516 :2014/06/18(水) 23:14:23.25 ID:naO4u8PV
>>517 今ポン円M5でショートポジとりましたw
このスレに書き込んでよかったですw
ありがとうございました
519 :
511 :2014/06/18(水) 23:23:58.19 ID:yuDEWc8Q
>>518 手伝っておいて言うのも何だけど、このEAっていいの?
520 :
516 :2014/06/19(木) 05:11:11.66 ID:y9CdSkYL
>>519 良いEAかどうかと聞かれると首をかしげるんですが、、、w
H2やH4とか長い足チャートでトレードするので、
手動だと睡眠中にサインが出てたりすると、起きた時
すでにサインがでてしまった後で、長い足なので次の
サインが出るまで時間がかかるので、それでポジだけ
自動でポジってもらおうかとEA使ってます
そのような理由で、EA自体良いか?悪いか?は
わかりません。
521 :
520 :2014/06/19(木) 05:15:56.45 ID:y9CdSkYL
EAスレってなくなったの?探しても見つからないんだけど…
とっくの昔に両方ともスレ落ちしたよw
>>523 まじですか…いつからかスレが煽りレスばっかになって不快でずっと見てなかったんですが
久しぶりにどうなってるか確認しようとしたらスレがなったので、やはり無くなってましたか。悲しいなあ…
MT4発注君みたいな感じでMT4と独立したGUIを作って操作出来るようにしたいんですが、どうすればいいですか?
>>526 そのMT4発注君ってやつじゃダメなの?
使ったこと無いからよくわからないけど。
>>526 チャート上で GUI をつくるなら,newMQL4 でできるが
完全に別ウインドウでとなると DLL 経由で Win32API をいじるしかないと思う
>>527 ごめん、イメージの話でやりたいことは別なんだ。
>>528 面白い話ありがとう!
調べてみる
今まで見様見真似でEAを作っていた者です 新MQL4でコンパイルするとwarningが出てしまい困ってます warningが出てる行を見てると次のようなプログラムが書いてあります 1. OrderSelect(0, SELECT_BY_POS); 2. OrderClose(OrderTicket(),OrderLots(),Bid,0,Green); 3. OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),0,0,0,"Sell",10,0,Red); どのように変更すれば動くようになるでしょうか…?
もし動かないなら別の原因だろ。 それともbuild600系統はwarningで動かなくなるのか?
質問するなら、肝心のwarningを書きなさいよ。
申し訳ないです return value of 'OrderSelect' should be checked return value of 'OrderClose' should be checked return value of 'OrderSend' should be checked この三つです
warningやerrorの意味を調べた方が良い
>>533 FAQだね。
文字通り、戻り値をチェックしろと言われている。
int ret = OrderSelect(0, SELECT_BY_POS);
でおk
MetaEditorのHelpから見れるMQL4 Referenceにコード例が載っているので参考にした方が良いと思う
苦しんで覚えるC言語でとりあえずポインタまでは理解したんだがそろそろMQL4に取り掛かりたい MQL4は最近仕様が大きく変わったみたいだけどどこのサイトで勉強するのがいいだろうか? 目標はインジ作成とできればEAも作成したい
ヘルプマニュアルが一番いいんじゃね。
落ちてるEAを手入力するのが一番の学習法 10個やれ
Tier One FX という海外のFX 業者のデモ口座でテストしているのですが、今までに経験したことの無い動作となったので理由を分かる方がいれば教えていただきたいです。 特に(1)の理由が知りたいです。 (1)ドル円の買いポジションのS/L価格が102.084に設定されているとき、一度も安値が102.084に到達していないのに2014.06.20 16:55:44に S/L 決済(決済価格102.084<安値102.089)されました。 チャートを見ていて一度も安値が102.084に到達していない(最小の安値は102.089しか下がっていなかった)の にS/L 決済されビックリして飛び上がりました。 (どういう仕組みか分かる方がいたら教えていただきたいです) (2)ドル円の買いポジションでT/Pに102.145が設定されているとき、高値が102.146になりチャート上でも長時間Bidが102.146になっているのにT/P決済されませんでした。 (これはこういう仕様だと言われれば仕方無いかな?)
>>540 それはmt4ターミナルに表示されているレートと、”気配値”が違う業者、もしくは口座の種類だからだろうね
実際にユーザーがトレード出来るのは”気配値”だから
その気配値が逆指・指値に届いているかで約定されるんだ
>>537 構造体とオブジェクト指向まで理解してこい
>>541 なるほど
指値や逆指値は気配値で約定される仕組みで、その気配値のBid価格が安値-高値の範囲外となる業者もあるわけですね。
Tier One FX はレバレッジ 200倍使えて良いかなと思いましたが次の点が特に気になり様子見にすることにしました。
(1)取引毎に手数料が掛かる。
(意外に高い、可変で計算式が不明)
(2)安値〜高値の範囲を越えたBid値で約定されることがあり高値・安値を使ってテクニカル分析で計算したS/LやT/P が意味を持たなく不安。
>>543 その通り、理解が早いな
そんなよくわからん業者よりも、もっといろんな面で便利な業者があるから探してみるといいよ
>>535 消えました、ありがとうございました
それとwarningが出てても動かないわけじゃないんですね・・・失礼しました
547 :
Trader@Live! :2014/06/21(土) 15:17:59.05 ID:8KoLZRtE
お願いします。 スクリプトでヒストリカルデータを出力したいんですが、 Close[]だと何行でもデータを取れるのにiClose()だと1000行までしか取れないようなので、 Closeを使って他通貨のデータを参照したいのですが、 Symbolを変えるとかしてCloseで他通貨の情報を取る方法はありませんか?
まずそのコードかファイルをうpして
for(n=10000;n>0;n--){ if(iClose(tuka,PERIOD_M30,n)>0){ string out = TimeYear(Time[n]) + "/" + TimeMonth(Time[n]) + "/" + TimeDay(Time[n]) + "," + TimeHour(Time[n]) + ":" + TimeMinute(Time[n]) + "," + iOpen(tuka,PERIOD_M30,n) + "," + iHigh(tuka,PERIOD_M30,n) + "," + iLow(tuka,PERIOD_M30,n) + "," + iClose(tuka,PERIOD_M30,n); FileWrite(handle,out); } } iCloseで1000行までしか取れないというのは 過去ログで他の方も質問していたのを見かけたので仕様らしいです。
550 :
547 :2014/06/21(土) 15:41:47.16 ID:8KoLZRtE
iCloseを全部Closeに書き換えれば同じコードでも ちゃんと1万行出力できることを確認しています。
build509だと全然問題ないな。
確かにiCloseは1000本までしか遡れないよね やるとしたら原始的だけど通貨ペア毎にスクリプト使うかDLL使うとかかな
553 :
547 :2014/06/21(土) 17:05:33.24 ID:8KoLZRtE
回答ありがとうございました。 1000本までしか取れないとは知らずにiCloseでコード色々書いちゃったので 大幅に書き直します(´;ω;`)
それ、バグじゃないのか? まぁテスターだと今までも1000本しか取れないから仕様変更したのかも知れんが。
build646のでスクリプトで試したらチャートの最大バー数を超える部分はiCloseで取得できませなんだ 10万本に設定してるからiClose(....,99999)は取得できたけどiClose(....,100000)は 0 が返ってきた もしあれだったら FileOpenHistory(filenName,FILE_BIN|FILE_READ);で直接ヒストリファイル開いて FileSeek(handle148,SEEK_SET);してここからループまわしてFileReadStruct()でMqlRates型に入れてけば全部読み込めますな ただMT4起動してから新しく加わったヒストリデータは .hst にいつ書き込まれるのかちょっとよくわからんかったから 直近のぶんはあるかないか調べてなかったらその部分はiClose()とかで取得してやったほうがいいかもしれませんな(´・ω・`)
なんだ、チャートの最大数までってのはbuild509でも同じだな。 最大数を必要な数にしとけばいいじゃん。
557 :
547 :2014/06/21(土) 17:31:19.45 ID:8KoLZRtE
すいません、他の業者のMT4からForex.com移したので USDJPYをUSDJPYproみたいに直すのを忘れてました…。 そしてForex.comでUSDJPYでiCloseを読み込むと1000本まで、 USDJPYproで読み込むと何行でも読み込める、というのを発見しました。 USDJPYでエラー出てなかったから気づけなかった・・・
558 :
547 :2014/06/21(土) 17:34:22.16 ID:8KoLZRtE
↑のコードのtukaをUSDJPYにすると1000行だけ。 USDJPYproにすると10000行読み込めてます。 謎。。。
559 :
547 :2014/06/21(土) 17:39:45.92 ID:8KoLZRtE
回答して下さった方、ありがとうございました。
560 :
Trader@Live! :2014/06/22(日) 07:51:08.75 ID:1O2jwqJQ
コンパイルはエラー警告ともに0なのにバックテストしても何にも結果が得られないんだけどなんで??
取引が行われてないんだろ。 バックテストでOrderSendのエラーが出てないか見てみて 出てなきゃ売買条件やロジック見直してみ
562 :
Trader@Live! :2014/06/22(日) 10:24:04.67 ID:w6Ie2cjj
>>509 わたしも同じ事が起こっています、600系に変わったとたんです、
しばらく落ちつくまで実取引は難しいと思います。
実取引ではバグだらけでした。
エラー、ウォーニング共にゼロでテスターが作動しないのであればプログラム
を作るフリーソフトとしては、はっきり言って失格ですね。
何にも信用できません。
563 :
Trader@Live! :2014/06/22(日) 11:28:30.31 ID:w6Ie2cjj
>>509の方ではなく、>>560の方でしたすみません。
>>562 ツールじゃなくてプログラムがダメなんでしょ。
今までのMQL4が600系またはMT5で使えないってだけで、
秀逸なツールである事は変わらないよ。
ex4ならばそのまま使えるんだよね。
マイクロソフトwindowsに比べリャ遥かに良心的に思える。
誰になんの文句を言ってるの?
566 :
Trader@Live! :2014/06/22(日) 12:58:31.19 ID:D8UT3gip
だれが教えて!! テスターで、どのEAを試しても損益の履歴が全てマイナスになっちゃうんだけど? たとえば、はじめからサンプルで入ってる「Moving Average」なんかをテストして、結果を見てみると 利益が出ている取引でも、損益のところがマイナスになってる。 これって、どゆこと? 1週間くらい前は、こんなことなかったんだけど。
>>560 >>562 コードによってBuild646でコンパイルすると取引しなくなるバグがある
何とも無い場合もあるので、処理内容等一部条件によってだろうけど
この場合はBuild646より前のMetaEditorでコンンパイラすると動作するよ
569 :
Trader@Live! :2014/06/22(日) 13:21:12.18 ID:D8UT3gip
>>567 それが実際におこっちゃてるんだな、これが!
俺だけか?
ちなみに、いつのまにかBuild646になってるけど、これが原因じゃないと思うけど。
>>569 次のチェックしてみたらどうかな?
(1)ビジュアルモードにして売買箇所を確認
(2)休日などの要因でスプレッドが広がっていないか確認
572 :
Trader@Live! :2014/06/22(日) 15:13:20.00 ID:D8UT3gip
>>571 ビジュアルモードで試してみた結果、
たとえば、
青の矢印の箇所にカーソルを置いてみると、「#54 buy 0.10 USDJPY at 104.481」
次に、決済した矢印にカーソルを置いてみると、「#54 buy 0.10 USDJPY at 104.481 close at 104.638」 ってなってる。
結果で注文番号54を見てみると、なぜか損益が「-45.75」になってる。
意味がわからない。
574 :
Trader@Live! :2014/06/22(日) 16:05:50.30 ID:D8UT3gip
>>573 とりあえず、あきらめる!
ってゆうか、このままじゃどうにもならんけど。
>>572 もしかしてpepperのrazor口座じゃないか?
いくらデータ取り直しても、不整合チャートエラー取れねぇ〜
データ自体が不整合なんだろ
>>572 それってバックテスト?
104.481って今年の頭ぐらいになるけど??
それにしても+16ピピぐらい数字上であるのにおかしいね。
スプが広がっても、数字が出てる以上利益が出るはずだよね?
579 :
Trader@Live! :2014/06/22(日) 19:39:50.48 ID:D8UT3gip
>>575 おおっと その通り!!!
pepperのrazor口座です。
これって何か問題なの?
580 :
Trader@Live! :2014/06/22(日) 19:43:46.95 ID:D8UT3gip
>>575 Standard口座でログインしてためしたら、うまくいった!!!
アドバイスくれたあなたを、神とよびたい。 ありがと
Razorは手数料がかかる口座っていう事でしょ?
複数通貨を扱うEAのバックテストやる方法ってないでしょうか?
ないです
>>580 575です
俺も以前そのバグ見つけてpepperに問い合わせ、
チャットしつつ設定とかも言われた通りに変えて、
キャプチャとかレポートとかでも報告上げたんだがそれでも直らず、
調査するって言われてからもう何ヶ月もたってるわw
razorは単に手数料かかるってだけじゃないんだよな
リアルトレードに関しての手数料は問題ないんだが、
テスターの手数料は桁が2つばかり違うみたいだ
詳しくは忘れたが手数料は0.6pips分だっけ
だけど、テスターでは60pipsくらい取られてしまう
だからどんなシステムでもマイナスになる
まだ直してないんだな…
585 :
Trader@Live! :2014/06/23(月) 03:43:29.86 ID:ABZnx/7p
>>584 さすが神。
俺よりはるか先を歩いていらっしゃる。
ところで、質問なんだけど
テスターの結果をチャートで開いたときにBuyの結果が青色のラインで表示されるんだけど、
どうも見にくいんで、他の色に設定することって可能だろうか?
あとは背景を明るめの色にしてTesterって名前でテンプレートとして保存しとくか、かな
最新版646に書きな直したプログラミングの本ないの?
646になって2ヶ月足らず?で本にはならないだろう…
>>589 もぅ使えない509で説明しても意味ないだろし 早く出した方が勝ちだと思うよ!
591 :
Trader@Live! :2014/06/23(月) 17:01:43.66 ID:ABZnx/7p
>>586 さっそくダウンロードしてためしたけど、
テスターで表示させたチャートにドラッグしても、なんも反応しない。
パラメータの設定画面も出てこん。
ってことで、とりあえず587の案でやらなくちゃしょうがなさそう。
>>591 俺出来たけどなぁ646で。
スクリプトなんだけどそこらへん合ってますか?
593 :
Trader@Live! :2014/06/23(月) 18:24:50.12 ID:ABZnx/7p
>>592 なるほど スクリプトだったんだ。
完璧に出来ちゃいました。
神に感謝!!
ChartIDからSymbolとかって分かりますか?
>>594 ChartSymbol(ChartID)で良いと思う。
ChartIDが間違っていたらempty string が返るみたいです。
596 :
594 :2014/06/23(月) 21:47:05.11 ID:CWmfS6vU
>>595 ほんとだ。ヘルプで調べたつもりだったのに見逃してた。
ありがとうございます。
597 :
Trader@Live! :2014/06/24(火) 08:52:14.77 ID:4gERlfix
溜まったメッセージの処理に前はこれでうまく動いてたんだけど、build645だと stack damaged, check DLL function call てエラーが出て止まる... PeekMessageW()なんかに変更しても同じ。 どう書けばいいの? int msg[1024]; while (PeekMessageA(msg, NULL, 0, 0, 0) != 0) { if (!GetMessageA(msg, NULL, 0, 0)) { break; } TranslateMessage(msg); DispatchMessageA(msg); }
MT4って確か同時刻同通貨でポジションを取れなかったと思うんですが、最新verでは直ってますか? 例:チャート1のEA 15:00にEURUSD売り チャート2のEA 15:00にEURUSD売り
そんな制限聞いたことないが、どういうエラーになる? まぁ証拠金不足ならエラーになるだろうけど。
600 :
Trader@Live! :2014/06/24(火) 16:32:58.88 ID:ca1dfoJl
560だけどバックテストすると TestGenerator: 10210 generating errors, logged 100 first error records というのが出るんだが
初心者本を読みながらMovingAverageEAのバックテストを試したのですが、 チャート上に表示される売買時の情報と、結果一覧表の情報が合わなくて悩んでいます。 ・ チャート#1(0:03) sell 0.20 AUDJPY. at 95.756 (20131111) (改行) 95.756 結果の表#1(0:03) 取引種別 sell 注文番号1 数量 0.20 価格 95.756 ・ チャート#2(0:34) buy 0.20 AUDJPY. at 95.812 close at 95.803 (改行) 95.803 結果の表#2(0:04) 取引種別 buy 注文番号1 数量 0.20 価格 95.804 ※ チャートは新規が赤い矢印、決済が赤い三角にマウスを当てて表示される情報 上のように#1は一致しているのですが、#2以降が時間も合わず、価格も合わずです。 なぜ、こんな状態になるのでしょうか?
>>597 そんな部分だけ抜いたコード見せられても全体の様子が分からん。
スタックが壊れたって言ってんだから、その見える部分だけでいうと
int msg[1024]がオーバーフローしてるとかじゃねーの?
MSG構造体も知らない人にレスは期待してない。
>>587 の前というのはbuild509。build610と645で試して同じ現象が出てだめ。
>>601 チャートの#は結果の注文番号と一致する
ということでは?
>>605 ありがとうございます。
いろいろ試してみたらわかってきました。
・チャート上の#と結果一覧の#は一致しない。
チャート上は新規注文と決済で一組の#だが、一覧表のはそれぞれで更新される為に
倍の数#の番号が存在する。
・チャート上のアイコンは赤矢印がSell、青矢印がBuy、決済が赤三角であるが、
チャートはSellベースなので赤矢印はローソクの上に乗るが、青矢印もしくはBuy決済は
乗らない場合がある(スプレッドが大きい場合)
※あくまでも、サンプルのMovingAverageEAでの話です。
私が試していた条件(MetaQuotes社純正)ではスプレッドが40程度あり、アイコンがローソク
からかけ離れ、結果がよくわからなくなっていました。
スプレッドを固定にしたり、足の種類を変えたりしたら、やっとわかってきました。
うまく動き出すと面白いですね。
どうもありがとうございました。
>>506 ,508
横RESで恐縮ですが、先週アップされていた修正版VQ_EA.mq4をBTで試させていただきました。
インジケーターのVQ4.eq4はBuild600系用に修正してインストールしました。
うまく動いたかと思ったのですが、残念ながらエラーが出て売買してくれませんでした。
以下の3行の組み合わせが数多くあるのですが、オーダーがうまく行ってないようです。
2014.06.24 22:29:05.639 2014.06.23 21:35 VQ_EA~ AUDJPY.,M15: OrderSend error 130
2014.06.24 22:29:05.639 2014.06.23 21:35 VQ_EA~ AUDJPY.,M15: Error Occured : invalid stops
2014.06.24 22:29:05.639 2014.06.23 21:35 VQ_EA~ AUDJPY.,M15: AUDJPY. Buy @ 96.033 SL @ 95.973 TP @0 ticket =-1
※正確には3行目だけがアラートですが、2行目も「OrderSend error」となっています。
その後の
>>514 で動作しているように書かれていますが、バックテストでの環境等、なにか制限があるのでしょうか?
>>607 すみません、引用したのは操作履歴で3行は時系列の順番を修正しています。
したがって、アラートが出ているのは1行目の「Order Send error」だけです。
(2,3行目は1行目のエラーに関するものなのでしょうか?それとも関係なし??)
>>607 OrderSendのHelpをGoogle翻訳してみた
StopLossとTakeProfitレベルが市場に近すぎることはできません。
ポイントのストップレベルの最小距離はMODE_STOPLEVELパラメータでMarketInfo()関数を用いて得ることができる。
誤った又は非正規化ストップレベルの場合には、エラー130(ERR_INVALID_STOPS)が生成される。
レートに対してオーダーが近すぎるのでは?
すみません、一目均衡表をMTFで表示させる良い方法ありませんか? 現在は1Hに2Hの雲をのせるために、パラメーターを全て2倍にして表示させてるのですが 雲が正しい位置より少し先のほうに表示されてしまいます。 分かる方いらっしゃればお願いします。 (デフォルトの一目は雲の形がずれてるので修正されたものをDLして使用してます。)
>>607 逆指・指値が近すぎると注文が出せない制限がある業者がほとんど
その制限が30で、現在のレートが100.300、逆指を出したいのが100.280だった場合出せない
制限にはかからないなるべく近いところ上記のケースでは100.270に出すのでも構わないなら
そのようにEAを作り替える必要がある
どうしてもそのレートに出したい場合は制限がない業者を使う
もしくはEA上でBidなり監視して成り行きで決済。EAのシステム上問題なければだが
>>597 の原因がなんとなくわかった。
StringGetChar()を呼び出すとおかしくなるようだ。
buildがあがらないと無理かな。
StringSubstr()呼んでもおかしくなるな。 build600系勘弁してくれ...
MQLフォーラムにバグをどんどん報告すべきだよ 報告しないで誰も気が付かなかったら、いつまでもそのバグが残る可能性大
>>609 ,611
ありがとうございます。
今、純正MT4をインストールしてデモ口座環境で動かしてます。
なぜか業者はVinsonTraderというところです。
・・・・ただ、実際に売買しているわけでなく、あくまでもバックテストなので、
業者とは無関係かと思ったのです。
バックテストの場合、セッティング欄にスプレッドの項目がありますが、
ここで「現在」を選んだ場合に現在接続している業者のスプレッドが参照
されるのだと思っていました。
(確認してみると、豪円とはいえスプレッドは41なんて表示してますw)
レートに対してのオーダー制限も、どこかにあるのでしょうか?
あと、MarketInfo()関数は了解しましたが、まだ始めたばかりでちょっと
触れそうにありません。申し訳ありません。
>>616 気配値表示(通貨ペア名、Bid、Askが書いてあるところ)を右クリック
通貨ペア一覧 > 該当の通貨ペアを選択 > 設定 でストップレベルってのがあるはず
これがいわゆる逆指制限だね
その範囲内のpoint数以内には注文が出せない
業者ごとに違うからいくつかのターミナルで確認してみるといいよ
これが0になってる業者が逆指制限がないところね
>>617 ありがとうございます。確認したところ150になってました。
(ちなみにこの方法で見ると、スプレッドは0になってます。なぜ??)
バックテストでもこれが影響したということでしょうか?
いろいろ見ていたら、テスターのセッティングの右上にエキスパート設定があり、
ここからストップロスの設定を変更できました。
(なぜかチェックボックスにチェックを入れなくても反映されるのが?ですが)
試しに値を60→200に変えてみたら、無事売買できました!!
・・・あまり利益はでませんでしたがw
ちなみに、200っていうと0.2円なんですね!
これだけ動きの少ない時期に、これでは利益が出そうにありませんw
>>618 テスターのエキスパート設定はEAのパラメータとかだね
チェックの有無は、最適化に使うかどうかを設定するだけなので、
最適化をしない、決まったパラメータでテスターを動かすだけなら
チェックが入っていようと入っていまいと関係ない
テスター含めターミナルの使い方は本買って勉強してください
ストップレベルが150というのは、150pointの意です
1pointは最小の桁、100.132表記なら0.001で、100.13表記なら0.01になる
要は200pointが0.2であるとは限らないです
通貨によっても、業者によっても違う
お使いのEAがうまいこと決済注文を出さなかったのは
ストップレベル150なのに、ストップロスがその範囲内60で、その制限にかかってしまう、注文が出せなかったからですね
150より遠い、200にストップロスを出すのなら問題ないということです
>>619 ありがとうございます。
最適化は一度やってみましたが、その時にはチェックを入れてました。
その時に最適化の設定の為のタブだと思っていたのですが、
通常時の基本値の設定でも使うんですね。
あと、ポイントの件も了解しました。
業者の表記の少数点以下有効桁数で変わるんですね。気をつけます。
本は何冊か買ってはいるのですが、使いつつ読み進めている状態です。
ただ↑のチェックボックスの意味までは載っていませんでした。
教えていただき感謝しています。
どうもありがとうございました。
スプレット0でバックテストする方法ってないのかな…
ヒストリーデータを自分で加工すればいいんじゃない? しかし、そのバックテストに意味があるのかどうか。
>>622 俺も数日前までそう思ってたけど、ちょっと試してみたいことがあってね
MT4に付属している「MACD Sample EA」をバックテストで試しているのですが、 先日のVQ_EAと同じように「Order Send Error 130」が出てしまいました。 デモ環境の業者のストップレベルは150とあるので、VQ_EAと同じように200に設定して みようとしたのですが、エキスパート設定にストップロスの項目はありませんでした。 そこで、mq4ソースを開き、もともと「0」と書かれているところに計算式を入れました。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-200*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green); ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+200*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red); 式自体はTakeProfitと同じようにしているので問題はないかと思うのですが、 結果は変わりませんでした。 試しに200→2000に変えても同じでした。 何か他に修正が必要なところがあるのでしょうか?
>>624 TakeProfitもTrailingStopもその制限内に入っちゃダメよ
カウントダウン方式のブローカーじゃないの?
627 :
Trader@Live! :2014/06/27(金) 10:29:45.38 ID:6fC7ncaW
アンチウィルスのAVGフリーをインストールして実行したら MT4の設定が何から何まで全部消去されちゃって全くインストールしたての初期状態に戻ってる こんなことってあるんでしょうか?
628 :
Trader@Live! :2014/06/27(金) 10:40:08.48 ID:6fC7ncaW
627自己解決しますた
630 :
Trader@Live! :2014/06/27(金) 10:50:50.24 ID:bBIh9UM7
今日、MT−4の口座を閉じました、バグ関係が解消して、509程度の精密性と 使いやすさが戻るまでお休みします。 その間もこのスレは見ますし、時々参加します。
631 :
Trader@Live! :2014/06/27(金) 11:52:55.57 ID:LTiNiKJC
なぜ ビルド509 の信頼性を捨ててまで、600に移行するのか、わからん。 600も、MT5もあっていいけど「MT4 ビルド509」も、サポートはいらないから、 接続だけはできて、 「ずっと使えるようにしておいてもらわないと、困る!」 「使えないようにだけは、するな!」
632 :
百崩 ◆vf2vB5Rokc :2014/06/27(金) 13:09:16.38 ID:rV06mkIG
MT4でJPN225、US30というのがあるのですが、これは現物か先物かどちらなのでしょうか?
>>632 ブローカーによるので、サポートに聞くしか無い
635 :
Trader@Live! :2014/06/27(金) 21:32:23.40 ID:/RKCLvJu
ドル円の日足の200SMAと200EMAの表示結果が逆なんですが なんででしょう? 200SMAを昨日下回ったはずなのに
糞コテがくると変な質問ばかりくるな
638 :
Trader@Live! :2014/06/28(土) 00:27:16.53 ID:uDatYPqC
やっぱりドル円の日足の200SMAがおかしい 他の2つのソフトでは今日明確に下抜けたはずなのに 6.12に下抜けたことになってる EMAとSMAとちゃんと設定分けてるのに なんなんだろう 変な質問とか言われそうだけど 事実だからなー
640 :
Trader@Live! :2014/06/28(土) 00:45:04.36 ID:uDatYPqC
>>639 何、わかりきったことなの
200単純移動平均線でこんなに悩んだことないんだけど
終値で設定してるし
変だなー
それにEMAも他のソフトとは違うんだよねー
なんかバカらしくて答える気にもならないことみたいらしいけど・・・
うーーーむ
日足の数 あとはレートの誤差 そしてチャートの足の本数
642 :
Trader@Live! :2014/06/28(土) 01:09:15.18 ID:uDatYPqC
>>
643 :
Trader@Live! :2014/06/28(土) 01:12:01.93 ID:uDatYPqC
>>641 どうもありがとうございました
押し間違えた・・・
日足6本なのね
こんなに平均線がズレルんじゃ困るなー
でも日足だけか
644 :
Trader@Live! :2014/06/28(土) 02:23:44.00 ID:X9c5mgMK
Pepper、XM、Alpari、Thinkは日足5本 Gaitame、OANDA、FXTFは日足6本 200SMAも表示違うし、ピボットも違う
645 :
Trader@Live! :2014/06/28(土) 02:56:01.72 ID:uDatYPqC
>>644 ねー
困ったもんですね
でも日足だけだし
200は240にすれば同じになったんで良かったわん
米のサイト見たらMT5ばっかり 4は消えるかも
いつかはな
そもそも600系の大幅改変がMT5の機能取り込みで 出足が悪かったMT5への移行を橋渡しするためだしねえ 今600系以前の使ってお茶濁してる人はMT5の時は逆に救済策もないんじゃないか?
むしろ,リアルトレードすらできない MT5 のが消える希ガスww
650 :
Trader@Live! :2014/06/29(日) 22:46:45.78 ID:B1lfXNSW
国内でリアルMT5が使える業者って1社か2社くらいでしょ
複数の業者から自由に選択できる状況でありさえすれば他は割とどうでもいい。 特定の業者しか採用してないプラットフォームとかは、仮にそれ自体が魅力的でも 業者を選択できない時点で選択肢から外れる。
653 :
Trader@Live! :2014/06/30(月) 01:01:51.27 ID:SXdGDFmK
MT4を初めて導入した121証券はなくなってしまったが MT5は大丈夫だろうか
日産センチュリー証券は、MT5導入したけど、大証FXがオワコンでしょ? それで、MT4使ってた業者買収して、今はMT4メインだったような。
(´・ω・`)おはよう 誰だよ新宿の焼身自殺でコンガリアンとか言った奴は 朝から笑っちまっただろ
ごば
ここまで明快な宣伝も最近じゃ珍しいなw
しかもマルチw
【MT4/MT5】 EA開発研究スレ Part16
195 :Trader@Live!:2014/07/01(火) 02:47:09.51 ID:wBO28u1x
さすがにこれは間違いないレベルww
見ておいて正解だったわ(*´Д`)ノ
http://yarichin.info/fx.html
EAで出した注文が操作履歴に表示されないんだけど なんでか理由わかる人おらぬ? 手動で注文するとちゃんと表示される
業者はYJFXを使っています。 テスターの「通貨ペアのプロパティー」を見るとスワップの値が表示されるのですが 本日(7/1)、AUDJPYでスワップロングが32と表示されます。スワップショートは-34.4でした。 バックテストするとスワップが加味されているようで結果があてになりません。 テスト時にスワップの数値を任意に変更する事は可能でしょうか?
スマホのアンドロイドMT4で全てのポジションを一括決済できないでしょうか?
そんなに手動で決済出来ない位ポジションあるの?
663 :
Trader@Live! :2014/07/02(水) 12:13:53.62 ID:um0Fqpfx
スマホのMT4ってポジション右端の×印でワンクリック決済できないの?
長押しでクローズ選べるぞ
>>664 クローズオーダーって1つのポジションに対してですよね?
全てのポジションに対して一回の操作で全決済したいのです
>>662 5つくらい
1つ1つ決済してる間に利益減ったりするとむかついてw
>>665 スマホアプリでは現状出来ないみたいね
おとなしくPCアプリのスクリプトでやればいいのでは?
668 :
Trader@Live! :2014/07/02(水) 15:05:49.78 ID:um0Fqpfx
PepperのワンクリックEA使ってるけど一括決済でも時間差が相当あるよ 結局連続決済してるのと時間的にはかわらない
>>624 ,625
遅くなり申し訳ありませんでした(寝込んでました(泣))
ご指摘の内容から下記のように変更したらうまくいきました。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-2000*Point,Ask+2000+TakeProfit*Point,"macd sample",16384,0,Green);
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+2000*Point,Bid-2000-TakeProfit*Point,"macd sample",16384,0,Red);
細かい計算は無しに、無理やりTakeProfitに2000を加えてやっただけですw
・・・しかし、標準添付のEAでも動かないものなんですね。
どうもありがとうございました。
うわ 久しぶりにMT4開いたらすげ変わっちゃってる。 自作インジとか修正かよ〜 MT5きみたくなってやがるー っくしょー
マジックナンバーって最大値決まってるのね 最大値以上でコンパイルしてもエラー出さない仕様ってどうなのよ 時間かなり無駄にしたわ(´・ω・`)
気にしてなかったけど言われてみればint値扱いだからね …ちゃんと調べてないけどそう言うことだよね?
本日18時からmt4がコモンエラー 回線不通となり使えなくなりました 心当たりといえば前日から別業者のmt4も同じpcで稼働させていたことです 解決法についてお分かりになる方いらっしゃいましたらご教示願います 何卒よろしくお願いします
674 :
Trader@Live! :2014/07/03(木) 20:59:37.81 ID:XTJTPXC+
>>673 同様mt4FXDD使えません。なぜでしょう
大事な日なのに;;
回線不通わろた
BTで良い結果出してもFTでいつもつまづく いつ完成するんだろ(´・ω・`) つかインテリセンスないのがイライラ
バックテストは100%約定100%固定値だからな
いま勉強中で、バックテストが実際と違うのは分かるけど デモ口座と実際の口座でも挙動とか違いますか?
違う
バックテストとはサイコロで連続1が出たから次も1だと言うような物 そもそもほとんど無意味
excelでの損切り優先手動バックテスト スプリットズレなし全約定設定 2004〜2011年 取引機会3469/46126 7.52% プラス79199.0pips 53.128% マイナス60876.0pips 42.635% 不確定計算分みなしマイナス6056.4pips 0.318% 利益+12266.6pips 〜昨日まで5000時間 取引機会273/5000 5.46% プラス6212.0pips 59.707% マイナス4122.8pips 40.293% 不確定計算分みなしマイナス0pips 0% 利益+2089.2pips このルールってEA作る価値ありますかね?すごい単純なルールですがローソク足のみでのルールなので既出EAなくて一から組まなきゃですが
>>681 エクセルよりEA作るほうがはやいのでは
>>682 プログラム苦手で簡単なインジケータすらまともに組めないので仕方なく数式でチャート再現やってます。同時刻に損切りと利確でたら損切り優先にしてるのでBTはもっといい結果になりそうですが。
4万本以上もデータ入れたらひとつの計算にえらい時間かかるのでEA作成してBTしたいのはやまやまですけどね
>>683 この機会に勉強したらいいんじゃない?
実際やってみたらたいして難しくないけど…
>>683 自分も過去に同じ事をしてました
EA作れたほうが良いですよ
686 :
Trader@Live! :2014/07/04(金) 21:05:20.40 ID:yMZFsi4n
>>681 EA化する価値はあるだろうし、そうした方が効率的
688 :
Trader@Live! :2014/07/04(金) 23:56:18.49 ID:QB18ob1r
Array out of rangeエラーが出るのですが、ググっても答えがわからず、煮詰まってしまったので質問させてください・・ 以下、ソースの一部抜粋です。(TTFbarsはintで定義され、15が代入されています) ターミナルで確認すると、[iHighest()...]の直前で前述のエラーが出ています iHighestのTTFbarsが怪しいと思ったので試しにTTFbars=1にしたところ、 out of rangeエラーはでなくなったのですが、別のところでエラーになってしまいました 過去スレを見ると、ArrayResize()を用いると解決できるとあったのですが、この認識でOKでしょうか? また、その場合、以下について教えていただけませんでしょうか ・ArrayResize関数の挿入箇所(double HighestHighOlder =...の直前でしょうか?) ・new_sizeの値には何を指定すればよいでしょうか? int start() { int limit,counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit = MathMin(Bars-counted_bars,Bars-1); // for(int i=limit; i >= 0; i--) { double HighestHighRecent = High[i]; double HighestHighOlder = High[iHighest(NULL,0,MODE_HIGH,TTFbars,i+1)]; double LowestLowRecent = Low[i]; double LowestLowOlder = Low[iLowest(NULL,0,MODE_LOW,TTFbars,i+1)]; }
>>688 配列の要素数の値がおかしいエラー
添え字がおかしいで終わり
>>688 それ初回の計算は limit が Bars-1 の値になると思うけど
iHighestとiLowestで i+1 の部分で配列の範囲外にアクセスしてるのがいかんのじゃないかな
MathMin(Bars-counted_bars,Bars-2);にするだけで大丈夫じゃないかな
>>688 print文使って内容チェックしてみては?
692 :
688 :2014/07/05(土) 03:12:03.59 ID:qPYlXX2u
>>689-691 みなさんご回答ありがとうございます
>>690 さんのとおりに設定したところ、問題なく表示できました!
ただ時間足次第では依然としてエラーが出ることもあるのですが・・・
エラーが頻発するようであれば、
>>691 さんのとおりデバッグしてみたいと思います
また、調べたところインジケータの読み込み時にはcounted_barsの値が必ず0になるようなので
if(counted_bars=0)を追加してエラーを回避する方法も考えてみたいと思います
ありがとうございました!
MT4のヒストリーデータで抜けた部分があったので 修正したものをインポートしたのですが、 サーバに接続した状態でその銘柄のその時間足のチャートを表示させると、 再び誤ったデータで上書きされてしまいます これを回避する方法があれば、方法をご教示くださいませ
いらないインジケーター削除してたらナビゲーターからカスタムインディケータの項目が消えて インジケーターが罫線分析に統合されてしまったわ・・・
すまん今確認したらBuildが670になってた もしかして仕様が変わったん?
スリッページ0で買いはask売りはbidを価格に入れて 注文してるのにちがう価格で約定される 有利にも不利にもずれてる バックテストではまったくずれない スリッページ0ってことはいくらでもいいから約定するのかな? ちなみに業者は外為ファイネストのリアルトレード だれかおしえておくれ
698 :
Trader@Live! :2014/07/05(土) 18:33:53.08 ID:SSWxqZoZ
なんか以前よりBuild改変が激しくね
現在Core2DuoのPCを使っていますが、バックテストの時に非常に時間がかかります。 ただ、タスクマネージャーを見るとCPU負荷は50%程度です。 仮に現在のCPU(i7とかi5)とSSD化とかすれば、早くなるものでしょうか? もしかしたら、バックテスト専用機を別に用意されてる方いますか?
大して変わらない。 費用対効果は期待できないよ。 ただバックテストをやっていてもPCが重くならないのは良い事かも。
>>699 バックテスト時のシグナル等の演算量による
簡単な指標ならそれほど期待できない
重い計算なら VC++ とかで DLL にして
OpenMP や PPL とか使ってみるのもいいかと
>>699 多分2〜3倍くらい速くなるんじゃないかな。
MT4ならバックテストはシングルスレッドで動くのでコアの数は関係ない。
クロックが速ければ速いほどいい。
ファイルはバックテストの開始時に一時ファイルを作るだけだから、重いバックテストを
するのであればSSDはあまり効果はない。ただ、PCの起動とかアプリの起動には効果ある
ので予算次第。
703 :
Trader@Live! :2014/07/06(日) 01:16:59.52 ID:Cf7eAQTP
ちなみに、E8600とi7 4790Kで比べるとSPECint(整数演算)で2.5倍、SPECfp(実数演算)で 3.2倍くらい速くなってるのでこの間くらいと予想。
704 :
だるまたんЛипницкая :2014/07/06(日) 01:21:38.98 ID:mp7Lzq6n
以前質問させて頂いたんですが MTF一目均衡表でズレがないのは無いのは分かったんでどなたか作って貰えませんかぁ?><。。
705 :
だるまたんЛипницкая :2014/07/06(日) 01:26:04.65 ID:mp7Lzq6n
あと 演算速度とかの話をされてるよーなのでスレチかもしれませんが質問させて下さい HFTってオーダのキューイングの先回り出来るらしいんですが それってホストの演算速度を越えて回線から割り込み出来るって意味なんですかぁ?><。
あ、あと最近のMT4はSSE化もしてるからもっと速くなる可能性があるな。 でもまぁ2、3倍速くなるのをどうみるかで更新すればいいね。
707 :
だるまたんЛипницкая :2014/07/06(日) 01:32:15.69 ID:mp7Lzq6n
これも何度がお願いしてるんですが 値幅だけ表示出来る印字がないんですが作って貰えませんかぁ?
頭がおかしいかまってちゃんだから相手したら駄目。 即NGが吉
710 :
Trader@Live! :2014/07/06(日) 14:08:49.23 ID:3XzL10GF
すみません、検索の方法が悪いのか調べても見つからないため質問させてください シグナル系インジをEA化するmq4ファイルをカスタマイズして使っているのですが、 ビジュアルモードでバックテストするとシグナル系インジが大量に読み込まれており メモリ消費されPCの動作が遅くなります おそらくiCustom()で該当のインジケータを何度も呼び出しているためだと思うのですが、 明確にremoveするなどの指示が必要なのでしょうか?
そんな事を考えるなら、iCustom()使って普通にインジをEAにした方がいいんじゃない? どっちにしてもビジュアルモードは遅くなるよ
712 :
710 :2014/07/06(日) 15:08:05.72 ID:3XzL10GF
>>711 説明が足りずすみませんが、やっている内容はまさにその通りです
int entry_signal = icustom(略) でエントリー判断をしています
ロット管理などの部分では元のmq4を使わせてもらっています
icustomを使ったEAをバックテストする場合は該当のインジケータが大量に読み込まれ、
PCの処理が遅くなるのは避けられない、ということでしょうか?
※ちなみにicustomで呼び出しているインジはひとつだけで、これがチャート上に100以上読み込まれています
呼び出すときに渡すパラメーターが違うとその数だけ読み込まれるよ。 例えば iCustom(_Symbol, _Period, "CCI.ex4", 14, 0, 0); だけなら何回呼んでもチャートに表示されるのは1つだけだけど iCustom(_Symbol, _Period, "CCI.ex4", 14, 0, 0); と iCustom(_Symbol, _Period, "CCI.ex4", 15, 0, 0); を呼んだ場合はチャート内にCCI(14)とCCI(15)の2つが表示される。 これが原因でなければちょっとわからないわ
インジの内容をEA内にしっかり移植すれば、 iCustom使ってたのがばかばかしく思えるほど早くなるぞ! 他人のインジだとソースわからないから仕方ないが
715 :
710 :2014/07/06(日) 16:21:45.43 ID:3XzL10GF
>>713 確認しましたが、iCustom()の引数は以下のように定数でextern指定しているので原因では無さそうです
ありがとうございます
extern string _PARAMETER_SETTING = "------Parameter of Singal Indicator Setting 1";
extern string Para1 = "Current time frame";
extern double Para2 = 3
( ... )
extern string Para13 = true;
extern int BuyEntrySignalIndex = 3;
extern int BuyEntrySignalShift = 1;
( ... )
double buyentrysignal = iCustom(NULL, 0, CustomIndicatorName, Para1,..., Para13, BuyEntrySignalIndex, BuyEntrySignalShift);
>>714 やはりそうですね・・
ソース公開されてるので、移植に踏み切ったほうが近道のように思えてきました
ちなみに、以下のようにずらーっと同じインジケータが表示されています
http://dl1.getuploader.com/g/3|mt/1011/2014-07-06_161440.png
>>710 そんな特殊なインジなの?
じゃないなら
>>714 の言う通り自分で作った方が早いかも
簡単な内容なら作ってもいいけど、インジ見てみないとなー
バックテストについて質問です 2005年〜現在までを全ティックでバックテストした時、途中でテストが終わってしまいます fxtファイルのサイズを調べたところ、6.3GB程度の大きさでした 現状(Build646)ではこのサイズのデータではテストを完全に行うことは出来ないのでしょうか?
>>700-703 ,706
う〜ん、回答がわかれてしまいましたね。
シングルスレッドなら無闇にi7までおごることはないのは間違いなさそうですね。
SSEって結構昔の技術ですよね?・・・あ、PenVみたいですから、Core2Duoで
は十分ですよね。
まだまだ初心者なので、もう少しいろいろ試してから考えてみます。
休みの間にものすごいインジ買ったw 1600円ぐらい これわ安い 夜明けが楽しみだwww ヒヒ
んな粗悪品買う養分いるんだな
722 :
720 :2014/07/07(月) 00:23:56.19 ID:HnD6UhlH
723 :
Trader@Live! :2014/07/07(月) 01:14:51.55 ID:shwSpcA+
たぶんおもいっきり大はずれだと思うよ
724 :
Trader@Live! :2014/07/07(月) 01:21:55.68 ID:FqoFHbe2
ここに貼り付けるのだ。
721じゃないが心底いらん アフィ貼りかと思ったらそうですらないし FXや株とか含めてお金儲け系の話向いてないというか騙されやすすぎるから地道に働いた方がいい
726 :
710 :2014/07/07(月) 01:25:40.99 ID:keJe1g3a
>>716 すみません…
理由は不明ですが、さっき帰宅してmt4起動して試してみたら治ってました、、
元々の思いとして、気に入ってるインジがいくつかあるので
それらを組み合わせてダマシを排除した時にどんな結果になるか?というのを試してみたかったのです
なので、icustomで複数インジの値を拾うEAを作ってみました
結果は今のところ散々ですが…苦笑
まあインジはEAではないから、ユーザーとの相性が良ければ上手く機能することもある
質問です。OP_BUYのエントリーポイントを、1本前の足が陰線の場合には始値+特定の数字(以後H_Lとします) 、1本前の足が陽線の場合には終値+H_Lとしたいのですが、どのように表現すればうまくできますか? エントリーをふたつ作るしかないでしょうか?
Open[1]とClose[1]の高い方+H_L じゃいかんの?これでいいなら MathMax(Open[1], Close[1]) + H_L でいいんじゃないかな。
すいません 教えてください。 ポジもってて決済しました。その際、さっき決済したポジの通貨をPrintで出力したいのですが、 以下のAに入る引数がわかりません。 OrderSelect(A、〜 Print("Symbol= " + OrderSymbol()); えろい人おしえろ下さい!!
731 :
Trader@Live! :2014/07/09(水) 00:02:27.61 ID:T/UZsphL
ついでに複数のポジを一括決済するにはどうすればいいのですか?
>>729 それなら価格に当てはめるのもできますね。ありがとうございました。
733 :
あげます :2014/07/09(水) 11:03:44.48 ID:xlNaCONk
>>730 プログラム組まないと無理
datetime time = 0;
int ticket = -1;
for(int n=OrdersHistoryTotal();n<=0;n++){
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if(time<OrderCloseTime()){
time = OrderCloseTime();
ticket = OrderTicket();
}
}
if(ticket>0)OrderSelect(ticket,SELECT_BY_POS,MODE_HISTORY);
734 :
あげます :2014/07/09(水) 11:05:17.91 ID:xlNaCONk
>>733 ミスった無限ループw
datetime time = 0;
int ticket = -1;
for(int n=OrdersHistoryTotal();n>=0;n--){
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if(time<OrderCloseTime()){
time = OrderCloseTime();
ticket = OrderTicket();
}
}
if(ticket>0)OrderSelect(ticket,SELECT_BY_POS,MODE_HISTORY);
735 :
さげます :2014/07/09(水) 11:08:21.76 ID:xlNaCONk
>>733 何度もすみません
datetime time = 0;
int ticket = -1;
for(int n=OrdersHistoryTotal();n>=0;n--){
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if(time<OrderCloseTime()){
time = OrderCloseTime();
ticket = OrderTicket();
}
}
if(ticket>0)OrderSelect(ticket,SELECT_BY_TICKET,MODE_HISTORY);
736 :
Trader@Live! :2014/07/09(水) 16:45:33.32 ID:haLx7cEO
MT4ウィンドウ右下に接続状況が出ています。 (例えば、5225/58 kb など) これの意味を教えてもらえませんか? 状態のいいサーバーを選ぶ際の目安になるのかなと思ったので。
賢い尾は下ちゃんたちに質問です GCI鯖は新規で使えないのけ?
739 :
さげます :2014/07/09(水) 20:35:33.35 ID:xlNaCONk
>>738 写真みたけど、ロット数を返す関数が例に載ってるけどナンピンには
対応してないことが伺える。
ロット数や桁数調整などの機能があり、業者依存が発生しにくいようです。
したのOSって関数はSLとTPをポイントで指定して成り行き注文できるよ
ウにした関数みたいです。スクリーンショットで映っているところは自動生成
で変化しない部分が映っているよです。可変部分のソースは見せていないので
出品者に問い合わせたほうがいいかもしれません。
>>736 左が受信データ、右が送信データのサイズです。
>>738 自分で組めないのにツールでEAを作るのは危険
失ってからでは遅いと思う
その前に量産ブログをどうにかして欲しいよな あれだけ自作自演ブログ量産して売れると思っているのな?
744 :
さげます :2014/07/11(金) 13:00:25.72 ID:xvNsCLMn
土日の足が途中で入ってる場合は土日の足だけ除外して、 平日の足が抜けてる場合は不定値となる シフト機能つきのMAインジないかな。自分で挑戦したが駄目だった。
>>745 文章わかりにくいな
除外とか不定値ってのは足が閉じる前は計算しないってこと?
足が閉じてからMA計算って意味なら簡単だよ
平均計算用の配列作って、そこには除外したい足を入れないようにして、 それで MAOnArray に掛けるだけみたいな?
すんまそん EA書いたことの無い初心者です。 某所で拾ってきたEAの ナンピン間隔の固定値Pip_Stepを、 ATRに係数をかけたものにしたくて、 もともとが extern int PipStep = 100; だったのを、 extern int Atr_Period = 30; extern int Atr_Ratio =100; int start() { のあとに { Pip_Step = Atr_Ratio*iATR(NULL,0,Atr_Period,0) ; } にしてみたんですが、 さっぱり係数がかかりません、 係数を変えても間隔に変化がありません 何かもちがってますでしょうか?
変えるところを間違えてるんでしょう。どこを変えるかはそれだけでは判断できません
>>749 ありがとう、
解決しますた。
変えた値が小さくてあまりかわらんように見えただけでした。
しょもないことですいません。
>>746 >>747 ありがとうございます。何とか自分でやってみます。
後一つ質問なんですが
始値 1.0996 のとき
逆指値買い 1.1024 を出したのにBTで約定しませんでした。足の高値安値は
高値 1.1034
安値 1.0996 でした。
BTで高値安値が指値/逆指値注文価格まで来てるのに約定しないケースを教えてください。
取引履歴にエラーは出ていません。
>>751 ヒゲみたいに一瞬その値をつけただけの場合は注文がこなせない場合もある
スリッページ指定で多少幅を持たせておくと約定しやすくなる
BTに約定しやすさなんてあるのか?
Open Price onlyでBTしてるとか?
>>756 もう1つ質問です。
上に引用したEAですが、エキスパート設定を見ると多くのパラメータがあります。
名前を見てある程度想像できるものもありますが、例えば「MATrendPeriod」
となると、想像もつきません。
(この場合は大元のソースがあるので、それを「理解」すれば良いのでしょうけどw)
市販のmq4ファイルが公開されてないEAの場合、パラメータは説明書に書かれて
いるのだとは思いますが、ネットで見つかる無料EAはドキュメントが無いものも多いです。
一般的なEAのパラメータとその意味の対応表のようなものは無いのでしょうか?
>>756 ストップレベルは業者で違い、通貨ペアでも対象の差があるよ。
いろいろな業者のデモ口座を開設して、実際に見てみればいいかと。
mq4がないなら、修正できないので、諦めて、別のEA探すか。自分で作るかかな。
>一般的なEAのパラメータとその意味の対応表のようなものは無いのでしょうか? 無い。変数名をどう記述するかについては制作者それぞれ まぁ同じ作者のEA同士ならある程度わかるかなと思うけど。
>>757 「MATrendPeriod」だとトレンド判定用のMAのピリオドかなぁ。
まぁ、結局は製作者しだいだけど。
>>1 DAX、DOW、Nikkei225 ほか当たって13箇所目でたどり着いたぜ。。
Gold、Oil無くて、さてどうしようか中だ!
質問です MT4をインストールしたんですが、 ナビゲーターウィンドウにカスタムインディケーターという項目が表示されません。 いろんなFX会社のMT4を入れたのですが表示されません。 なぜでしょうか?
バージョンアップに伴い罫線分析ツールに統合されるようです。
カスタムインディケーターの項目を復活させることはできないのでしょうか?
バージョンを落とす事により可能です。やり方はググって下さい。
あとバージョンを落とした後、自動アップグレードを抑止する必要があります。 最新バージョンでカスタムインディケーターの項目を表示する方法は知りません。
あるライン(例えばMAなど)とローソクが交差したら決済、というロジックを考えていて ポジションの発生は別の条件で行っています。 買いポジションがラインの上で発生したら問題なく動作するのですが、 ラインの下で発生した場合は、一度目のラインとの接触は無視し、2度目の接触で決済、という風にしたいのですが どういうロジックで組めば良いでしょうか?
>>769 static変数にカウンタを保持しておけばいいのでは?
適当ですが。
static int touch_count=0;
void check_close(pos_id)
{
if (/* 条件合致 */) touch_count++;
if (touch_count >= 2)
{
/* 決済*/
touch_count=0;
}
}
771 :
Trader@Live! :2014/07/18(金) 02:01:55.49 ID:mOzk4XWZ
mt、フォー!
772 :
Trader@Live! :2014/07/18(金) 03:27:58.15 ID:Rsy/4FWD
フォフォフォフォフォ
build670になってモニタ上の表示位置が記憶されなくなったんだけど これは仕様?
モニタ上の表示位置?
>>773 自分もバージョンアップしたら同じ症状です
俺右上に表示させてるんだけどmt4起動すると左上に勝手に移動してる
俺は新規でも既存アップデートでも、 表示に異常らしきものがないんだけど。 一部のブローカーのアップデートでなるのかな?
fxcmつかってるよ
アルパリの646でパーフェクトに動くex4ファイルを外為ファイネストのMT4で動かすと無茶苦茶になるんですがなんですか? ちなみに1分足でシグナルが出た時にチャート上に矢印を描くんですが、右に(未来に)130本ずれて描かれるんです
780 :
さげます :2014/07/19(土) 06:58:24.01 ID:Qz0d3UDD
>>769 for(int i=OrdersTotal();i>0;i--){
OrderSelect(i,SELECT_BY_POS);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic &&(OrderType()==OP_BUY && OrderType()==OP_SELL)){
//決済条件の添え字に使う タイムフレームは決済に必要なものを指定
int openbar = iBarShift(Symbol(),Period(),OrderOpenTime());
//ポジションを開いた時にすでに決済条件を満たしている場合
if(決済条件の添え字にiBarShiftの値==true){
if(決済条件2){
//不必要なら削除
}
}
//ポジションを開いたときに決済条件を満たしていない場合
else{
if(最新の値を使って決済条件をチェック){
//オーダーを閉じる処理
}
}
}
エントリー条件に決済条件が不成立の場合が含まれていない場合、ポジションを取った時にすでに
決済条件を満たしているパターンが存在する そのときだけ違う決済条件を指定する。
というパターンで書いてみました。
>>774 起動させた時、以前は前回閉じた場所で再表示されたのが 毎回決まった(初期?)位置で表示されるようになったんです
いつも特定の位置にずらして使っているのでメンドイです
Filesフォルダー内にできる「インジ名_Ini.dat」って何でしょうか? どういう条件でできるのでしょう。
783 :
Trader@Live! :2014/07/20(日) 18:05:12.50 ID:Jgei3VVY
レポートのプロフィットファクターってスプレッド含んでないんですか?
含んでるに決まってるだろ。
785 :
Trader@Live! :2014/07/20(日) 18:07:05.70 ID:Jgei3VVY
ありがとうございました
>>758 ありがとうございます。
とりあえずそこそこ使ってる方が多そうなAlpariでデモ口座開設してみました。
以下、AUDJPYでの比較です。
ストップレベル スプレッド
・Vision Trader Demo 150(15銭) 42(4.2銭)
・Alpari Demo 0(0銭) 201(21銭)
目的は「ストップレベル制限が大きすぎてEAがエラーになってしまうのを防止する」
ことなので、Alpariが0(指定なし)でうまくいきそうです。
ただ、スプレッドが5倍以上(21銭なんてまるで外貨預金ですw)なのは??です。
これではなかなか利益でませんよね?
ただ、ザイFXでの比較表を見てみると、Alpariのスプは1.5銭となってます。
もしかして、数値の単位が業者によって違う??
>>759 ,760
ありがとうございます。
とりあえず慣れるほうが先ですね。
いろいろMQ4ファイルを開いてみて勉強してみます。
788 :
Trader@Live! :2014/07/21(月) 06:02:50.73 ID:GGmGok/P
お前ら知らんの? MT4のBuild 500〜使えるの、今月一杯だぞ。 機関とMeta Quotes社が組んでの、個人EA潰し。
ソースは?
Build 509関係で、今月中に保存したり、 しておいたほうが良いと思われることが ありましたら教えてください
Close[i] やOpen[i]のiの最大って1000ですか? それより大きな数字を入れてPrintしてみるとarray out of range と出てしまいます
>>792 だめですね
ただ単にClose[1021]を表示してテストしてますが…
上の1000は間違いで1001まで問題なく引き出せてるみたいです
>>793 実際のヒストリカルデータは何本あるの?
MT4の設定で、表示バーの本数制限とか、保存バーの本数制限は?
797 :
◆Hikaru440I :2014/07/21(月) 16:06:29.51 ID:rGsBmOhj
Bars もしくは iBars()
>>796 チャートの最大表示バー、ヒストリカルの最大バー両方ともMAXに入れ替えてあります
それに入れ替えずとも2000本は最低でも取得するはずですよね
>>797 2014.6.1-30のテストで終了時6761と出ますね
ヒストリカルを入れてある2011.7〜だと終了時22000以上です
問題なくデータは入っているのかと。
>>798 訂正
ヒストリカルを入れてある2011.7〜だと終了時220000(※)以上です
わけがわからん
まぁbuild600系はそんなもんだろ。
>>800 これまでこんなに大きなパラメータ入れることなかったから
build600以降からなのか、もともとこういう仕様なのかもわからないんですよね…
自分だけがこうなのかも知りたかったんですが
他の方はClose[2000]とか読み出せますか
前にも同じ話題あったから探してみれば。結論忘れたけど。
今やってみたけど出たよ。 ArraySize[Close]-1まではちゃんと出るね。 ちなみに試したペアだとArraySize[Close]は34873でした。 あと、それより大きい数だとout of rangeエラーにならずに0を返すみたい。 ビルドは670ね
>>803 なるほど、私もClose[ArraySize-1]が読み出せるのが確認できました
少なくとも私の現状だと、1001まではそのままおk
それ以上を入れる場合でバックテストする時は、
インジに仕様するパラメータの本数分たまるのを待ってから動かすように書き直せば良いということか、
助かりましたありがとうございます。
バックテスト中なら1000本制限は元からだよ。 で、out of rangeが出るならまた別の問題でしょ。
一旦変数のデータをBars分作っておいて、指定した期間でのそのデータ群の最高値・最安値を求めたいんですけど どうやったらいいんですかね?
作りながら最大/最小覚えておくかArrayMaximum()/ArrayMinimum()使え。
809 :
Trader@Live! :2014/07/21(月) 23:16:16.25 ID:av91s1Wq
スマホでMT4使ってる人に聞きたいんですが、 例えば平均足の変化でアラートが鳴るインジをPCで使ってたとしてそのまま スマホでも使えるのでしょうか? 立ち上げたまま何時間くらい時間持つでしょうか?
>>809 インジは使えない
時間はスマホの性能次第でしょ
>>811 788じゃないけど俺も来月からBuild600以降じゃないとサーバに接続できなくなる
可能性が高いって聞いてるぞ
だからしょうがないから来週あたまにUPDATEするつもりだ
実際にどうなるかわからんが公式のMQL4フォーラムにアナウンスが出てたぞ(MT4のヘルプから飛べるやつ)
http://forum.mql4.com/63391
FOREX.comからは無責任なメールがきてるぞ。 しかし、ソースっつーのは > 機関とMeta Quotes社が組んでの、個人EA潰し。 についてじゃないのか。 お客様各位 フォレックス・ドットコムジャパン クライアントサービスです。 平素はMetaTrader 4口座をご利用いただきまして誠にありがとうございます。 先日MetaQuotes社より、2014年8月1日以降、Build600番よりも古いバージョン (Build500番台)のMT4をサポートしない旨の連絡が入っております。現在、 当社のMT4の最新バージョンは【4.00 Build646】になります。Build500番台の MT4をご利用のお客様は、早急に最新版へのアップデートをお願い申し上げま す。古いバージョンのままですと2014年8月1日以降、ログインができなくなる ことが想定されます。
多分最新版と思われるmt4が最適なアクセスポイントを探しているという画面からインストールが進まないんだけど 64ビットWIN7だからなのか?同じ症状の人います?
816 :
Trader@Live! :2014/07/22(火) 09:21:03.11 ID:vCZ+d6eP
>>811 すまん、遅くなった。
>>788 だよ。
THV V3 V4使ってる人達の間では、常識だよ。
ほとんどの人が、対策済みだ。
自分も先週は、苦労してMT4 6つバージョンアップ対応完了した。
あちこちから、連絡きてる。
君達も、自分が使ってるMT4のヘルプ→バージョン情報から調べてみ。
これとか、そうだよ↓
「お客様各位
平素はFXCMジャパン証券をご利用いただき、誠にありがとうございます。
Meta Trader 4(MT4)を開発提供するMetaQuotes社より、2014年8月2日(土)の取引終了をもって、
Build 600以前のバージョンのサポートが終了になるとの発表がございました。
2014年8月4日(月)以降、Build 600以前のMT4でログインした場合、「Old Version」のエラーメッセージが表示され、
お取引口座にログインができません。
Build 600以前のMT4をご利用のお客様は最新バージョンのMT4(Version: 4.00 Build 670)に
アップグレードをしてくださいます様お願い致します。」
皆、頑張ってプログラム組みなおしてね。
で、 > 機関とMeta Quotes社が組んでの、個人EA潰し。 のソースは?
818 :
Trader@Live! :2014/07/22(火) 09:26:38.12 ID:jJrjzyW/
iMAOnArrayの使い方で困っています。
お助け下さい。。。
double array[5] = {1,2,3,4,5};
// ArraySetAsSeries(array, True); --------- 疑問1
double ma0 = iMAOnArray(array, 0, 3, 0, MODE_SMA, 0);
// double ma0 = iMAOnArray(array, 3, 3, 0, MODE_SMA, 0); --------- 疑問2
double ma1 = iMAOnArray(array, 0, 3, 0, MODE_SMA, 1);
double ma2 = iMAOnArray(array, 0, 3, 0, MODE_SMA, 2);
PrintFormat("MA[0]=%G MA[1]=%G MA[2]=%G", ma0, ma1, ma2);
出したい結果: MA[0]=2 MA[1]=3 MA[2]=4
実際の結果: MA[0]=4 MA[1]=3 MA[2]=2
疑問1
ArraySetAsSeriesをTrueにしてもFalseにしても結果が変わりません。
説明にはこれ使えって書いてあるのに。。
疑問2
ma0の第二引数totalを0->3に変更すると、"MA[0]=2 MA[1]=0 MA[2]=0"、が出力されます。
全く意味が分かりません。
「total: カウントするアイテムの数」と説明にあるのですが、カウントするってどういう意味なんでしょうか?
なぜ引数を変えていないma1やma2の値までかわってしまうのでしょうか?
iMAOnArray
http://www.metasys-seeker.net/MQL4_Reference_ver1/18-26_iMAOnArray.html
819 :
Trader@Live! :2014/07/22(火) 11:53:15.51 ID:LNMoWQo2
>>818 疑問1
ArraySetAsSeries()のあとにarray[0]=1〜array[4]=5と値を入れちゃダメ?
ArraySetAsSeries()はその後の操作で配列の右側(添字の大きい方)を0という逆順序で操作出来る仕組みで、事前に値が入っている場合array[4]=5の要素array[0]の要素として処理されるようになると思う。
おそらくiMAOnArray()なども単純に配列の右端を0基点として計算するようになっていてArraySetAsSeries()の使用有無にかかわらずに結果が同じになるのんじゃないかな?
疑問2
ma0の第二引数totalを0->5に変更すれば望みの結果が得られるのでは?
3だと配列の要素数が3個と解釈されるので"MA[0]=2 MA[1]=0 MA[2]=0"と表示されるのは妥当だと思う。
821 :
818 :2014/07/22(火) 14:24:52.97 ID:jJrjzyW/
>>820 ありがとうございます!
iMAOnArrayは、常に左から右への計算なんですね。
ArraySetAsSeries使えっていうのは、arrayへのデータ代入時に使っておいて、それを引数に渡せよってことだったのか。。
疑問2もなんとなくわかりました。
822 :
Trader@Live! :2014/07/22(火) 14:27:30.27 ID:kqrZu2wL
大抵ちょろちょろっと変更すれば良いだけなんだがなあ
予約語が使われてるとか、ピリオドが入ってるとか、[]に戻り値が入ってるとかそんなのが大半なんだし
書き換えた事のある人ならわかると思うが
ピリオドは場合によってはいい加減にせーやって思えてくる
>>815 たまにありますよ
823 :
◆Hikaru440I :2014/07/22(火) 15:40:31.48 ID:VCeLPeWU
ただDLL使ってると厄介で、セキュリティが強化されてるからか全く意味不明なエラー、というか動かないことがときたまある あと使う文字コードが変わってるらしく、同じくDLL関連で日本語使うと文字化けするのの対策がすごくめんどい そのくせMQL側で文字コードどうにかすることができないからDLL新しく作るはめに・・・メンドイ あまりにめんどくさいのは無理に対応しようとせず509のコンパイラとメタエディタを使ってコンパイルすることにした・・・
これでやっとMT4と去らば出来るかw
DLL使ってみんな何してんの? 大抵のことはMQLだけで完結できると思うけど。
MQLは遅い。並列化できひん
YJFXからMT4をダウンロードさいたんだけど、 metaEditorが Version 5.00 Build 966 ってなってた。 これってMQL4とMQL5の両方が使えるの?
初心者です。おぢえてください。チャートの下に各通貨ペアのタブが出てて、順番入れ替えたりするのに便利だったんですが、いつのまにかでなくなりました。どうやったら戻りますか?
829 :
さげます :2014/07/23(水) 09:51:21.21 ID:Cjr3uJhc
>>828 gyazo.com/a4d7784d5948eff8ac18a69881f2b824
これですか?
これだったら裏にあるウィンドウがタブになっただけですよ
830 :
さげます :2014/07/23(水) 10:05:56.32 ID:Cjr3uJhc
>>823 これならいけるんじゃね
StringToCharArray(title, ansiTitle);
521 名前:Trader@Live![sage] 投稿日:2014/07/21(月) 15:22:37.96 ID:YdLqfaO1 初心者です。ひとつだけmt4について質問させてください。 前はチャートの下に各ペアのタブが出てて、並び替えに便利だったのですが、いつの間にか、タブが表示されなくなりました。戻し方教えてください。 522 名前:Trader@Live![sage] 投稿日:2014/07/21(月) 15:53:24.63 ID:qr/Kv2uN 表示→チャートバー
832 :
Trader@Live! :2014/07/23(水) 14:40:17.88 ID:1mrw/vmz
MT4用の商材売ってる所、Build600に対応できなくて四苦八苦してるなw 俺が使ってる証券会社も、個人のEAに対応して取引回数に制限かけてきたわ 個人で一日に何百回も取引する奴がいるから、こんなことになるんだよ
アルパリジャパンのヒストリカルデータダウンロードして解凍して開いても.csvファイルがないのはなぜ? プロパティ開くとデータ分の容量はあるのに 誰か同じような感じの人います?
次スレテンプレに 「今日突然動かなくなったけどお前らどうよ?」 「俺も」「俺もだ」「潰れたか?」「MT4おわた」 対策追加希望 あと1週間
835 :
Trader@Live! :2014/07/23(水) 18:31:09.73 ID:1mrw/vmz
あ、そうそう。 株の取引でも、10銭単位での表示が始まって、個人投資家全滅だわ。 今日ラジオ日経聞いてたら、聴取者の不満タラタラw 電話インタビュー受けてたアナリストも、 個人投資家を無視した、機関向けの対策だって言ってた。 今日の出来高の異常な少なさも、それが一因になってるみたいだ。 所でちょっと聞くけどさ、お前らの作ってるEAって 「ほとんどの大衆(鴨ねぎ)の裏をかく」ことって出来るわけ?
836 :
Trader@Live! :2014/07/23(水) 23:43:02.98 ID:m1nWL4cc
複数のMT4を入れる場合 Cドライブ(SSD128GB OSあり)以外のドライブに 入れたほうがいいのでしょうか? ログなどで容量がおおくなりHDD容量がすぐになくなるのでしょうか?
ログについては単なるテキストファイルなので容量は気にするほどのことはないと思いますよ。
>>833 csvが欲しいんだったらはエクスポートで書き出したら良いんじゃないの?
ダウンロードで引っ張ってくるのはMetaQuotesの持ってるデータだよって
メッセージ出てない?
>>838 たぶん、
>>833 は、アルパリジャパンのサイトで、配布しているヒストリカルデータのことを言ってるんだと思うよ。
ダウンロードか圧縮ファイルの解凍にでも、失敗してるんじゃないかな。
初心者なんですが、EAの動きを勉強するために取引してみたいのですが、 オススメの無料EAはありませんか? プロバイダーへの加入条件があるものや 標準添付のもの以外でお願い致します。
本だと旧MQL4の情報しかないんじゃないかな。
843 :
Trader@Live! :2014/07/25(金) 17:40:31.45 ID:ET+73seH
codeBaseから適当なの見つけてくるとか
最初から入ってるMAでドテンするヤツがなかったっけ とりあえずあれ読んでみたら?
845 :
Trader@Live! :2014/07/26(土) 00:14:39.68 ID:ReGFmXZe
画面の一番下のタスクバーをたった一度間違えて 画面半分くらいまでビヨ−ンて太くしてしまって すぐ元に戻したのに MT4を起動するたびにチャートが上半分に縮こまって表示されます 勿論そんな状態で保存などした訳もないのにです どうしたら直りますか?
ビヨ−ンw関係ないけど豊丸のコピペ思い出してワロタ 解決案も出せないのにすまぬ
847 :
Trader@Live! :2014/07/26(土) 01:46:18.67 ID:ReGFmXZe
いえいえ反応だけでもありがたいです ところがなぜか直りますた 状況をもっと細かく説明しようとよく見たら タスクバーよりも、MT4ってチャートの下に表示するためのシートみたいのがあって それを小さくしてしまったみたいで 表示の全画面表示っての押してみたせいか直りますた その代わり画面下にターミナルを表示しときたいのに それがいちいち消えて起動するんですよね もードリフのコントみたいww
MT4上でF11押すと、チャートのみ・ターミナルetc表示を 切り替えられるんだけど多分それも両極端な表示されちゃうよね?
何でタブが下側なんだろう 普通上だろ
850 :
Trader@Live! :2014/07/26(土) 10:43:17.49 ID:MgXxCBJZ
すいません、教えてください いったんブローカーのMT4を削除して、最初から同じブローカーの MT4をまっさらの状態でダウンロードしなおしたいのですが ダウンロードの場所にある〜exe.とProgram Files(X86)の中の 該当箇所を削除しても、ダウンロードしなおすと以前の状態のMT4が復元 されてしまいます。こうならないようにする方法を教えてください
Version4 build646 なんですが、 以前のビルドで使っていたインジの動作がかんばしくないんですが、 同じ悩みの人、解決策知っている人はいませんか? 当方の症状は、 オブジェクリエイトでラベルを、右端に表示しているのですが、 表示位置が、画面の右端以上に食い込んで、途中部分が見えなくなってます。 しかし、インジの再投入や、時間足を切り替えたりすると正常になります。 ですが、一旦MT4を再立ち上げすると症状があらわれます。 しかも、そのオブジェクリエイトのラベルは上から順に数個並ばせてるのですが、 いつも決まった1つ2つが異常で、残りは正常な位置のままです。 なんなんでしょうか????????????><
>ダウンロードしなおすと以前の状態のMT4が復元 『ダウンロードしたファイルをインストールしなおすと』ならまだしも ダウンロードしなおしただけで復元なんてしないのだけれど・・ ついでに「削除」じゃなくて「アンインストール」しているのだろうかもキニナル
>>850 ちゃんと消えてないのでは
消すのはメニューのファイル→データフォルダを開くの場所じゃない?
854 :
850 :2014/07/26(土) 11:38:35.79 ID:MgXxCBJZ
すいません、説明が知識不足なのを露呈していましたが Mt4 アンインストールで検索したら、根こそぎPCから消す方法を書いた HPを見つけまして、そのとおりにしてから改めてインストールしたら まったく初期の状態になりました お手数おかけしました
855 :
Trader@Live! :2014/07/26(土) 12:20:37.84 ID:ReGFmXZe
>>848 ターミナルを「表示」させてからF11を押すと
ターミナルが出たり消えたりはしますが・・・
と書いてから確かめに起動しなおしたら
なぜかターミナル表示で立ち上がりますたWWW
ありがとうございますた。
質問よろしくお願いいたします。 VQというインディケーターを以前使用していて、 最新のMT4に入れましたところ、使うことができません。 以前のMT4を使うしか手はないのでしょうか? よろしくお願いいたします。
コード修正しろよ
BTについての質問です。 リーマンショックの時期を除いてBTするのは過剰最適化というのは分かりますが 毎年4〜6月でだけBTするというのは季節性を考慮しているのであって 過剰最適化ではないとするのは乱暴ですか?何か判断基準ありますか?
>>859 4〜6月だけ有効だという理由はあるのでしょうか
それがわかっているのであればいいかもしれません
私を含め、そういう最適化は好まない人が多いでしょうが…
>>859 それは有りだと思います。
毎年、特定の時期だけしかEAを運用しない人を知ってます。
862 :
Trader@Live! :2014/07/27(日) 14:20:52.68 ID:5R8QcY/S
配列に値と名前を格納し、値を昇順(降順)でソートしたときに名前と一致させたいんですけど 多次元配列だとint型とstring型を連動させるのは無理のようなので何か良い方法は無いでしょうか?
一番簡単なのは文字列の先頭に値を文字列で追加する方法かな。
>>862 名前格納用配列を用意。
1-USDJPY
2-EURUSD
みたいに、数値を配列インデックス値にして、名前を参照できるようにしておく。
次に、値とインデックス値の2次元配列を用意。
900-1
500-2
この配列を ソートして
500-2
900-1
にするのは出来るので、インデックス値から元の名前を参照する。
通貨別ランキングを作った時はこんな感じで実装しました。
多次元配列のソートてどうやるの? ArraySort()にはそんな仕様書いてないよね。
ヘルプに書かれていないので今は出来なくなったのかな。 昔は1次元目の値でソートされたんだ。
867 :
Trader@Live! :2014/07/27(日) 16:59:01.65 ID:5R8QcY/S
>>864 名前用に格納するには1はどれ、2はどれと手書きで関連づけて初期化するイメージでしょうか
またソートした値の結果に対し名前を参照するのは関数や構文で関連付けできますか?
できればPrint()の中で
i=1 ,500-2 ,2-EURUSD
i=0 ,900-1 ,1-USDJPY
のような結果が理想なんですが。。。ちなみにデータ数が150位あります。
ビルド600以降専用になるけどstructかclassを使えば楽。
>>867 string indexToName[]={"AUDNZD","USDJYP","EURUSD"};
double Data2D[3][2]= {10,0,900,1,500,2};
void OnStart()
{
for(int i=0;i<3;i++){
Print("i=",i," ",Data2D[i][0],"-",Data2D[i][1]," ",indexToName[(int)Data2D[i][1]]);
}
Print("Let's enjoy arraysort now !");
ArraySort(Data2D,WHOLE_ARRAY,0,MODE_DESCEND);
for(int i=0;i<3;i++){
Print("i=",i," ",Data2D[i][0],"-",Data2D[i][1]," ",indexToName[(int)Data2D[i][1]]);
}
}
頑張れば出来るんじゃない? よく知らんけど。
870 :
Trader@Live! :2014/07/27(日) 19:45:37.14 ID:5R8QcY/S
>>869 indexToName[(int)Data2D[i][1]]
こういった代入の仕方あったんですね。光が見えましたわ。ありがとうです
以前は使えてたex4ファイルがだめだったり、コンパイルエラーが直らなかったり頻発 もうむりぽ何が何だかわからない
>>868 その場合、ソートは自前で書く必要があるの?
>>871 旧の ex4は諦めるしか無いでしょうね。
コンパイルエラーが治らないのは、例えばどんなコード・・?
>>873 はあ、なんか色々あったんすね
コンパイルエラーは変数の宣言の関係のが出る。
しばらくコードいじってなかったけどたぶん地道に直せばなんとかなるとは思います・・(´・ω・`)
え?ex4の互換なくなったの? まじならありえん...
876 :
死にそうな人 :2014/07/28(月) 02:44:34.09 ID:uB2tpkQ7
877 :
Trader@Live! :2014/07/28(月) 05:27:05.85 ID:ich6Z6dA
>>871 Build 670になって、旧MT4で書いたEAを新メタエディターでコンパイルしても
Errorはほとんど出なくなったし、Warningも少なくなった。99%のEAはそのまま
使えるはずだよ。
新MetaEditorがいやなら、旧エディターでコンパイルしたものをMQL4ファイルに
そのまま移すか、旧MetaEditorのフォーマットを新MetaEditorにコピペで入れ、
それを使ってソースを書けば違和感はなくなるよ。
>>876 DLLがうまく呼び出せないことはあるね。自分の場合、Libraryのexeが自動で
立ち上がらないので、MQL4を開いてクリックして立ち上げる必要があった。
まだまだ修正が進むと思う。
そういえば、この週明けはBrocoが止まってから2周年だな
いつまで死んだ子の歳を数えるのかw ってかなんでブロコって有名だったんだっけ? 膨大な種類の過去レートが無料で手に入ったからよく使われてただけかな
build 646だがEA エディターで編集してコンパイルしてもエラーがでる。 なぜ? 間違ってないはずだ。なにかかわったか??
ちなみにどんなエラーメッセージ?
MQL5に登録して、MT4でシグナルを購入しました 自動でシグナル元と同期されるのはわかっていたけど、 1週間前のポジションとかも同期されて これじゃ絶対に勝てなくない?
なにそれこわい
最適化重すぎ
1ヶ月位前から、起動すると毎回パスワードを聞かれるようになったんだけど自分だけ? 「ログイン情報を保存」にチェックを入れてもパスワード欄だけ空欄になってる・・
色々インジ入れるとクソ重いですよね でもこれ以上削れない…そんな時は更新間隔を減らしてみましょう ↓↓↓ extern int Update_Interval=10;//10回ティックが変わるごとに更新。または新ローソク足が出現で更新。 //+------------------------------------------------------------------+ //|更新間隔 | //+------------------------------------------------------------------+ bool UpdateInterval() { static int cnt=Update_Interval; static datetime dt=Time[0]; cnt += 1; if(cnt >= Update_Interval) {cnt=0; return(True);} if(dt!=Time[0]) {dt=Time[0]; return(True);} else { return(false); } } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if(UpdateInterval) { インジケータ計算部本体 } return(0); }
>>887 突っ込みどころ多くてワロタ
staticの意味わかってる??
Version4 build646 なんですが、 以前のビルドで使っていたインジの動作がかんばしくないんですが、 同じ悩みの人、解決策知っている人はいませんか? 当方の症状は、 オブジェクリエイトでラベルを、右端に表示しているのですが、 表示位置が、画面の右端以上に食い込んで、途中部分が見えなくなってます。 しかし、インジの再投入や、時間足を切り替えたりすると正常になります。 ですが、一旦MT4を再立ち上げすると症状があらわれます。 しかも、そのオブジェクリエイトのラベルは上から順に数個並ばせてるのですが、 いつも決まった1つ2つが異常で、残りは正常な位置のままです。 なんなんでしょうか????????????><
>>889 異常と正常なものがあるなら、違いをソースコードから調べれば良いんじゃない?
build600以降の描画オブジェクトまわりは仕様変更されてるから影響あるなら ソースの修正が必要でしょ。
MT4から、 hMailserverに接続できなくなってしまいました 誰か分かる方いますか?
893 :
さげます :2014/07/31(木) 15:25:57.15 ID:cStG1hn3
DLLの作成方法 単純なC言語でw
http://msdn.microsoft.com/ja-jp/library/bfxstf79.aspxでプロジェクト作成 ソリューションエクスプローラー ソースファイルを右クリック
追加 新しい項目 VC++ C++ファイル(.cpp)
ソリューションエクスプローラー プロジェクトを右クリック プロパティ
構成プロパティ 全般 構成の種類 ダイナミックライブラリ(.dll)
#pragma data_seg(".MYSEC")
int data = 0;
#pragma data_seg()
void __stdcall set(int val)
{
data = val;
}
int __stdcall get(void)
{
return(data);
}
894 :
さげます :2014/07/31(木) 15:28:28.57 ID:cStG1hn3
DLLの実行パスが同じならこれでデータのやり取りができます。 古ーい書き方です
896 :
さげます :2014/07/31(木) 20:30:24.92 ID:cStG1hn3
これだとモジュール定義ファイル用意しないとだから修正した #pragma data_seg(".MYSEC") int data = 0; #pragma data_seg() extern "C" __declspec(dllexport) void __stdcall set(int val) { data = val; } extern "C" __declspec(dllexport) int __stdcall get(void) { return(data); }
今まで使っていたMT4が古かったのでビルド600系に上げようとダウンロードしたんだけど パスワードを完全に忘れている('A`) なんか、ダウンロード→自動でログインIDとパスワードを引き継いで起動っとかいうのはできませんか???
ブローカーに連絡してパスワード再発行してもらうのが手っ取り早い
ストラテジテスタでバックテストをしているとき 資金残高が十分に残っているのに、 stopped because of Stop Out と表示され期間を残して、バックテストを終了してしまうことが あります。 直前にDDが起きたときに起きているようです。 といっても残高が枯渇するわけでないです。 またこのときの成績をみるとスタート地点より利益が出てPF1.2ぐらいです。 これらの原因と対処の方法わかるかたいらっしゃいますか?
証拠金不足
>>900 と重なるけど、ロット調整をミスって
ポジるための証拠金が足りなくなった時に出る希ガス
ダウ先見る方法ないんですか?
重い思いサイトだな ブラクラかと思ったぞ
905 :
C ◆jPpg5.obl6 :2014/08/01(金) 20:06:44.90 ID:nIw+48PO
>>905 やってみたのですが、うまくいきました。
何かエラーが出るのでしょうか?
そのC#のDLLがさらに別の.NETアセンブリを参照しているなら それをterminal.exeと同じフォルダに置いてみるとか。 動きません、じゃ分からないから、もうちょい詳しく状況を書いた方がいいよ。
908 :
さげます :2014/08/02(土) 09:11:59.27 ID:z7xS+EJp
お世話になります。 3本のバンドをつくりたく、 buf0[i]=icustom(...); buf1[i]=icustom(...)+kk; buf2[i]=icustom(...)-kk; としたときにバンドの幅が上下でずれます。 同じ変数を足したり、引いたりしているのに何故ずれるのでしょうか。 もし、お分かりの方がいらっしゃったらご教示いただけませんでしょうか。
1. 目の錯覚 2. 3回呼んでいるiCustom()の引数が違う 3. i/kkの値が違う(その3行が連続しているなら除外) double v = iCustom(...); buf0[i] = v; buf1[i] = v + kk; buf2[i] = v - kk; で確認。チャート上でトレンドラインを引いて幅を確認。 で解決するはず。
>>910 様
さっそくのご回答ありがとうございます。
教えていただいたとおりのプログラムにかえましたが、解決しませんでした。
ためしに変数kkを1にしたところ、意図した通りの3本バンドはできました。何故か変数にすると、上下の幅が違くなります。
ちなみに、変数kkは
double kk = mathabth(icustom(...));
で求めています。
再現するソースをうpれ。 それができなければせめてどう変になるのか具体的に書け。画像を貼れ。
Build670になってからナビゲータの小窓で、 スクリプトのカテゴリを開いた状態でMT4を一度落として 立ち上げ直すと、罫線分析ツールのカテゴリが開き、 スクリプトのカテゴリは閉じた状態で立ち上がるようになった。 他にも同じようになった人います?
icustomの戻り値とkk変数の型が一致してない、丸められてるとかじゃないのかね
型が違っても幅は変わらんだろ。
桁落ち?
917 :
Trader@Live! :2014/08/02(土) 17:47:20.98 ID:mCwa7ux4
C言語初心者です。チャート上で自分で引いた既存ラインのデフォルト名そのものを変更したいのと、 背景として表示をEAを通して変更するのは可能ですか?もし可能なら概略だけでもPLEASE teach me
>>913 やってみたら同じようになる。
仕様と思うしかないかも。
>>918 これまでそんな事なかったしカスタムインジケータを罫線分析ツールに
統合した際のバグなような気がする。本家に要望だしてみます。
スクリプトは日常的に使うので不便
>>917 デフォルトの名前は多分変えられないんじゃないかな。
2つ目はObjectSet(OBJPROP_BACK)すればいい。
意図通りの値がセットされてるのか、Printで確かめればいいんじゃないの 値は正しいのに表示がおかしいならバグでしょ
まったくだな
Printで値を確かめるのは基本中の基本だろ
>>911
923 :
Trader@Live! :2014/08/02(土) 19:23:26.06 ID:mCwa7ux4
>>917 デフォルト名のプレフィックスそのものを変える方法は知りませんが、
(1)EAなどのプログラムの中で新しいオブジェクト名でラインを複製後自分で引いたデフォルト名のラインを削除する。
(2)EAなどのプログラムの中に(マウスドラッグなどで)自分でラインを引ける処理を組み込む。
などbuild 600以降のMT4 なら自分がやりたいように好き放題出来るのじゃないかな?
すんません、 新バージョンでswingpointviewがグレーアウトするんですが 対処方法知ってる方いたら教えてくださいませ
水平線を引く際に幅が設定できる(太線を描ける)インジって無いでしょうか。 性格に1.23456に抵抗線、とかではなく、「この辺のレートに抵抗帯あり」みたいなのを表したいです。 縁の色が段々薄くなってゾーン(本じゃないw)みたいに表示できるとより嬉しいのですが。
928 :
925 :2014/08/06(水) 22:01:09.61 ID:uSCVQD1p
あれから色々やってみたところ、 古いPCのXP環境では問題なく動作するようです。 私は、現在、Windows7ですが、何か関係あるのでしょうか?
929 :
925 :2014/08/07(木) 00:43:43.65 ID:kyH1NvHX
先ほどXPのMT4が自動バージョンアップされ、 Version4.00 Build670になり、Windows7と同じ症状(送信できない)になりました。 これはMT4側の問題なのかもしれませんね。
MT4フォルダー下のファイルを例えば外部のHDDに移動とかって やはり無理ですか?
リンク張ればいけるんちゃうの。
932 :
Trader@Live! :2014/08/08(金) 21:20:24.32 ID:l3zWIHUS
test
カスタムインジをbuild600用に変換してくれるツールないの? PHP5みたいに互換オプションくらいつけてくれりゃいいのにひどいもんだねw
934 :
Trader@Live! :2014/08/09(土) 10:40:50.33 ID:eK3OfHpP
>>933 なに言ってるの?
MT5とMT4に互換性を持たせてNew MT4としたのだから、旧MT4(MQL4)で書かれた
インジやEAは原則(99%)そのまま使えるよ。
動かないが
936 :
Trader@Live! :2014/08/09(土) 11:08:57.90 ID:U8Y/koX8
その1%の中に入っている、つらい立場なのでは?w
デバッグすると言う選択肢はないのか?
機械的にやれそうな気もするけど、実際に書いてみるにはモチベーションが足りんなw
演算子の優先順位すら変わっててソースレベルでは全然「そのまま」で動くレベルじゃないからね。 どっちかというと、古いMT4でコンパイルしたEX4だけを持ってくるほうがそのまま動く可能性は高い。
>>940 演算子の優先順位こそ機械的に置き換えできるじゃん?
モヤっと想像する限りだと構文解析までしなくても正規表現で
いけそうな気するが・・・・・・
時間指定で15時にMAがGCなら16時から20時までボリバンタッチで買いといった場合どのようなコードになるでしょうか?
943 :
Trader@Live! :2014/08/09(土) 20:55:41.21 ID:1CnGIFcA
Cドライブ(OS) SSD128Gなんですがここに複数業者(2社位)のmt4をインスト しても容量的に問題ないでしょうか?(取引してるうちにデータ容量が大きく・・)
夏休みの夏厨、こんなとこにも現れるんだな
945 :
Trader@Live! :2014/08/09(土) 21:14:28.18 ID:xVCzpHhQ
上ひげや実体より下ひげが長い場合「↑」を、逆で「↓」を表示するプログラムを作成したいのですが 何か改良元にできそうなmq4プログラムはないでしょうか? ほとんど初心者なので1から作れず、似たようなのを改良しかできません。
946 :
Trader@Live! :2014/08/10(日) 00:16:43.69 ID:QBt4WqMB
win7 32bit build600以降のmt4もやはりC:プログラムファイルにインストせず C:直下にフォルダー作成してインストしたほうがいいのでしょうか?
947 :
Trader@Live! :2014/08/10(日) 17:41:30.07 ID:Xb+NEb+i
>>947 よく読んでないけどフリーズするのは
while(i>=0)のループ中の
i--;
をコメントアウトしてるせいです
dojiって日本語の「同時」から来てるんだな。
950 :
Trader@Live! :2014/08/10(日) 18:58:51.94 ID:Xb+NEb+i
ドジ踏んだじゃないようです
951 :
Trader@Live! :2014/08/10(日) 19:12:33.48 ID:Xb+NEb+i
単にwhileループを削除したらクルクル回転はなくなりましたが チャートには何も表示されませんでした。
チャートが顔面蒼白とか水色がクルクルとか、意味不明過ぎだわ。
953 :
Trader@Live! :2014/08/10(日) 20:19:54.78 ID:Xb+NEb+i
顔面蒼白ってのは反応なしでチャート全体が薄白くなることで その後、Win7でアクセス中を意味する輪が回ってる状態になることです
教えて下さい。Build670にしたら PriceTalkerが喋らなくなったのですがどの様にすればよいのでしょうか? よろしくお願いいたします。
あきらめる・・・
956 :
Trader@Live! :2014/08/11(月) 02:03:12.49 ID:QY0zBQgK
faiさんのブログも止まっちゃったし PriceTalkerは画面みないで寝ながら聞いてるのに便利だったんだけどね
957 :
925 :2014/08/11(月) 05:09:37.25 ID:HABr31SI
もう何日も半徹夜で色々やってるが駄目だわ。 hMailServerを紹介してくれた人はいずこに。。。
>>925 そのインジ ex4 しかないらしいけど
実際,複雑なことやってないなら,自分で書いちゃったほうが早いんじゃないの
もしくは仕様を書けば誰かつくってくれるかもしれないし
hMailServer のことは知らないが
たぶんバージョンアップで正常にインジが走らなくなったんだろう
ソースコードがない以上,どうすることもできないと思うよ
959 :
925 :2014/08/11(月) 10:24:00.29 ID:HABr31SI
普通にメールは送れるんで、既存インジは全く問題ないです。 ただhMailServer経由にしないので、VBScriptが使えないのが問題。
960 :
Trader@Live! :2014/08/11(月) 10:55:18.57 ID:DTO35Jx3
プログラムでDllを利用している場合、Build 670ではうまく呼び出せないもの がある。Librariesの中のDll exeを別途クリックすると立ち上がるものがある から試してみるとよい。
バックテストのとき 日足、2014.1.1〜2014.8.1 にしても、テストバー数が1154もあるんですが どうしてこんなに多いのですか? ちなみに2013.1.1〜2014.8.1にすると、こちらはちゃんと300近く増える 足はmeta quotes + FXDDで作成しました
エントリーしたローソク足から何本目で決済というプログラムのコードを教えてください
現在のBars - エントリーした時点のBars = n でクローズしろ
>>963 回答ありがとうございます
適当にググったらibarshiftとかいうのがあったのでそれを使って自己解決しました
r'''¬
{,、.-:'!ー--::;ァ
. ,.:'´::::::/:::|::、:、\
//:::::_;/!;|::ト::}_ヽ:ヾ:、
,リイ:::/ ' lノ lハ::!:::i ``
|:::!/:|━ ━ハ|V
|i::゙|::|.、 r'ァ ,.ィ:|
.!:::ハ:レ''f ̄t<l::j|
ViewPositionInfo.mq4 っていうポジを集計するインジがあるんですが(
http://mt4-traripi.seesaa.net/article/181767571.html )
これの買い平均建値、売り平均建値を青と黄の水平線で表示するのをつくりたいんですが(ペアは一番上の1つだけでいいです)
ViewPositionInfo.mq4の中をみても、どれが平均建値の数値なのかわかりません わかる方、教えてくらはい
967 :
Trader@Live! :2014/08/14(木) 15:21:23.42 ID:wSp/K1+T
わかった!avgSellPrice、avgBuyPrice、だな でもこれを取得するコマンドって何?
968 :
Trader@Live! :2014/08/14(木) 15:45:13.34 ID:wSp/K1+T
他のインジのデータ指定ってどうやるんだろ?
969 :
Trader@Live! :2014/08/14(木) 15:57:12.58 ID:wSp/K1+T
ViewPositionInfo.mq4 の中に埋めこんだほうが早いのに気ずいたwww
天才
971 :
Trader@Live! :2014/08/14(木) 16:32:19.31 ID:wSp/K1+T
あれコンパイルするとめちゃエラーでる なんで?
972 :
Trader@Live! :2014/08/14(木) 16:58:02.51 ID:wSp/K1+T
avgSellPrice、avgBuyPricenoの定義のすぐしたに extern color avgSellPriceLineColor = Yellow; extern string avgSellPriceLineName = "avgSellPrice_Line"; int init() { ObjectCreate(avgSellPriceLineName, OBJ_HLINE, 0, 0, 0.0); ObjectSet(avgSellPriceLineName, OBJPROP_COLOR, avgSellPriceLineColor); return(0); } int deinit() { ObjectDelete(avgSellPriceLineName); return(0); } int start() { ObjectSet(avgSellPriceLineName, OBJPROP_PRICE1, avgSellPrice); return(0); } とやってみたけど、だめな場所ってどこか教えてくらはい
973 :
925 :2014/08/14(木) 19:29:06.64 ID:qS7qwAsC
そこに自分のIP書けと書いてあるがそれじゃだめなんか。
975 :
Trader@Live! :2014/08/14(木) 20:09:23.11 ID:wSp/K1+T
すいません 誰か上のViewPositionInfo.mq4の改造やってもらえませんか? (買い平均建値、売り平均建値を青と黄の水平線で表示する)
977 :
Trader@Live! :2014/08/14(木) 21:55:04.81 ID:wSp/K1+T
>>976 ありがとうございますた! サンクスです!
978 :
909 :2014/08/14(木) 22:05:36.35 ID:PPEJwLKd
979 :
925 :2014/08/14(木) 22:24:04.08 ID:qS7qwAsC
981 :
925 :
2014/08/14(木) 23:46:56.26 ID:qS7qwAsC