初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 123

 

例えば、2本の線が交差したときに売買注文を 出しますが、単に交差するだけでなく、交差が0を超えたら値を追加したいのですが、どうすればよいでしょうか?

MMとMSはRVI指標線

  if (MM > MS && MoM < MS && MoM < MM)
   {
    OrderSend(_Symbol, OP_BUY, Lot, Ask, 3, Ask-SL*Point, Ask+TP*Point, "", Magic, 0, Red);
   }
  if (MM < MS && MoM > MS && MoM > MM)
   {
    OrderSend(_Symbol, OP_SELL, Lot, Bid, 3, Bid+SL*Point, Bid-TP*Point, "", Magic, 0, Red);
   }


 

こんにちは。

objラベルで64文字以上の文字列を表示させる方法を教えてください。

 
Игорь:

こんにちは。

objラベルで64文字以上の文字列を表示させる方法を教えてください。

2つのObjラベルを並べたところ。左側は右端に、右側は左端に合わせます

 
novichok2018:

OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT]; なぜOrderInfo にはブラケットとタイプがないのでしょうか?

OrderInfo はデータ型である。int、doubleなどと同様です。この場合、OrderInfo は構造体である。私の投稿ポジションを閉じる 機能に挿入する必要があるのでは?また、配列でポジションを閉じる機能は、何か違うように見えるべきでしょうか?私にとってはちょっと複雑なんです。ありがとうございます。

ここまでは、第一の課題である「作業指示の情報収集」のみを考えてきた。取引信号の生成と取引行動の実行は、それぞれタスク2とタスク3です。まだ到達していません。

情報収集の考え方は、「くしゃみ」のたびに、もう一度注文の一覧を見る必要はないのです。正しく書かれたEAでは、この動作は反復ごとに一度だけ実行されます。さらに、作成したデータのみを用いて作業を行います。

Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2018.02.13
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
 
Aleksey Rodionov:

例えば、2本の線が交差したときに売買注文を 出しますが、単に交差するだけでなく、交差が0を超えたら値を追加したいのですが、どうすればよいでしょうか?

MMとMSはRVI指標線


両行の値をゼロと比較する必要があります。そうでしょう?

それに、MoMが何なのかはっきりしない。

 

MQL5からこの行があり、MQL4コンパイラからクレームが来ていますが、どのように書き直せばよいのでしょうか?

//--- set new color
   m_pixels[y*m_width+x]=(r<<16|g<<8|b<<0|255<<24) &0xffffffff;

//check operator precedence for possible error; use parentheses to clarify precedence   Canvas.mqh
 
Ihor Herasko:

OrderInfo はデータ型である。int、doubleなどのように。この場合、OrderInfo は構造体である。私の投稿https://www.mql5.com/ru/forum/160587/page121#comment_6556328 で、その宣言の例を示しました。

あなたの例を正しく理解しています。MAX_ORDERS_CNT ?に合致する箇所では、#define指示文が500番を代入します。また、なぜ数字に型を割り当てる必要があるのでしょうか。

また、なぜextern int cnt=500と指定できないのでしょうか?そして、OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?が出てきます。


また、P122の記事で、&arrstOrderInfo[]、&nOrdersCnt.nが 何なのかがよくわからないのですが?私の質問が愚かと思われたら申し訳ありません。そのまま、嫌な思いをしながらも、もっと自分で考えてみようと思っています。

 

こんにちは

インジケーターのバージョン アップをお願いします。

2つのバッファを追加する必要があり、「ネイティブ」インジケータはギャップの識別で矢印(上または下)を描き、バッファ6または7でシグナルを出します。

がない場合、ギャップ信号で+1(上昇)または-1(下降)0となるバッファ8と9を用意したいです。

自分で作ろうとしたが、うまくいかない。

 
novichok2018:

あなたの例は正しく理解されていますか?MAX_ORDERS_CNTに遭遇した場合、#define指示により500という数字が代入されます。また、なぜ数字に型を割り当てる必要があるのでしょうか。

また、プログラムの実行 中ではなく、コンパイルの段階で置換されることに注意してください。

また、なぜextern int cnt=500と指定できないのでしょうか?そして、OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?が出てきます。

いいえ、int cntは変数の宣言ですから。そして、変数はプログラムの実行中にその値を変えることができます。また、静的配列のメモリはプログラム実行中には確保されません。メモリサイズはコンパイルの段階ですでに分かっているはずです。プログラムの実行中に配列のサイズを変更するためには、動的配列を使用する必要があります。まあ、これは後で静的配列に慣れたときにやることですが。

また、P122の記事で、&arrstOrderInfo[]、&nOrdersCnt.nが 何なのかがよくわからないのですが?私の質問が愚かと思われたら申し訳ありません。私自身、理解しようとしているのですが、あまり得意ではありません。

混乱を避けるため、少し簡略化してお答えします。(&)記号は、関数の引数が実行時に値を変えることができ、関数の呼び出し元の場所に、異なる値で戻ることを示します。この場合、SaveOrder 関数は g_arrstBuyOrderInfo および g_arrstSellOrderInfo 配列の内容や、g_nBuyOrdersCnt および g_nSellOrdersCnt 変数を変更することが可能です。

 

こんにちは。

mt4でテンプレートを使用 せずにバーを再描画する方法を教えてください!?

あるいは、配色をどうするか !