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

 
ilunga:
括弧 "(" と括弧 ")" の数が異なる。
ありがとうございます、直りました
 

こんにちは。

移動平均線 Expert Advisorは、チャートが移動平均線を超えたときではなく、移動平均線+10pips上回ったときにポジションを建てるようにするにはどうすればよいですか。誤検出を防ぐため

ありがとうございました。

 
kostikk:

こんにちは。

移動平均線Expert Advisorは、チャートが移動平均線を超えたときではなく、移動平均線+10pips上回ったときにポジションを建てるようにするにはどうすればよいですか。誤検出を防ぐため

ありがとうございました。


条件に変数を追加するのです。

extern int point = 10;
 

----------------------------



if(Ask  > Ma0 +point*Point  && Ask  < Ma1+point*Point )//для Бая


--------------------------

if(Bid  < Ma0 -point*Point  && Bid > Ma1-point*Point )//для Сэлла 
 

オフラインのチャートを正しく更新する方法を教えてください。チャート全体を更新する必要はなく、最後のバーだけを更新すればよい。

例えば、"HistoryBarsEditor "スクリプトhttps://www.mql5.com/ru/code/10488 を使用した場合のチャートの更新はこのようになります。

私が理解する限り、編集後、これらのバーのためにチャートが更新されます。

  int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
  PostMessageA(hChart,MT4InternalMsg, 2, 1);  //эмуляция тика
  
  UpdateWindow(hTerminal);

しかし、同じ行を、https://www.mql5.com/ru/articles/1353 の代わりに編集したい "synbar" インジケータに挿入すると、次のようになります。

PostMessageA(hwnd,WM_COMMAND,33324,0);
が表示され、更新が行われない。
 
fenik:

オフラインのチャートを正しく更新する方法を教えてください。更新の際、チャート全体を更新するのではなく、最後のバーだけを更新するようにします。

ターミナルでPeriodConverter スクリプトを見る
 
sergeev:
ターミナルに付属の PeriodConverter スクリプトを参照してください。


残念ながら、これも PostMessageA(hwnd,WM_COMMAND,33324,0) によって更新され、チャート全体がティックで再描画されます。
 

が、チャートは更新時に1本のバー(画面の切れ端)しか描画できない。

を実行すると、ウィンドウ全体が一度に更新されます。

 
paladin80:
誰も答えないということは、みんな何を答えたらいいのかわからないということです。何度も投稿して、たくさんの文章をコピーする必要はありません。
誰も答えられないような難しい質問だなんて!! ...他の質問とその他の質問に対する答えのために、質問がしばしば「すり抜ける」ので、何度も投稿しています。
 
7777877:

質問:私の理解は正しいですか?

a) ファイルポインタの定義。

b)「指定されたチェック(ブロック5-6の最後の2行)を外すと、プログラム実行時に余分なオブジェクトが生成 される」という言葉の意味。そして、その後にのみwhile ループの終了条件が発動し、制御はブロック8-9に渡される」。

a) 誤解されたとしても、正しいプログラムを作る妨げにならないか?

b) 確認しましたか?また、どのように、余分なオブジェクトが作成されましたか?

 
私のアドバイスは、教科書を読むのではなく、すべてを曖昧にせずに説明しているドキュメントを 使うことです。