PDA

View Full Version : 注文ロジックとベストプラクティス



SUMIKO
03-09-2009 03:46, 03:46 AM
注文のために論理を正しく設定するのに助けが必要です...。価格がラインに当たった場合、注文を開くベストプラクティスは何ですか? (また、スリッパと)
=================

注文のための変数:
挿入されたコードint i;/バーインデックスint Counted_bars;/カウントされたバーの数Counted_bars = IndiorCounted();/カウントされたバーの数i = Bars-Counted_bars-1;/最初にカウントされていないwhile(igt; = 0)のインデックス//カウントされていないバーのループ{double MA_Line = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、0、i);ダブルS_Line1 = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、1、i);ダブルS_Line2 = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、2、i);ダブルS_Line3 = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、3、i);ダブルS_Line4 = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、4、i);ダブルU_StopLoss = iCustom(NULL、タイムフレーム、MA StdDev、MA_Period、1、6、0、5、i); double L_StopLoss = iCustom(NULL、タイムフレーム、MA-StdDev、MA_Period、1、6、0、5、i); double B_Line1 = iCustom(NULL、タイムフレーム、MA-StdDev、MA_Period、1、6、0、1、i); double B_Line2 = iCustom(NULL、タイムフレーム、MA-StdDev、MA_Period、1、6、0、2、i); double B_Line3 = iCustom(NULL、時間枠、MA-StdDev、MA_Period、1、6、0、3、i); double B_Line4 = iCustom(NULL、タイムフレーム、MA-StdDev、MA_Period、1、6、0、4、i); double StochBuyLine = iSchchastic(記号()、0,14,3,3,1,1,0、i); double StochSellLine = iSchchastic(シンボル()、0,14,3,3,1,1,1、i);私 - ; }
レビューとアドバイスを必要とする論理:

挿入されたコードif(Tradeable)else break;もしCurrentPrice lt; MA_Line {もしStochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line4 {OpenBuyOrder @ Line4LotSize}そうであればStochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line3 {OpenBuyOrder @ Line3LotSize}そうであればStochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line2 {OpenBuyOrder @そうでLine2LotSize}もしStochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line1 {OpenBuyOrder @ Line1LotSize}}エルス{ならStochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line4 {OpenBuyOrder @ Line4LotSize}そうであればStochSellLine StochSellLinegt; = 90 CurrentPrice = B_Line3 {OpenBuyOrder @ Line3LotSize}そうでなければStochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line2 {OpenBuyOrder @ Line2LotSize}そうでなければStochSell #93;}#91;font#93;#91;#93;#93;

SOTA
11-21-2021 03:38, 03:38 AM
いくつかのこと:1.最初のコードブロックがあなたのEAのものである場合。 whileループを取り除く。それは必要ではありません。現在のバーにはi = 0、前のバーにはi = 1を割り当てます。あなたのEAが3000バール前に何が起こったのか本当に気にしないので、時間通りにループバックする必要はありません。 2. currentprice = B_Line4(および残りの部分)を持つ場所では、単一の=記号が代入演算子です。平等をチェックするには、2つの==記号が必要です。同じテーマでは、価格があなたのラインの価値とまったく同じになることはほとんどありません。行が123.4554332にあり、価格が123.45である場合、mt4はこれらが等しくないとみなします。 NormalizeDoubleを使用するか、価格がラインを超えたかどうかを確認してください。 4. ordersend関数でエラー・コードを検査します。 ordersendは整数を返します。 5.滑りはあなた次第です。しかし、デモで動作するものが必ずしも実際に動作するとは限りません。そのため、ordersend関数でエラーコードをチェックします。場合によっては、注文を受ける前にサーバーを2-3回叩く必要があります。

SUMIKO
11-21-2021 04:58, 04:58 AM
NormalizeDoubleを使用するか、価格がラインを超えたかどうかを確認してください。私はクロスラインチェックの例を教えてもらえますか?...ラインに当たる間にそれを試してみるのがロジックより好きですが...ノーマライズダブルは私が次に行く方法でなければなりません

SOTA
11-21-2021 06:19, 06:19 AM
(Open [0] lt;行を閉じる[0] gt; =行)、もしそれが交差するなら、 line Close [0] lt; =行)それが横切った

SUMIKO
11-21-2021 07:40, 07:40 AM
Gotcha ...通常は何がベストプラクティスですか?線を打つか交差するか?

SOTA
11-21-2021 09:01, 09:01 AM
Gotcha ...通常は何がベストプラクティスですか?線を打つか交差するか?
私は十字架をするだろう。時には価格が2ピップまたはそれ以上にジャンプし、同等以上に飛躍することがあります。あなたはクロスオーバーをチェックして、価格がラインの1〜2ピップ以内であることを確認することができます。

SUMIKO
11-21-2021 10:21, 10:21 AM
そう、私はこれのようなことをすることができますか? (行番号#91; 0#93;行#91; 0#93; gt; =行)||(Open#91; 0#93;行#91; 0#93; gt; =行)を挿入したコード行4tradeslt; 1 StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = 91; 0#93; gt;ラインClose#91; 0#93; lt; =ライン))

SUMIKO
11-21-2021 11:42, 11:42 AM
これに対する私の最後の反応が、ひび割れの中を滑ったように見える