[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 45

 
Stells:

こんにちは。

ExTrendv2インジケータ(添付)のUp_LineとDown_Lineの値をExpert Advisorに抽出する方法を教えてください。

以下の方法で試しています。

For Up_Line iCustom(NULL, 0, "ExTrendv2", 0, 0,1)

for Down_Line iCustom(NULL, 0, "ExTrendv2", 0, 1,1)

は失敗しました。


このようなインジケータを搭載したEAは、端末がハングアップしないのでしょうか?
 

テスターではハングアップしないようです。

ただ、私はまだ値が出せないんです、意味がわからない。

 
こんにちは、私は1つのシンボルと4つのタイムフレームでExpert Advisorを同時にテストしようとしています。私は小さな問題があります -エラー129- 開始と終了の両方で間違った価格、トレードスレッドは、オーラを送信する前に分離されているようです while(IsTradeContextBusy() || !IsTradeAllowed()){int Interval = MathRand()+1000;
Print("Trade thread is busy. "は、トレードスレッドがビジー状態です。チェックを繰り返す "+DoubleToStr((Interval/1000),0)+" sec");
Sleep(Interval);}.RefreshRates(); 誰かこのネタが何なのか、どう対処すればいいのか知っている人はいませんか?
 
Stells:

テスターではハングアップしないようです。

ただ、私はまだ値が出せないんです、意味がわからない。


このように、パラメータがない状態で試してみてください。

Up_Line iCustom(  NULL, 0, "ExTrendv2", 0,1);
Down_Line iCustom(NULL, 0, "ExTrendv2", 1,1);

インジケーターは1ティック ごとにすべてを再計算していますが。

 
Dimoncheg:

Expert Advisorを1つのシンボルと4つのタイムフレームで同時にテストしようとしているのですが、小さな問題があります。エラー129 - 始値と終値の両方で価格が間違っています。チェックを繰り返す "+DoubleToStr((Interval/1000),0)+" sec"); Sleep(Interval);}.RefreshRates(); 誰かこのネタが何なのか、どう対処すればいいのか知っている人はいませんか?

err_invalid_price 129 誤った価格


サーバーにリクエストを送る前に価格をDigitsに正規化する。

 
Vinin:


この方法で試してみてください、パラメータはありません

インジケータは1ティックごとに完全な再計算を行いますが。

チャートに載せたことを後悔した。端末は深い思考に入り、15分後、私はそれを殺した。
 
artmedia70:
err_invalid_price 129 誤った価格


サーバーにリクエストを送信する前に、価格をDigitsに正規化する。



もちろん、価格はNormalizeDouble(Ask,Digits) と NormalizeDouble(Bid,Digits) で正規化されています。注文の送信については、ここにある Igor Kim の関数も試してみました - この関数が処理しないので同じエラーが発生し、ただ5回注文を送信しようとして、それだけになります。注文を送信するすべてのコマンドでエラーが発生するわけではなく、ほとんどの注文はまだ開いています。この問題は、EAが1つのシンボルの異なるタイムフレームで複数の注文を同時に出したいときにあるケースでエラーが発生し、1つは普通に出されて、残りはこのエラーで成功しないので、トレードフローと関係があるような気がしているのですが、どうでしょうか?
 
Dimoncheg:

もちろん、価格はNormalizeDouble(Ask,Digits) と NormalizeDouble(Bid,Digits) で正規化されています。注文の送信については、ここにある Igor Kim の関数も試してみました - この関数が処理しないので同じエラーが発生し、ただ5回注文を送信しようとして、それだけになります。注文を送信するすべてのコマンドでエラーが発生するわけではなく、ほとんどの注文はまだ開いています。この問題は、EAが1つのシンボルの異なるタイムフレームで複数の注文を同時に送信しようとするとエラーが発生するケースがあるのですが、通常1つの注文は送信されますが、他の注文は失敗するので、トレードフローと関係があるような気がしています。

Ask と Bid を使用する直前にRefreshRates() を実行する。
 
//-------------------------------------------------------------------+
extern int    TotalOrders    = 1;
//-------------------------------------------------------------------+
// Global variables
int Cnt = 0;              // counter variable, used in for() loops
    // only perform analysis and open new order if we have not reached our TotalOpenOrders max
    if(TotalOpenOrders() < TotalOrders)
    {
//+------------------------------------------------------------------+
//|-----------------------//  Orders Count  //-----------------------|
//+------------------------------------------------------------------+
// This function returns the total amount of orders the expert advisor has open  
int TotalOpenOrders()
{
  Cnt=OrdersTotal();
  int TotalOpenOrders = 0;
  if(Cnt==0)
  {
    return(0);
  }
    else
    {
    for(;Cnt>=0;Cnt--)
    {
      RefreshRates();
      OrderSelect(Cnt,SELECT_BY_POS);
      if(OrderMagicNumber()==Magic)
      {
      TotalOpenOrders++;
      }
    }
  }
  return(TotalOpenOrders);
}
 
artmedia70:
チャートに載せたことを後悔した。端末は深い思考に入り、約15分後、私はそれを殺した。

貼る前にコードを見ないんですね。