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

 
Artyom Trishkin:
ゴミは緩衝材に。まず、描画するすべてのバッファ(矢印バッファの場合)に空値を入力し、その後にインジケータを計算 するだけです。携帯からだとコードが見えないので正確なことは言えませんが

ArrayInitializeを先にやるということですか?

 
Roman Sharanov:

ArrayInitializeを先にやるということですか?

これはすでに実施されていることです。
インジケータ・ループでは、ループ・インデックスのあるバッファ・セルに「空の値」を代入する必要があります。
 
Artyom Trishkin:
これはすでに実施されていることです。
インジケータ・ループでは、ループ・インデックスのあるバッファ・セルに「空の値」を代入する必要があります。

OK、ありがとうございます。

 
Artyom Trishkin:

はい、お手本をご覧ください。

ありがとうございます、知識の源に行ってみます :-)


トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MQL4に関する初心者向けの質問、アルゴリズムやコードに関するヘルプやディスカッションなど

アルチョム・トリシキン さん 2019.03.31 09:10

すでにあるんです。
インジケータループでは、ループインデックスを持つバッファセルにバッファ値「空値」を代入する必要があります。

すべての配列に明示的にNULL値を与える必要があるということでしょうか?

このゴミは PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) で処理することができます?

 
psyman:

ありがとうございます、知識源に行きます :-)



各配列に明示的にゼロ値を設定する必要があるのでしょうか?

このゴミはPlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0)で処理できるのでしょうか?

エディターで機能名にカーソルを合わせてF1を押すと、ミラクルが現れます。
 
ボットをダウンロードしたのですが、このエラーは何に関係しているのでしょうか?
botをインストールした人はみんな動いているのに、私だけがこの状態です。ターミナルを再インストールし、管理者として開いても、何も解決しない。

 
コンパイル時のエラーや警告はありません。しかし、ポジションは開きません(買いのポジションを1つだけ開き、テイクラインで閉じました)。

まだ何が問題なのかわからない。

//+------------------------------------------------------------------+
//|                                    Test advisor on iDeMarker.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                         https:/goga342@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//------------------параметры советника -------------------------------
extern double lots=0.01; //
extern int Magic=1111678111;
extern int Slippage=1;
//double sell_level=0.7;
//double buy_level=0.3;

extern double StopLoss=50;
extern double TakeProfit=50;
extern double TrailingStop=30;
double SL,TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(Digits==3 || Digits==5)
     {
      TakeProfit *=10;
      StopLoss   *=10;
      Slippage   *=10;
     }
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   int ticket;
// int cnt,total;

// открытие продаж

   if(CountSell()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
     {
      SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
      TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);
        {

         ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
         if(ticket>0)
           {
            // закрытие продаж
            if(CountSell()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_SELL)
                        if(OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на покупку !");
                    }
                 }
              }
           }
        }
     }
// открытие покупок

   if(CountBuy()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
     {
      TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);
      SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
        {
         ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
         if(ticket>0)
           {
            // закрытие покупок    
            if(CountBuy()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
                        if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на продажу!");
                    }
                 }
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
int CountSell()//проверкна открытие ордеров на продажу
  {
   int count=0;

   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_SELL)
           {
            if(OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountBuy()// проверкна открытие ордеров на покупку
  {
   int count=0;
   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_BUY)
           {
            if(OrderType()==OP_BUY)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
 
Roman Sharanov:
ロボットをダウンロードしたのですが、このエラーは何に関係しているのでしょうか?
どうしたらいいのかわからない。ターミナルを再インストールしても、管理者として開いても、何も解決しません。

あとは、OSを再インストールするか、変更するか...。あのね




勘違いしていますね。Expert Advisorのことです。

 
Alexey Viktorov:

あとは、OSを再インストールするか、変更するか...。あのね




勘違いしていますね。アドバイザーのことです。

その理由は何でしょうか。
 
Roman Sharanov:
その理由は何でしょうか。

そういうときは、解明しようとか、直そうとは思わない。いつも後悔しないように捨てて忘れています。