どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 208

 
borilunad:
では、上記をご覧ください!修正しました。
私がブール論理の欠如を非難されたとき、彼らは演算子の余分なブラケットを意味することが判明した...しかし、これは式と演算子の書式に関する規則である...ブール論理なのか?
 
T-G:

皆さん、こんにちは。助けてほしい。

私のボードでは、MaxOrdersパラメータで設定された量で、注文のシリーズを開き、以下に私はそれが例のように見える方法を示している、ロットによって厳密に判断しないでください。

1Lotオーダー=128

2ロット注文=256

3-lot-order-lot=512とする。

4-lot-order-lot=1024とする。

5-order-lot=2048

以上、テスターのご紹介でした。

MaxOrders=5で、5件の注文が開かれている。問題は、Strategy Testerでは、私のブローカーは1000ロットの制限を持っているので、4と5の注文は私がすべきように開くことはありません。

ストラテジーテスターでこのパラメータを変更する方法をインターネットで探しましたが、見つかりませんでした。

そこで、この問題をプログラミングで解決することにしました。4つの注文のためにいくつかの注文を開いて、2つの注文を得ることにしました。

4-order-lot=1000

4-order-lot=24

を5注文分 3:

5-order-lot=1000

5-order-lot=1000

5-order-lot=48

が、ここで2つの問題がある。

- MMを正しく分割し、最大ロットに応じたロットに分割する方法

- また、注文を壊さずに追加注文を出す方法、つまり、MaxOrdersより多くの注文が出ますが、出来高を満たすために出された追加注文をカウントしないようにします。

おそらく、ロットを分割して、つまり、親と子の注文のティッカーが配置されたコメントで互いに接続されたいくつかのポジションを開く必要があります。数量1000の親注文には数量24の注文のチケットが あり、数量1000の子注文にはこの順番でチケットがあることになります。そして、同じように閉じたり、修正したりしなければならないでしょう......。あるいはもっとシンプルに、マイクロアカウントと非常に小さなロットで。ビジュアルトラッキングの計算では、ロットに係数を掛けて、必要な値になるようにします。

より大きなボリュームを許容する証券会社以外には、何も思い浮かばない。

それとも ...百分率

 
artmedia70:

ブール代数の専門家でなくても、条件を明確に述べれば...。

もう少し楽をさせてください...。ifは 通常のifにelseは otherwiseに &&は andに ||は orに 置き換えるなど。そして、書かれていることを自分の普通の言葉で読んだり、書きたいことを決めたりすることができるようになるのです。

書いてあること(間違った条件の説明はとりあえず省きます。)

1. if (ot==0) 成行注文がない場合(成行注文も保留注文も、このEAで開いたものも、他のEAで開いたものも、手動で開いたものも)...。イエスなら2行目が実行され、ノーなら3行目に進みます。

2. if (Bid==Price) 価格が現在のローソク足の始値と等しい場合...であれば3行目が実行され、そうでなければ4行目に進みます。

3. if(((Open[1]-Close[1])>100*Point)&&((Open[1]-Close[1])<120*Point))最初のローソク足の始値が終値より100ポイント以上、120ポイント未満高い場合...ある場合は4行目へ、ない場合は5行目へ。

4. if(((High[1]-Open[1])>40*Point)&&((High[1]-Open[1])<60*Point))最初のローソク足の高値が、最初のローソク足の始値より40ポイント以上60ポイント未満高い場合・・・。もしそうなら5行目を実行し、そうでなければ6行目に進みます。

5. if(((Close[1]-Low[1])>40*Point)&&((Close[1]-Low[1])<60*Point))最初のローソク足の終値が、最初のローソク足の安値より40ポイント以上、60ポイント未満高い場合。であれば6行目を実行し、でなければ7行目に進みます。

6.

7.

この分解からわかるように、すべてのコード行を次々に実行させるか(各行がtrueを返す場合)、falseを返す行の後に来る行をスキップするか、どちらかになります。

条件の混乱を避け、論理を正しく理解するために、真理値の後に実行されるのが1行であっても、ブロック全体であっても、すべての文を中括弧で囲んでください。

例えば、こんな感じです。

そこで、コードを構成要素に分解し、この場合不要な余分なブラケットを削除してみると......。

総合的なご回答をいただき、誠にありがとうございました。

 
solnce600:
私がブール論理の欠如を非難されたとき、彼らは演算子の余分なブラケットを意味していたことが判明しました...しかし、これは式と演算子の書式規則です...これはブール論理なのでしょうか?

いいえ - 必要な箇所に中括弧がないこと。EAのローソク足サイズ検索ロジックブロックへの適用
 
solnce600:

包括的なご回答をいただき、誠にありがとうございました。

あなたのコードを修正 し、stopによるクロージングをモニターするようにしました。自分で確認したわけではありません。
 

こんにちは。この条件をExpert Advisorに実装する方法を教えてください。

1時間足では一定の条件で取引が成立しているが、4時間足チャートでは条件のみで取引が成立したようにする必要がある。

例:時間足チャートでクロスオーバー平均が取引を開く場合は、他のパラメータを持つ平均と4時間足チャートが同じ方向に交差していることを条件とする。ご回答、ご協力をお願いします。

 
teplovoz:

こんにちは。この条件をExpert Advisorに実装する方法を教えてください。

1時間足では一定の条件で取引が成立しているが、4時間足チャートでは条件のみで取引が成立したようにする必要がある。

例:時間足チャートでクロスオーバー平均が取引を開く場合は、他のパラメータを持つ平均と4時間足チャートが同じ方向に交差していることを条件とする。ご回答、ご協力をお願いします。

MAに適用して、1本目と2本目のバーのH4からデータを取得します。

double MA1_H4=iMA(Symbol(),PERIOD_H4,ma_period,ma_shift,ma_method,appled_price,1);
double MA2_H4=iMA(Symbol(),PERIOD_H4,ma_period,ma_shift,ma_method,appled_price,2);

H1から1本目、2本目のバーのデータを取得すること。

double MA1_H1=iMA(Symbol(),PERIOD_H1,ma_period,ma_shift,ma_method,appled_price,1);
double MA2_H1=iMA(Symbol(),PERIOD_H1,ma_period,ma_shift,ma_method,appled_price,2);

他の期間や指標についても同様にしてください。

 
artmedia70:

H4データの1本目と2本目のMAに適用します。

他の期間や指標についても同様にしてください。



わー、私ってバカだなあ、ウィザードのパラメータで必要な時間枠を指定すればいいだけなのかなあ?ありがとうございます。最近、脳が働くのを拒否しています :)
 
artmedia70:
あなたのコードを修正 し、ストップクロージャーを追跡できるようにしました - あなたのためにマジシャンに値を割り当てました。自分で確認したわけではありません。


またやるぞ。ありがとうございました。
 
大丈夫、誰にでもたまにはあることだから...。