[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 218

 
ViktorF:

EAを実行すると、これらのエラーがポップアップ表示されます。

ある地点で注文が成立しなかったり、開かなかったりすることがあった。

閉店・開店の失敗は、これらのエラーとどの程度関係があるのでしょうか?それらを避けるには(できればMT5端末の交換なしで)どうしたらよいでしょうか?

こちらと こちらを ご覧ください...とこちら...

検索ボックスにエラーの名称を入力して、すぐに答えを出してみてはいかがでしょうか。

 
Roman.:


実際の貿易で頻繁に要求することによってあなたのための自動売買からブローカーを禁止してもらう - あなただけの電話で取引する必要があるでしょう。

ある一定のポイント数(間隔)、例えば50や100の後に注文を修正する - それは五分法で(例えば、価格があなたの方向に動いたら - 注文を修正する)、すべてがうまくいくでしょう。:-))) もちろん、IMHOです。

あの...


全面的に賛成だ...。
 

こんにちは。教科書の引用です。

初期化 シーケンスにおいて、1つまたは複数の定数をスキップすることができる。この場合,数値型の配列要素は0,文字列型の配列要素は文字列値""(スペースなしの開閉ダブルクォート),すなわち空文字列(スペースと混同しないように)で初期化されます。

質問1:bool型の要素でスペースが省略された場合はどうなりますか?

トレードの開始パラメータを表すフラグの一次元配列を作成し、それゆえ

bool Open[20] {par1,par2,par3....,par20}。

if (MA1>MA2) par1=true;

if (MA7>MA8) par2=true; ....

if (ma33>ma55) par20=true;

このようなソリューションに遭遇したことのある方、アドバイスください。

2- 方向は正しいか?

3- if (Open [12] {1,0,0,1,1...,0 } ) OrderSend() などのパラメータバリアントをさらに記述する方法です。- だろう?

 
ilmur:

help please...私のExpert Advisorはオープンオーダーをチェックします。一度に1つのオーダーをオープンすることができます。

if(down>0)

{

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,0,Bid-TakeProfit*Point,0,16384,0,Red)。

サイズ100のストップを入力する

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,100,Bid-TakeProfit*Point,0,16384,0,Red); ...テスターでエラー130が出る。

alpari...オープニングの後、注文を変更してストップを置くべきかも...どうすればいいか、またはそれが行われるアドバイザーを教えてください。


アルパリはストップロスやテイクオーバーを伴う取引は行いません。
 
100yan:

トレードの開始パラメータを表すフラグの一次元配列を作成し、以下のようにします。

bool Open[20] {par1,par2,par3....,par20}。

if (MA1>MA2) par1=true;

if (MA7>MA8) par2=true; ....

if (ma33>ma55) par20=true;

このようなソリューションに遭遇したことのある方、アドバイスください。

2は正しい方向ですか?

3- if (Open [12] {1,0,0,1,1...,0 } ) OrderSend() などのパラメータバリアントをさらに記述する方法です。 - だろう?

どの方向から、どういう意味で正しいのか?

そして、問題を理解していないのに、どうやって正しい方法を教えることができるのでしょうか。

 
int OrderStatus() {
   int z1=0, z2=0;  // порядок для массива
   int i, k=OrdersTotal();
      for (i=1; i<=k; i++) {
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketBS[z1]=OrderTicket(); // присваем массиву под 1 ячейкой первый найденный ордер тикет
            z1++;
            }
            if (OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketSS[z2]=OrderTicket();
            z2++;
            }
         }
      }
}
TicketBS[]とTicketSS[]はなぜTicketBS[]配列に値を代入しないのでしょうか? いつも0を書き込むのですが・・・。
 
eddy:

どの方向が、何が正しいのか?

また、作業そのものが理解できていないのに、正しい書き方を教えられるわけがない。

1.思考の方向性は正しいか?

2. 与えられた配列でパラメータの変種を比較する方法は?つまり、正しいパラメータで配列を作成することです。例えば、if((MA1>MA2)&&(MA7>MA8)&& ...) と書く代わりに、タイプ 12 の注文を出すための配列バリアントを使用しなければなりません。

 

тип12 Open [12] {1,1,1,0,1...,0 }

これは何でしょうか? カスタム配列の要素は変数ですが、ここにはなぜかボディがありますね(中括弧)。

 
eddy:

これは何ですか? カスタム配列の要素は変数で、ここになぜかボディがあります(中括弧)。


配列の初期化


配列は、適切な型の定数のみで初期化することができます。一次元および多次元配列は、カンマで区切られた定数列で初期化される。配列は中括弧で囲む。
bool Mas_b[5] = { false, true, false, true, true }.

 
注文を出すためのパラメータを覚えておきたいですか? そのためには、各パラメータに対していくつかのbool変数を用意し、マーケットがそれにマッチするかどうかをチェックする必要があります。