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

 

iCustom経由でのインジケーターの 呼び出しについて質問です。

1.iCustomに渡すパラメータリストから、一部のインジケータパラメータを除外することが可能です。例えば、ある文字列のパラメータを渡したくない、など。Expert Advisorから呼び出す場合、iCustomでsinput修飾子を持つインジケータ外部パラメータも指定する必要がありますか?

2.インジケータに多くのパラメータがある場合(数百個)、どのような解決策がありますか?このインジケータをどのように呼び出すか、すぐに解決できる方法はありますか?

ありがとうございます。

 

価格がMAを超えたら、EAがオープンポジションを クローズするようにしたいのです。

どのように実装すればよいかアドバイスをお願いします。

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

 
RichLux:

価格がMAを超えたら、EAがオープンポジションを クローズするようにしたいのです。

どのように実装すればよいかアドバイスをお願いします。

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

void CheckForClose_MA()
  {
   double MA=iMA(NULL,0,ma_period,ma_shift,MODE_SMMA,PRICE_MEDIAN,0);

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;
        //---- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Low[1]>=MA) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
         break;
        }
     }
//----


doubleiMA(
stringsymbol,// シンボル名
inttimeframe,// timeframe
intma_period,// 期間
intma_shift,// 平均値をシフトする
intma_method,// 平均化手法
intapplied_price,//価格タイプ
intshift// shift
);

 

iCustomを通じてExpert Advisorに送信されたパラメータを知る方法。iCustomで指定したバッファから不正な値を受け取るので、iCustomが呼び出さ れた後にデータがインジケータに「到達」したかどうかをチェックしたいのですが、どうすればいいですか?

全くデバッグができないのですが、どうすればいいのでしょうか?

削除済み  
Александр:

機能があります。


各関数呼び出しは 変数ХХを変更し、私はХХが外部であることを必要とします(私が必要とする論理)、しかし各関数呼び出しはХХが0であることから始まり、それに従ってreturn(ХХ)はその値を返します。I.e . 変数XXを外部にして、関数が「自律的に」、分離して呼び出されるようにする方法がわかりません。まさにMQ4によって。ありがとうございました。


何度か読み返したが、まだ何を求めているのか理解できない。

たぶん、これです。

double XX = 0;


double x()
{
   double rez = XX;
   XX++;
   return rez;
}
 
すべてのバーがチャートにロードされているかどうかを確認するにはどうすればよいですか?
インジケータが完全にロードされたときのみ、再計算を呼び出す必要があります。

条件
if(time[0] > TimeCurrent() - 60 * ChartPeriod())
は、問題解決に役立たない。
 

を記憶し、小節の 総数を確認し、数秒以内に値が「上がらない」場合は、「ここからが勝負」です。

を計算し、再度計算し直すと

rates_total-prev_calculated > 1
 
Koldun Zloy:

何度か読み返したが、まだ何を求めているのか理解できない。

そうかもしれませんね。

機能があります(私のEAではインジケータなので必要ですし、異論もありません、この インジケータが作動し、新しいピークからカウントダウンを開始します。).このインジケータは、常に変化するいくつかのパラメータを持っています。ループを避けたいので、これらのパラメータは値を失わないように外部化(関数externalのため)しています。そして、どんな新しい関数呼び出しでも、インジケータの値の変化だけを見ることができます。しかし、私は新しいピークからインジケータの新しい「インスタンス」を持ちたいのですが、古い「インスタンス」は 動作し続け、値を変化させます。クラスや構造体などの継承についてほとんど知らないので、MQ4の標準的なメソッドを使って実現したいです。ありがとうございました。
削除済み  
Александр:
私は関数(それは私のExpert Advisorのインジケータです、私はそれを必要とし、それは挑戦されていない、これを持っています。 ターキーは、新しいトップから動作(カウントダウン)し始めます。).私は、常に変化するいくつかのパラメータを持つインジケータを持っています。循環を避けたいので、これらのパラメータは値を失わないように外部化(関数externalのため)しています。そして、どんな新しい関数呼び出しでも、インジケータの値の変化だけを見ることができます。しかし、私は新しいピークからインジケータの新しい「インスタンス」を持ちたいのですが、古い「インスタンス」は 動作し続け、値を変化させます。クラスや構造体などの継承についてほとんど知らないので、MQ4の標準的なメソッドを使って実現したいです。ありがとうございました。

役に立たなかった。

せめて用語に迷わないように、言葉を覚えたほうがいいかもしれませんね。

外部変数の呼び方、「関数を自律的に呼び出す」ことの意味をみんなが理解しているとは思わないでください。

そして、ループと何の関係があるかというと、これまた自分にしかわからない理由で使いたくないのでしょう。

まあ、あなたを理解しようとは思いませんけど。


 
//+------------------------------------------------------------------+
//|           Проверка нажатия клавиш на клавиатуре                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(id==CHARTEVENT_KEYDOWN)
     {
     Alert(lparam);
     }
   }

Shift+A !などの組み合わせで確認する方法を教えてください。