[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 993

 
Aleksander:

では、画面の左側に表示する--その違いは何でしょう?- 右の行には価格、左の行にはメッセージのテキストが表示されます...

とか、ビームとか......でも、それだと全部左側になっちゃうし......。


これはお客様のご要望です :)他のインジケーターは左側で使用し、片方が重ならないようにしています。

まあ、問題は解決しますよ!皆さん、ご参加ありがとうございました。

 
MT4のEAを複数の通貨ペアで同時に最適化する方法はありますか? それとも、そのための特別なプログラムがありますか?
 
gawrik:
こんにちは。質問があります。MT4で複数の通貨ペアを同時に最適化する方法はありますか?

1つのEAを異なるペアで最適化することで、複数のMT4を同時に実行することができます。

禁じられたことなら、私が許可していると言ってください

 
Aleksander:

デルタを割り当てるために開始を試みる

delta = 1; if (digits = 5) {delta = 10;}.

を追加し、本文中に

if (買値 <=下値&& アスク < 高値 -10* ポイント*デルタ)

これは、おそらく全く正しくないが、意味は明確である

delta = Point; if(digits= 5) {delta = 10*Point;}.

if (Bid <=Low&& Ask < High -10*delta) 違いはないのですが、、、私はどうでしょう?

 

と、ダイナミック・スプレッドに関する以下の質問から、Nティックの平均スプレッドを計算する必要があることがわかります。

以下のように描きましたが、正しいかどうかわかりません。

int TicSpred=100;

double Spread[10000]です。

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}.

for (int q=TicSpred;q>0;q--){.

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}.

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}。

スプレッド[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}.

double Aversired=CountedSpred/TicSpred; しかし、これが正しいかどうかわからないし、5桁の 場合は正しくカウントされないようです。

 

いや、それは全然おかしい。

次のスプレッドをそれぞれ配列に書き込んで、それを配列のスプレッドの数で割って、レコードの数がNになったらすぐに配列の最初のものを削除する必要があります

もっとシンプルにできないものか。

 

ここでもエラーが発生します

if (ビッド >= ハイ ) // クローズ・ベイ

を返す(11)。

if (ビッド <=ロー && アスク <ハイ - 1*delta )

return (21); // クローズ売り

if (取引==1){。

if ( ビッド <=ロー ) // オープンベイ

Print( " Bay = ",11);

戻り値(10);}。

if (Time == 1){ (Time == 2)

if (ビッド<=ロー&&アスク<ハイ -1*delta ) // Srllのオープニング

プリント(" Sell= ",21);

戻り値 (20);}.

return; // 時間がない場合は、何かを開かず、そのまま終了します。

次の変数HighとLowが分かっていて(プリントで確認しました)、価格が次のような状態を示しています。

1.if buy > High, then we send 10 command (close buy)

2.買い<Low、かつAscがHighより1ポイント低い場合、リターン11でクローズ。

if 変数 Time == 1 then:

3. BidがLow以下、AskがHighより1ポイント以上低い場合、Buyを建てる。

4. BidがHighより高いか等しい場合、売りを建てるのでしょうか?

私はこのプログラムは完全にチュートリアルからであることを思い出したい、私はそれぞれ唯一の取引の基準を変更し、コマンド10、20すべての標準は、私は念のためにに対処されているすべての関数を添付します。

ファイル:
close_all.mqh  3 kb
open_ord.mqh  3 kb
trade.mqh  3 kb
[Deleted]  

みんな!みなさん、こんにちは! 助けてください

アラートインジケーターの関数に時間間隔を書く必要があります。例えば、シグナルが現れたときにウィンドウがポップアップし、そこでどのチャートからこのシグナルが現れたかを見ることができます。例えばM15。

サイト内を検索してみましたが、そのようなものは見当たりません。

[Deleted]  

みんな!みなさん、こんにちは! 助けてください

アラートインジケーターの関数に時間間隔を書く必要があります。例えば、シグナルが現れたときにウィンドウがポップアップし、そこでどのチャートからこのシグナルが現れたかを見ることができます。例えばM15。

サイト内を検索してみましたが、そのようなものは見当たりません。

 

とにかく、この機能

//--------------------------------------------------------------------

// Criterion.mqh

// MQL4チュートリアルの例として使用されることを意図しています。

//--------------------------------------------------------------- 1 --

// 取引条件を計算するための関数。

// 返された値。

// 10 - オープニング 購入

// 20日~売り開始

// 11 - クロージング 購入

// 21 - 売り切れ

// 0 - 重大な基準なし

// -1 - 別の金融商品が使用されている

//--------------------------------------------------------------- 2 --

// 外部変数。


//--------------------------------------------------------------- 3 --

int Criterion() // ユーザ関数

{

//----------------------------------------------------------------4----

文字列 Sym="_______";

if (Sym!=Symbol()) // 我々のfinでない場合。

{

Inform(16); // メッセージ。

return(-1);}のようになります。// ...そして終了

delta = Point;

if (桁数 == 5 || (桁数 == 3 &&StringFind(Symbol(), "JPY", 0) != -1)))

delta= Point *10;

int Digital=MarketInfo(Symbol(),12);

//--------------------------------------------------------------- 5 --

// テクニカルインディケーターのパラメータを指定します。

ブール貿易

if (Begin>End && (Hour()>Begin-1 || Hour()<End)){trade=1;}.

if (Begin<End && (Hour()>Begin-1 && Hour()<End)){trade=1;}.

{if (trade==0 && mag!=Mag) return(0);}.

// -------------------------- 平均スプレッドの計算-----------------------。

if (!IsTesting() || IsVisualMode() || !IsOptimization())

{

int TicSpred=100;

double Spread[10000]です。

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}.

for (int q=TicSpred;q>0;q--){.

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}.

for (q=TicSpred;q>0;q--){Spread[q]=Spread[q-1];}.

スプレッド[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<TicSpred;q++){CountedSpred=CountedSpred+Spread[q];}.

double Averaged=CountedSpred/TicSpred。

}


//--------------------------------------------------------------- 5 --

// 取引基準の算出

if (ビッド >= ハイ ) // クローズ・ベイ

を返す(11)。

if (ビッド <=ロー)

return (21); // クローズ売り

if (取引==1){。

if ( ビッド <=ロー &&アスク <ハイ -0.5*MyPoint ) // オープンベイ

Print ( " Bay = ",11);

戻り値(10);}。

if (取引==1){。

if (Bid>=High ) // Srllのオープニング

プリント(" 売り = ",21)。

戻り値 (20);}.

return; // 時刻が悪い場合は、何も開かず、そのまま終了します。


//--------------------------------------------------------------- 6 --

return(0); //ユーザ関数を終了します。

}

//--------------------------------------------------------------- 7 --

LowとHighの変数がすでに定義されており、正しいことを前提としています。