専門家集団 - ページ 5

 

понятно, что можно люфт сделать, но это же не серьёзно.... а если придётся люфт 10-20 пипсов делать, "для надёжности", да на М30, сказка просто =)


これと何の関係があるのですか?"+Point" は、価格の有効数字下一桁を丸める問題を解決します。10~20pipsはおろか、2、3pipsも関係ない。 。
でも、今は使えない、リアルで使おうとするとどうでしょう? "ヘッジ "しろと言われたら =)
何が問題かよくわかるはずです、大丈夫・・・ただ、どこでも+Pointを入れて、取引で+5~10Pointもらえるなら(建値、SL、TP・・・)いいんですが。確かに、悪いEAは救えないが、良いEAは助けることができる...。
 
...あらゆるところに+ポイントをつけて、1トレード(始値、SL、TP...)あたり+5〜10ポイントになれば。悪いEAは助けられないが、良いEAは助けることができる。

IMHOでは、5~10ポイントの差はありません。
このようなスリッページが致命的なシステムでは、実際の取引では通用しない。
人間が見積もりをする場合は、数十秒待たされることもある。
もっとかかるかもしれません。

加えて(これもIMHO)。
1分単位での実装は難しいでしょう。
ブローカー側に自動化システムがない場合。
そして、オートマトンでも非常に怪しい。

実際のタイムフレームは1時間以上からとなります。
また、特にトレーリングの場合、5pipsは大きな役割を果たしません。
 
... а так понатыкаешь везде +поинт, и получится по сделке +5-10 поинтов (цена открытия, СЛ, ТП...). Понятно, что плохого эксперта не спасёшь, но хорошему поможешь...

IMHOでは、5-10pipsの差は出ません。
そのような滑りが致命的なシステムでは、実戦では通用しない。
引用している人がいれば、応答は何十秒も待たされることもある。
もっとかかるかもしれません。

加えて(これもIMHO)。
1分単位での実装は難しいでしょう。
ブローカー側に自動化システムがない場合。
そして、オートマトンでも非常に怪しい。

実際のタイムフレームは1時間以上からとなります。
また、特にトレーリングの場合、5pipsは大きな役割を果たしません。
Makさん、そうですね...。完全に...
しかし、うまくいかないというのは反対です。エラーを見つけなければならない。
 
MQL4 の開発者は次のオプションを指定しています。


「他のタイムフレームや他の通貨ペアで履歴 データにアクセスできるようにすることも可能です」。このようなデータを得るためには、まず1次元の配列を定義し、
"ArrayCopySeries "関数でコピー操作を行う必要があります。また、関数を呼び出す際には、
より少ない数のパラメータを渡したり、デフォルトのパラメータを指定しないことも可能です。"

double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



このオプションを実装しようとしたところ、問題が発生しました。

 eur_close_m1[] 


は、何らかの理由で配列にデータを取り込むことができません。何が問題なのか、ご教授ください。










 
double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



このオプションを実装しようとしましたが、問題が発生しました。eur_close_m1[]配列 が、何らかの理由でデータを受信していないのです。 ご協力をお願いします。


GetLastErrorは 何と書いてありますか? これがエラー4066であれば、まだデータが投入されていないことを意味します。しばらく時間をおいてから、もう一度試してみてください。
 
double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



Мы пытались эту опцию реализовать, но столкнулись с проблемой: в массив eur_close_m1[]
почему то не поступают данные. Помогите разобраться в чем проблема.


GetLastErrorは何と書いてありますか? 4066エラーなら、まだデータがダウンロードされていないだけでしょう。しばらく時間をおいてから、もう一度試してみてください。


いいえ、「更新中の履歴データを要求する」には至りません。 からデータを
取り込む ことを前提としたExpert Advisorは、まさに死に体です。この機能がサポートされているかどうか疑問がある。データインポートでExpert Advisorを復活させた前例はあるのだろうか、生き証人はいるのだろうか。
 
re Private:
前例があります =)
ArrayCopySeriesを使った エキスパート(現役)がいます:
	double high[];
	ArrayCopySeries ( high, MODE_HIGH, _Symbol, Trade_TimeFrame );

	double open_price = NormalizeDouble ( MathMax( high[0], high[1] ), digits );


Expert Advisorは8つのペアと4つのタイムフレームで同時に動作し、すべてが正しく動作します。やはりGetLastErrorの内容を確認する必要がありますね...。念のため:マーケットオーバービューは正しいペアを持つ? 多分それは何らかの形で影響を与える....(推測:)




 
以下は、データをインポート したコードのスニペットです。
なぜ差分をカウントしないのか、ご存知の方はいらっしゃいますか?


double ma_6O=iMAOnArray( ma_O, ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1);

double ma_6C=iMAOnArray( ma_C, ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-С = "+diff_OP);

 
<br/ translate="no">
以下は、データのインポートを含むコードのスニペットです。
なぜ差をカウントしないのか、誰か知っているかもしれませんね。


double ma_6O=iMAOnArray( ma_O, ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1);

double ma_6C=iMAOnArray( ma_C, ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-С = "+diff_OP);


もちろん、ArrayCopySeries関数は 配列ではなく、コピーした要素の数を整数値で返すので、何もしません。Expertログを見てください。引数に配列がない旨のメッセージがあるはずです。
 
コードを書き直したのですが、なぜかまだうまくいきません......。


double ma_O[];
double ma_C[];

ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1);
double ma_6O=iMAOnArray( ma_O, 0, 3,0,MODE_SMA,1);

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);
double ma_6C=iMAOnArray( ma_C, 0, 3,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-C = "+diff_OP);