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

 
こんにちは。よろしくお願いします。注文を出すだけで、何もしない。エラーはありません。
ファイル:
test3_3.mq4  15 kb
 
ごきげんよう!本題から外れたら申し訳ないのですが、疲れました~魂の叫びです。MQL4で使おうとして、自分で考えてみたのですが、うまくいきませんでした。インターネットを掘って、MQL4を使ってみましたが、何もうまくいきません。 このインジケータは、2つのCFDのpipsの差を線で表示する必要があります。つまり、1つ目の商品の(ビッド+アスク)/2から2つ目の商品の(ビッド+アスク)/2をそれぞれローソク足で引いています。インストゥルメント名は、インジケーターの 設定で設定する必要があり、2つあるはずです。線の末端部分は、新しい目盛りごとに変わるはずです。そして、相場はローソク足ではなく、時間足で同期させるべきです(BRNとCLでは1日のローソク足の数が違う)。善き人、助けてください事前に感謝しています。
 
CJIeCaPb:
こんにちは。よろしくお願いします。注文を出すだけで、何もしない。エラーはありません。

なぜそうなるのか。

for(i=1;i<=OrdersTotal();i++) //может с OrdersTotal()-1 и до 0 разумнее было бы?
{
 if(OrderSelect(i-1,SELECT_BY_POS)==true)
 {
  if(OrderSymbol()!=Symb)continue;
  if(OrderType()==4) //тип байстоп - 4
   OrderTicketBuy=OrderTicket();
   if(OrderType()==6) //тип селлстоп - 5
   OrderTicketSell=OrderTicket();
   
  }
}

注文の 種類について読むと、マニュアルの残りの部分は、少なくとも10回を最初に読んで、自己ひねりにあってはならない。

 
fantom700:
ごきげんよう!本題から外れたら申し訳ないのですが、疲れました~心の叫びです。MQL4で使おうとして、自分で考えてみたのですが、うまくいきませんでした。ネットを掘ってMQL4を使ってみたが、何も動かない。 このインジケータは、2つのCFDのpipsの差を線で表示する必要がある。つまり、1つ目の商品の(ビッド+アスク)/2から2つ目の商品の(ビッド+アスク)/2をそれぞれローソク足で引いています。インストゥルメント名は、インジケーターの設定で設定する必要があり、2つあるはずです。線の末端部分は、新しい目盛りごとに変わるはずです。そして、相場はローソク足ではなく、時間足で同期させるべきです(BRNとCLでは1日のローソク足の数が違う)。善き人、助けてくださいよろしくお願いします。
履歴にはBidとAskはなく、MqlRatesで 記述された価格があり、指標は履歴で描画 される。
 
evillive:

なぜそうなるのか。

注文の 種類、およびマニュアルの残りの部分について読んで、自分自身をねじ込むしようとしないでください、最初に少なくとも10回をお読みください。

BUYSTOPとSELLSTOPが設定されており、それぞれタイプ4と6を持っています。

OrdersTotal():" from -1 to 0 "の意味がよくわからないのですが?

 
CJIeCaPb:

BUYSTOPとSELLSTOPが設定されており、それぞれタイプ4と6を持っています。

*OrdersTotal()の意味がわからない:"-1から0まで"?

バイストップのタイプは4、セルストップは5、タイプは0から始まる番号になっています。タイプ6では、入出金のみを行っているようですが、それすらもどこにも記録されていません。

*1から0まで」ではなく、「OrdersTotal()- 1から0まで ループする」。

さらに、OrderSelectの実行を確認する必要があります、怠慢しないでください、実行エラーからチケットが正しくないことを理解することができるでしょう。

一般に、すべての取引関数が 正しく実行されているかどうかをチェックしなければならないので、チェックを怠らないようにしましょう。そして、他の関数から返される結果はチェックすることができるし、しなければならない。

 
evillive:
履歴にはBidとAskはなく、MqlRatesで 記述された価格があり、指標は履歴に描画 される。

第一の数字:第一商品の価格(bid+ask)/2、第二の数字:第二商品の価格(bid+ask)/2、第三の数字:第一商品の(bid+ask)/2-第二商品の(bid+ask)/2、の3つの数字だけです。履歴もなく、ある瞬間の刻みだけで。

実はこんなことをしたかったんです:http://www.mister-forex.ru/indikator-ma-arbitrage/

ただ、「売り」「買い」がなく、「線」の形で表示されるだけです。

 
evillive:

バイストップの種類は3、セルストップは5、注文の種類は0から番号が振られます。タイプ6では、入出金だけが異なるようですが、それさえもどこにも記録されていません。

*1から0まで」ではなく、「OrdersTotal()- 1から0まで」のループです。

さらに、OrderSelectの実行を確認すべきでした、怠けてはいけません、実行エラーでチケットの間違いは明らかだったはずです。

一般に、すべての取引機能は、エラーなく実行されることを確認しなければならないので、確認を怠らないようにしましょう。そして、他の関数から返される結果は、確認することができますし、確認する必要があります。

数字に惑わされているのか!

OrderSend() 関数の操作の種類を指定する。以下の値のいずれかを指定することができる。

定数

価値

商品説明

OP_BUY

0

購入

OP_SELL

1

販売する

OP_BUYLIMIT

2

買い指値注文

OP_SELLLIMIT

3

売り指値注文の保留

OP_BUYSTOP

4

買付停止注文の保留

OP_SELLSTOP

5

売り停止注文の保留

 
borilunad:

数字に惑わされているのか!

OrderSend() の操作の種類を指定する。以下の値のいずれかを指定する。

失礼しました、訂正します。
 
evillive:

タイプ3はバイストップ、セルストップは5で、タイプ番号は0から始まります。タイプ6では、入出金だけが制限されているようですが、それさえもどこにも記録されていません。

*1から0まで」ではなく、「OrdersTotal()- 1から0まで」のループです。

さらに、OrderSelectの実行を確認すべきでした、怠けてはいけません、実行エラーからチケットの間違いは明らかだったでしょう。

一般に、すべての取引機能は、エラーなく実行されることを確認しなければならないので、確認を怠らないようにしましょう。そして、他の関数から返される結果は、確認することができますし、確認する必要があります。

ああ、間違って指摘しちゃった、はい)。

ひとつひとつ再確認。セルチケットだけが間違っていた。注文、比較、修正など、残りもチェックしました。しかし、やはり発注後の呆気なさ。すべてが別々に動いていたのです。

if(MA=MA1)を入力する条件がおかしいのでは?は条件記号ではないので、正しくは「==」ですが、そのように記述してもExpert Advisorは全く動作しません。その他のバリエーション。">=", "<=", "<", ">", "=" は発注につながり、さらに茫然自失となる。

ファイル:
test3_4.mq4  15 kb