エラー、バグ、質問 - ページ 1002

 
sion:

配列で動作させるべきでしょうか、それともバグでしょうか?

バグ、以下がコンパイルされないので、あなたの例ではいけない
( (bool)ts )
( (int)ts )
( ts == true )
( ts != NULL )
 
Vladon:

私の知る限り、端末のアップデートは理由があって行われ、一部の機能が壊れることは確かです。

しかし、アップデートを無効にする方法 - 私には非常に単純に思えるので、それは巧妙に動作するはずです。

確かに、すべてがシンプルです :)

また、新ビルドで何が変わったのか、どこに書いてあったのでしょうか?

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

 
ns_k:

本当に簡単です :)

新しいビルドで何が変わったのか、どこで読むことができますか?

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

https://www.mql5.com/ru/forum/23
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 

こんにちは。

インジケーターウィンドウでレベルを使用しています

IndicatorSetDouble(INDICATOR_LEVELVALUE,1,80);  

レベル分けができるのは良い。異なるレベルに対して、1つの同じプロパティを異なるように設定することは可能ですか?

例えば、1.80を青い実線で、0.20を黒い破線で描いてほしい。

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

 
  void fLog(string Message){
    //ЗАПИСЬ В ТХT
   ResetLastError();
    filehandle=FileOpen(file_name,FILE_WRITE|FILE_TXT);
   if(filehandle!=INVALID_HANDLE){
        FileSeek(filehandle,0,SEEK_END);
        FileWrite(filehandle,Message);
        FileClose(filehandle);
        //Print("Запись удачна!"); 
     }
   else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); 
        } 
ファイルの末尾に 追加したいのに、上書きされてしまう。どうしたんですか?
 

FILE_WRITE の場合 - ファイルがゼロサイズで再作成されます。

FILE_READ|FILE_WRITE の場合 - その名前のファイルがない場合、新しいファイルが作成されます。

 

コードの書き方

//+------------------------------------------------------------------+
//|                                                   LEVELSTEST.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 1
#property indicator_plots   1

int OnInit()
  {
//--- indicator buffers mapping
  
  
   IndicatorSetInteger(INDICATOR_LEVELS,2);
   IndicatorSetInteger(INDICATOR_LEVELCOLOR,clrBlue);
   IndicatorSetInteger(INDICATOR_LEVELSTYLE,2);
   IndicatorSetDouble(INDICATOR_LEVELVALUE,0,30.0);
   IndicatorSetDouble(INDICATOR_LEVELVALUE,1,50.0);
      
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
  {
//---
   
  }
//+------------------------------------------------------------------+

私が得た出力は

https://www.mql5.com/en/charts/408767/eurusd-m5-alpari-fs-levels-test

この場合、レベル50も青い点線で描くべきでしょうか。

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

Chart EURUSD, M5, 2013.06.16 22:20 UTC, Alpari FS, MetaTrader 5, Demo
Chart EURUSD, M5, 2013.06.16 22:20 UTC, Alpari FS, MetaTrader 5, Demo
  • www.mql5.com
Chart EURUSD, M5, Alpari FS: LEVELS TEST
 
A100:

FILE_WRITE の場合 - ファイルがゼロサイズで再作成されます。

FILE_READ|FILE_WRITE の場合 - その名前のファイルがない場合、新しいファイルが作成されます。

ありがとうございます。
 
ns_k:

レベル分けができるのは良い。異なるレベルに対して、同じプロパティを異なるように設定することは可能でしょうか?

例えば、1.80を青い実線で、0.20を黒い点線で描画してほしいのです。

もちろん、先日も事例を公開したばかりだ。

  1. デモインジケータSetInteger
  2. Demo_IndicatorSetDouble(デモインディケーターセットダブル
  3. デモインディケーターセット文字列
 
A100:
バグ、以下がコンパイルされないので、あなたの例もそうでないはずです。

ts==true と ts!=NULL は全く別の表現です。

さらに

ts==true と ts!=false も異なる表現です。

どう違うかわかりますか?シンタックスだけでなく、セマンティクスも。