コーディングの方法は? - ページ 44

 

こんにちは ralph.ronnquist です。

SDLL = long SDLS = short のような別の SDL 行を作成する必要があるのでしょうか?

私は、SDLインディについて、次のように言うのが正しいと思う。

uprend = バッファ1 & インデックス1の色 青

dntrend = バッファ2 & インデックス2 色:赤

もしそうなら、それらをどこに置くのでしょうか。iCustom 行の最後に置くのでしょうか。

double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,1,shift);

それとも、私は道から外れているのでしょうか?

 

という文があります。

double SDL=iCustom(NULL,0,"Slope Direction Line",period,method,price,1,shift);

SDLに、指定された「シフト」バーの2番目のバッファの値(Uptrend)を保持させる。

(タイプミスのように見える ",1" が繰り返されていることに注意してください。いずれにせよ、それはそこにあるべきものではありません)

つまり、Uptrend と Dntrend の両方を読み取るには、その値を保持する 2 つの変数が必要です。おっしゃるとおり、Uptrendは1、Dntrendは2です。

 

こんにちは ラルフ

助けてくれてありがとう、これで眠れるよ。

乾杯

ベノ

 
wolfe:
何かいいアイデアがあれば教えてください。

そのおかげで、正しい方向に進むことができました。

私の新しい問題は、私のif文が呼び出されたとき....

それは、現在のバーに関連して、前のインジケータバーの値をオフにし、私が作成したAlert();を送信します...約20回。

一回しか送らないようにするにはどうしたらいいのでしょうか?

変数を使ってON/OFFスイッチを作ってみましたが、残念ながらMQL4ではうまくいきません。

そこで、タイマーを考えてみました。20秒間に1回だけアラートを出すタイマーがあれば、それも可能なのですが・・・。

しかし、MQL4で実際に可能なアイディアがなく困っています。

何かアイデアはありませんか?

 

つまり...今のところ、何度もAlertingしているので、最初のAlertingの後にAlertingしないようにする方法が必要です(ご推察の通り、迷惑で不要なものです)。

 
dharsant:
言い換えれば...私はそれが最初のものの後にアラートを停止する何らかの方法が必要です、なぜなら現時点では複数回アラートしています(あなたが推測するように迷惑で不必要です)

見るためのコードを提供してもらえますか?

おそらく、アラートが最初に送信された後にトリップするブール値の真/偽を設定することができます。

 

どのコードが意味をなすのかよくわかりません。以下はアラートのための私のif文です。

"Code":

latestlatestmain = 私のインジケータで2本前のバー。

latestmain = 私のインジケーターの前のバー

if(メインCCI > エルゴCCI){。

{signal = "SHORT";

if ((latestlatestmain >= 0) && (latestmain < 0)) { {。

PlaySound("alert2.wav")。

}

if(lastsignal != signal && alertTag!=Time[0]){

alertTag = Time[0];

lastsignal=signal;

}

}

if (MainCCI < ErgoCCI){

{signal = "LONG";

if ((latestlatestmain 0)){ {...

PlaySound("alert2.wav")。

}

これはFXスナイパーのインジケーターで、私のパラメーターに 合うとアラートが送信されます。

ブーリアンtrue/falseを設定するにはどうしたらいいのでしょうか?

こんな感じでやってみたのですが......。

"オン/オフスイッチ付きコード":

if(MainCCI > ErgoCCI){ { シグナルは "SHORT "です。

{signal = "SHORT";

if ((latestlatestmain >= 0) && (latestmain < 0)) {。

if (onealert == 1) {

PlaySound("alert2.wav")。

onealert = 0;

}}

if(lastsignal != signal && alertTag!=Time[0]){.

alertTag = Time[0];

lastsignal=signal;

}

}

if (MainCCI < ErgoCCI){

{signal = "LONG";

if ((latestlatestmain0)){。

if (onealert == 0) {

PlaySound("alert2.wav")。

onealert = 1;

}}

といった具合に、変数でon/offを作成しています。

booleanを使って何かできることはないでしょうか?どのように私はそれを行うに行くことができますについてのアイデアがありますか?

今のところ、アラートに関しては問題なく動作しており、5-6回ほどアラートが出るだけです。

時間と仲間を助けることに感謝します。

-dharsant

 

ただ、うまくいったと思ったのは、Sleep(); が効いたことです......darn

 

Codersguruのこれを見つけた。

void AlertOnce(string alert_msg, int ref)

{

if (ref > 10)

return;

ref--;

static int LastAlert[10];

if( LastAlert[ref] == 0 || LastAlert[ref] < Bars)

{

Alert(alert_msg);

LastAlert[ref] = Bars;

}

}

私が求めていたものに似ています!

私のインジケータでこれを使用する際に...

スクリプトの中に関数を置いて、それから

AlertOnce("Sniper going LONG",10);

を使えばいいのでしょうか?

私は小うるさい小さな未熟なプログラマーのように感じる

 

了解です、ありがとうございました!!!!