どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 665

 
生み出す
nikitasa1997:

こんにちは、フォーラムユーザーの皆様、初心者を助けてください。私はカスタムインジケータを作りました、以下はオリジナルのコードのように1000行以上あるコードの断片です、それが私がコード全体を貼り付けていない理由です。

'+' - プログラムが複雑すぎる。このようなエラーが出ます。

フォーラムのスレッドを読むと、このエラーは関数が長すぎる場合に発生するそうです。ある関数を複数のサブ関数に分割するにはどうしたらよいですか?例として、私のコードを記述してください。


この関数でfilter.mq4 ファイルを作成し、それを\MQL4Include に保存します。


で、インジケータから呼び出す #include <filter.mq4>

変数responseが インジケータにある場合は、宣言する必要はなく、必要な場所で使用するだけです。

 
evillive:
生み出す

この関数でファイルfilter.mq4 を作成し、㊙MQL4Include に保存します。


で、インジケータから呼び出す #include <filter.mq4>

変数responseが インジケータにある場合は、宣言する必要はなく、必要な場所で使用するだけです。



ありがとうございました!)
 
Chiripaha:

目の端には、先ほど他の人が提示した解決策が映っていました。テンプレートを読み込む際に、権限制限がある場合があります。これは、ChartApplyTemplate() の記述に反映されています。しかし、これはあくまでオプションとしてです。といったところでしょうか。そのため、可視化経由で読み込むと、すべてのパーミッションが保存されますが、プログラム的に読み込むと、パーミッションが制限されます。

機能説明から引用 します。

テンプレートを保存すると、グラフィック上で動作するプログラムの権利(取引する権利とDLLを使用する権利)も記憶されます。セキュリティ上の理由から、これらの権利は、テンプレートがチャートに適用される際に制限される場合があります。

ChartApplyTemplate()関数でテンプレートを適用してEAを起動した場合、取引権限やDLL使用権限を増やすことができない。

ChartApplyTemplate()を呼び出すmql4プログラムに取引権限がない場合、テンプレートの設定に関わらず、そのテンプレートを使ってロードされたEAにも取引権限がありません。

ChartApplyTemplate()を呼び出すmql4プログラムに取引権限があっても、テンプレートの設定に取引権限がない場合、テンプレートによって読み込まれたEAには取引権限がないことになります。


しかし、結果は同じです:視覚化なしのテスターでEAは何もしませんが、視覚化あり - すべて計画通り))私は知らない...おそらく開発者は本当にテンプレートなしで他の何かを書くか、考え出す必要があります。

 

ここで質問です。

例えば、クエリ結果のキャッシュを持つ全文検索サーバーがあるとする。与えられたキャッシュ時間に対するキャッシュ効率(最大キャッシュサイズとヒット率)を計算する必要があります。

入力データ

プログラムは、サーバーが受信したクエリを、時刻と検索文字列、およびキャッシュの保持時間(秒)でテキストファイルに入力する。

出力データ

プログラム実行後は、処理されたクエリの数、ユニーククエリの数、最大キャッシュサイズ(レコード数)、キャッシュに入る確率が出力されるはずである。



最大キャッシュサイズ(レコード数)」の意味がよくわからないのですが、どのように計算するのですか?

 
今日は皆さん、とても重要な質問があります。ロボットが特定の時間に取引しないように設定することは可能でしょうか?
 
価格が1ティック(1または2)変化したときに、標準的なFXのボリュームインジケータはどのくらい増加するのでしょうか?
 
Mavellol:
良い一日、私は非常に重要な質問を持っている、ロボットは、特定の時間に取引しないように設定することが可能ですか


Expert Advisorにそのような可能性を実装する必要があります。
 

みなさん、こんにちは。

MarketInfo(Symbol(),MODE_MARGINREQUIRED)について教えてください。

double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
変数One_Lotには現在の通貨に対する1ロットの値が格納されます。
EURUSD (Price=1.3606) のロット計算例:
標準契約サイズ (1 ロット) = 100000
100000 EUR を買うと 100000*1.3606=136060$
我々はレバレッジ = 100 なので One_Lot=136060/100=1360.6$ を支払うことになる。

(これらの計算はすべてMarketInfo(Symbol(),MODE_MARGINREQUIRED)を作り、我々のOne_Lot=1360.6と理解しました)

が、スクリプトでは違う結果になっています。

double Price = Ask;
Print ("Price =",Price);

double One_Lot = MarketInfo ( Symb, MODE_MARGINREQUIRED ) ; // 1ロットのコスト
Print ("One_Lot =",One_Lot);

出力中

17:10:30 inform EURUSD,H1: 価格 =1.3606。

17:10:30 お知らせ EURUSD,H1:One_Lot =1600.0

私の間違いはどこにあるのでしょうか?

 
Symbとは何者で、コード上ではどのように定義されているのか?One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) を直接呼び出した場合、正常に動作します。
 
evillive:
Symbとは何者で、コード上ではどのように定義されているのか?One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) を呼び出すと、正常に動作します。

ご対応いただきありがとうございました

私の台本では

Symb =Symbol( )。

私も同じように試してみましたが、結果は同じでした。

結果はどうなったのでしょうか?