MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 132

 
人です。よろしくお願いします。ここで質問です。MACD指標 をベースにEAを作っています。実は、開くには2つの条件があり、閉じるには2つの条件があるのです。シグナルが0以上、MACDが0以上、1本目が2本目より少なく、2本目が3本目より多いことが買い成立の第一条件です。第二条件:シグナルが0以下、MACDが0以下、第一バーが第二バーより小さく、第二バーが第一バーより小さい。でも、ひとつだけ、でも...。これらの条件は、売買を成立させるための条件を完全にコピーしている。どのように分けるのか?アドバイスをお願いします。ヒストグラム上でピークが繰り返されるというのは一応わかるのですが、では、そのピークがすでにあったというのはどう表現すればいいのでしょうか。そんな思い出をEAで作るには?
 

こんにちは、私はEAを書いています。本質はこれです - それらのいずれかが2番目は削除されトリガされたときに2つの異なる指向ストップ注文を 開きますが、テスターでは削除されのみ購入注文sellstopを削除しようとすると4108エラー不正なチケットが出てくる。よろしくお願いします。注文を削除する機能を挿入。

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

void DellSell()
  {
   int dell;
   for(int i=OrdersTotal() -1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_SELLSTOP && CountBuyDell()>0)
               dell=OrderDelete(OrderTicket());
            if(!dell)
              {
               Print("Ордер SellStop не удален");
              }
           }
        }
     }
   return;
  }
 

ごあいさつインジケーターからのデータの取り方について教えてください。

赤と青のアイコンのデータが必要。描画がないときに、それぞれのバッファに天文学的な値が入ることがある。10000という数字に限定しています。動作しているように見えるが、信号の飛びがある。どうすれば直るのか?ここで、私がどのように失敗したかを説明します。

PriceHigh1=iCustom(NULL, 0, "TMAlCG_mladen", TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnCurrent, alertsOnHighLow, alertsMessage, alertsSound, alertsEmail, 4, 0).PriceHigh1=iCustom(NULL, 0, "TimeFrame", HalfLength, Price, BandDeviations, Interpolate, alertsOn, alertsOnHow);
PriceLow1=iCustom(NULL, 0, "TMAlCG_mladen", TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnCurrent, alertsOnHighLow, alertsMessage, alertsSound, alertsEmail, 3, 0).Ultimate (TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnHigh, Interpolate);
if (PriceHigh1<10000) PriceHigh=PriceHigh1; else PriceHigh=0;
if (PriceLow1<10000) PriceLow=PriceLow1; else PriceLow=0;
ファイル:
 
Andrey Sokolov:

ごあいさつインジケータから正しいデータを取得する方法を教えてください。

赤と青のアイコンのデータが欲しい。描画がないときにそれぞれのバッファに天文学的な値が入ることがあるのです。10000という数字に限定しています。動作しているように見えるが、信号の飛びがある。どうすれば直るのか?ここで、私がどのように失敗したかを説明します。

PriceHigh1=iCustom(NULL, 0, "TMAlCG_mladen", TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnCurrent, alertsOnHighLow, alertsMessage, alertsSound, alertsEmail, 4, 0).PriceHigh1=iCustom(NULL, 0, "TimeFrame", HalfLength, Price, BandDeviations, Interpolate, alertsOn, alertsOnHow);
PriceLow1=iCustom(NULL, 0, "TMAlCG_mladen", TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnCurrent, alertsOnHighLow, alertsMessage, alertsSound, alertsEmail, 3, 0).Ultimate (TimeFrame, HalfLength, Price, BandsDeviations, Interpolate, alertsOn, alertsOnHigh, Interpolate);
if (PriceHigh1<10000) PriceHigh=PriceHigh1; else PriceHigh=0;
if (PriceLow1<10000) PriceLow=PriceLow1; else PriceLow=0;

コードを調べたわけではありませんが、これが役に立つと想定できます。私が間違っているかもしれません。

if (PriceHigh1!=INT_MAX) PriceHigh=PriceHigh1;  else PriceHigh=0;
if (PriceLow1!=INT_MAX) PriceLow=PriceLow1;  else PriceLow=0;
 
Vitaly Muzichenko:

コードを調べてはいないが、役に立つと想定できる。間違っているかもしれません。

if (PriceHigh1!=INT_MAX) PriceHigh=PriceHigh1;  else PriceHigh=0;
if (PriceLow1!=INT_MAX) PriceLow=PriceLow1;  else PriceLow=0;
スルーしないでくれてありがとう、でもしょうがない。
 
Andrey Sokolov:
スルーしないでくれてありがとう、でもしょうがない。
天文学的な」値があるので、EMPTY_VALUEとの 比較も試してみてください。
 
mql 4.0の古いバージョンで、ArraySearchDouble()とEquationDirect()を使用した場合。新バージョンには、何かアナログなものがあるのでしょうか。
 
27311065:
mql 4.0の古いバージョンで、ArraySearchDouble()とEquationDirect()を使用した場合。そして、新バージョンには、どんなアナログもある。
旧バージョンでは、どこでご覧になりましたか?これらは自作機能です。ダメ?
 
ご教示ありがとうございます
 

計算結果に応じて、サブグループに分割される数列が与えられ、これらのグループは配列に格納されるべきであり、さらに、各グループは、グループごとに2つ以上の指標(別々に数値のグループが計算図に属します)を持つことになります - データで動作するように最善の方法をアドバイスしてください。データは以下のようになるものとする。

1/1,2,3,4/23/33

2/1,4,5/26/11

3/3,4,5,33,56,38/21/44

とうとう