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

 

スリープ機能に関するヘルプ

こんにちは、mladenです。

私の要求は、前の取引がストップロスに当たった場合、EAを24時間スリープさせることです。それをコード化するために私を助けてもらえますか?

 
mladen:
annbeea あなたの投稿の最初の部分のように:はい、そのバージョンは再描画されます(それはT3計算が行われる方法によるもので、それはそれにエラーがある、それが他のものを使用する方が良いと言った理由です)。

こんにちは、mladen、あなたが言及した他のものを使用するほかに、私はその交差スタイルを好むように添付された指標のその部分を再コード化することができ、それが過去と正しいアラートコードで再描画されないように?

ありがとうございました。

ファイル:
 

チャート上の取引マーク、どうすれば消すことができますか?

注文を出すたびに、チャートに赤い点が表示されます。 何が原因なのかわかりません。

ファイル:
dots.jpg  71 kb
 

このような機能を 使うことができます。

bool lastOrderStopLossHit(int magicNumber, string symbol, datetime& lastTime)

{

double lastClosePrice = -1;

double lastStopLoss = -1;

//

//

// reset the time of the last order

//

//

lastTime = -1;

//

//

// find the last order

//

//

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) continue;

if (OrderMagicNumber()!=magicNumber) continue;

if (OrderSymbol() !=symbol) continue;

if (OrderCloseTime()>lastTime)

{

lastTime = OrderCloseTime();

lastClosePrice = OrderClosePrice();

lastStopLoss = OrderStopLoss();

}

}

int digits = MarketInfo(symbol,MODE_DIGITS);

return (lastTime!=-1 && NormalizeDouble(lastClosePrice,digits)==NormalizeDouble(lastStopLoss,digits));

}[/PHP]

and then at the beginning of the start procedure place a code that could look like this :

[PHP] datetime lastClosedTime;

if (lastOrderStopLossHit(1,Symbol(),lastClosedTime) && (lastClosedTime+24*60*60)>TimeCurrent()) return(0);

1日以外の休止を希望する場合は、「24*60*60」を希望するものに変更します。

追記:通話中のマジックナンバーに "1 "を使用しました。実際のマジックナンバーに置き換えてください。

uk_kara:
こんにちは、mladen 私の要件は、前の取引がストップロスにヒットした場合、EAは24時間スリープする必要があります。コード化するのを手伝っていただけませんか?
 

こんにちは、mladenです。

このコードを修正して、垂直方向のスケール:最小値を0、最大値を100、中間値を50とするように(正規化)できるようにしたいのですが、それでも以前と同じシグナルを維持することができますか?よろしくお願いします。

ファイル:
 

アンビーア

それはできません。どのような正規化でも、シグナルを変えてしまいます(まったく同じにすることはできません。)

annbeea:
こんにちは、mladenさん、内部のコードを修正して、垂直方向のスケール:最小値を0、最大値を100、中間値を50とすることができるように(正規化)、でも以前と同じシグナルを維持できるようにするのを手伝ってもらえませんか?よろしくお願いします。
 
mladen:
このような関数を使うことができます。

.............................

もし、1日以外の期間を設定したい場合は、"24*60*60 "を希望の値に変更してください。

追記:通話中のマジックナンバーに "1 "を使いました。これを実際のマジックナンバーに置き換えてください

Mladenさん、ありがとうございます。調べて みます。

 
mladen:
annbeea それはできません。どのような種類の正規化は、信号を変更します(彼らは正確に同じままにすることはできません - あなたはそこに3つの値を持っているので、特に、同じ場所で信号を維持するために、より少ないチャンスがあります)。

こんにちは、MLadenです。

ノーマライズという言葉の使い方が間違っているのかもしれませんが、一般によくある最小0、最大100、中間50のようなスケールのoscトライアルテストは可能でしょうか?

また、私の以前のrsiトライアルテストを非リペイントに修正させることは可能ですか?それはt3またはrsiコンポーネントのリペイントまたは両方のリペイントであることを知ることができますか?多くの助けをありがとうございます。

 

アンビーア

私たちは同じことを話しています。最小値と最大値を持つように値を変換することは、常に元の値を「変形」させることになります。それを正規化、標準化などと呼ぶことはできますが、その代償として、元の値の相関性が失われることになります。そして、「変形」されると、シグナルは全く別の場所で発生することになります。

rsi trial indicatorの場合、t3の部分が塗り替えられます。これは、t3計算の前のステップがどのように扱われるかに起因します。しかし、次のティックでは、変数e1からe6が現在の(0番目の)バーの値を持ち、次のティックでの計算では、少なくとも最初のバーの値を持つべきです(変数 "limit "に依存します)。次のティックの計算が前のステップの計算値を継承するのはエラーであり、新しいティックごとにますます大きなエラーを引き起こすことになります。

annbeea:
mladenさん、こんにちは。

正規化という言葉の使い方が悪かったのか、誤解しているのか、よくある最小0、最大100、中間50のようなスケールで、オシレーターテストを行うことは可能でしょうか?

Btw、それは私の前のRSIトライアルテストが非再描画に修正させることは可能ですか?私はそれがT3またはRSIコンポーネント再描画または両方再描画されていることを知っていますか?助けてくれてありがとうございます。
 
uk_kara:
ありがとう、Mladen。私はそれをチェックアウトします

いつも通り魅力的な作品です、ありがとうMladen。