コーディングのヘルプ - ページ 350

 
apprentice coder:
ブローカーへの接続がオンかオフかをコードからテストするにはどうしたらいいですか?

そのためにIsConnected() 関数を 使用することができますが.

この関数は、新しいティックが入力されないと、決して到達する ことはありません。

そのため、無限ループにするか(EAとしては受け入れがたい)、タイマーイベントを使ってチェックする必要があります(その場合、EAであれば、接続がないことを警告することができます。私は、私たちは皆、指標はあまり接続が重要でないと考えています - 注文の操作などがない - ので、タイマーの解決策は指標にも適用できますが、おそらくEAからよりもそこから確認することは重要ではありません) 。そうでなければ、あなたのコードは、接続が失われたことを知ることができません。

 
mladen:
IsConnected() 関数を使うこともできますが

新しいティックが入って こなければ、その関数に到達することはないでしょう。

つまり、無限ループにするか(これはEAとして許容できない)、タイマーイベントを使ってチェックする必要があります(その場合、EAであれば接続がないことを警告してくれる可能性があります。私は、私たちは皆、指標はあまり接続が重要でないと考えています - 注文の操作などがない - ので、タイマーの解決策は指標にも適用できますが、おそらくEAからよりもそこから確認することは重要ではありません) 。そうでなければ、あなたのコードは、接続が失われたことを知ることができません。

それを行うコード例を投稿してもらえますか?

 
apprentice coder:
そうするためのコード例を投稿してもらえますか?

明日、例を掲載する予定です。いいかい?

 
mladen:
明日、例をアップします。いいかい?

よし少し休もう。

 
apprentice coder:
それを行ういくつかのコード例を投稿することができます、お願いします?

コーダー見習い

任意の時間間隔でブローカー接続状態をチェックする簡単なインジケータ(ただし、使用方法はEAと全く同じです)_check_connection.mq4が あります。

#property indicator_chart_window

extern int CheckStatusEveryNMilliseconds = 250;

int init() { EventSetMillisecondTimer(CheckStatusEveryNMilliseconds); return(0); }

int deinit() { EventKillTimer(); return(0); }

int start() { return(0); }

void OnTimer()

{

static bool previouslyConnected = true;

bool currentlyConnected = IsConnected();

if (previouslyConnected != currentlyConnected)

{

previouslyConnected = currentlyConnected;

string cdescription = "disconnected"; if (currentlyConnected) cdescription = "connected";

Comment("connection status changed.\nterminal is now : "+cdescription);

}

ご覧のように、これはどのように行うことができるかの簡単な例です。

ファイル:
 
mladen:
見習いコーダー

任意の時間間隔でブローカー接続状態をチェックするシンプルなインジケータ(ただし、使用方法はEAで全く同じにすることができます)です:_check_connection.mq4

#property indicator_chart_window

extern int CheckStatusEveryNMilliseconds = 250;

int init() { EventSetMillisecondTimer(CheckStatusEveryNMilliseconds); return(0); }

int deinit() { EventKillTimer(); return(0); }

int start() { return(0); }

void OnTimer()

{

static bool previouslyConnected = true;

bool currentlyConnected = IsConnected();

if (previouslyConnected != currentlyConnected)

{

previouslyConnected = currentlyConnected;

string cdescription = "disconnected"; if (currentlyConnected) cdescription = "connected";

Comment("connection status changed.\nterminal is now : "+cdescription);

}

ご覧のように、これはそれがどのように行うことができるかの簡単な例です。

ありがとうございます :0

今日も(ティックなしで)動作しているのがわかります。

削除済み  
mladen:
fxpreislevelsv5.ex4 または fxpreislevelsv5.dll のいずれかのファイル名を変更してください(メタトレーダーはこの場合、拡張子を認識しないため、拡張子に関係なく別のファイル名を持つ必要があります)。

助けてくれてありがとうございます。

しかし、私は別の問題に遭遇したコンパイル後にエラーはありませんでしたが、それは実行されず、削除さ れ続けている

"2014.09.20 19:56:40.262 カスタムインジケータTrend_Imperator_V2e GBPUSDe,M5: 削除されました。

2014.09.20 19:56:38.901 カスタムインジケータTrend_Imperator_V2e GBPUSDe,M5: ロード成功"

が常に発生するのですが、コードを更新する必要があるのでしょうか?

 
forexeaexpert:
助けてくれてありがとうございます!!!

しかし、私は別の問題に遭遇したコンパイル後にエラーはありませんでしたが、それは実行されず、削除され続けます

"2014.09.20 19:56:40.262 カスタムインジケータTrend_Imperator_V2e GBPUSDe,M5: 削除されました。

2014.09.20 19:56:38.901 カスタムインジケータTrend_Imperator_V2e GBPUSDe,M5: ロード成功"

いつも起こることですが、コードを更新しなければならないのでしょうか?

フォレックスエキスパート

このエラーは通常、間違ったパラメータで インジケータが呼び出されたときに発生します。

そのインジケーターのiCustom()呼び出しのパラメータをチェックしてください。

 

こんにちは、mladenです。

私はこのインディケータを私のEAに挿入しようとしていました。

しかし、テストの後、それは唯一の買いシグナルを取得していた。

それは私が挿入する正しいコードであることを確認するために私を助けてください。

MACD = iCustom(NULL,0,"MACD_ColorHist_Alert_EMA 2",FastEMA,SlowEMA,SignalEMA,true,true,true,false,false,false,false,false,false,false,false,0);

そして、私はmacd>0とmacd<0がゼロラインを横切る信号 であることを知っています。

しかし、どのように私は斜面の方向から別の信号を得ることができますか?

私は非常に混乱していた、非常に多くの時間を試してみた後

ファイル:
 
stevenpun:
こんにちは、mladen 。

私はこのインディケータを私のEAに挿入しようとしていました。

しかし、テストの後、それは唯一の買いシグナルを取得していた。

私が挿入する正しいコードであることを確認するために私を助けてください。

MACD = iCustom(NULL,0,"MACD_ColorHist_Alert_EMA 2",FastEMA,SlowEMA,SignalEMA,true,true,true,false,false,false,false,false,false,false,false,0);

そして、私はmacd>0とmacd<0がゼロラインを横切る信号であることを知っています。

しかし、どのように私は斜面の方向から別の信号を得ることができますか?

私は非常に混乱していた、何度も試した後

スティーブン・パン

そのためには、そのインディケータに「スロープ方向」のバッファを追加するか、すでにバッファでスロープを解決している他のMACDを 使用するのが最も簡単でしょう。