2

このmql4スクリプトはCSV、チャートに添付されている場合、 -file にエクスポートされません。 なんで?

static datetime check;
//+------------------------------------------------------------------+
//|   scripts/Export.mq4                  pre  Build 562-            |
//|   MQL4/Scripts/Export.mq4             post Build 562+            |
//+------------------------------------------------------------------+
void start() {                // New-MQL4 post Build 562+: void OnStart(){}
   if ( check != Time[0] ) {
        check  = Time[0];
        WriteCSV(); 
      } 
}

//+------------------------------------------------------------------+
//| WriteCSV                                                         |
//+------------------------------------------------------------------+
void WriteCSV() {
   int handle = FileOpen( StringConcatenate( Symbol(), ".csv" ),
                          FILE_CSV|FILE_READ|FILE_WRITE, ','
                          );

   if ( handle > 0 ) {
        FileSeek( handle, 0, SEEK_END ); 

        FileWrite( handle,
                   TimeToStr( TimeCurrent(), TIME_DATE ),
                   iOpen ( Symbol(), Period(), 1 ),
                   iHigh ( Symbol(), Period(), 1 ),
                   iLow  ( Symbol(), Period(), 1 ),
                   iClose( Symbol(), Period(), 1 )
                   );

        FileClose( handle );
      }
}
//+------------------------------------------------------------------+
4

3 に答える 3

0

ファイル名は、O/S の命名規則と衝突する可能性があります。

最初に一定の O/S セーフ文字列をテストします

int handle = FileOpen( "FileOpenTest_FILENAME_FEASIBLE.CSV",
                        FILE_CSV | FILE_READ | FILE_WRITE
                        );

最後になりましたが、ブローカーの楽器の命名が O/S との衝突を引き起こしていないかどうかを確認してください。何年も本番状態にあった MQL4 コードを停止したこれらのプラクティスを見てきました。

ブローカー側でEURUSD..と同じようにシンボルを (再) 命名すると、それ以外の場合は標準的なfileIO操作が驚くほどブロックされる可能性があります。DataCentre ホスティングでの直接の経験では、O/S が突然、ブローカー会社のマーケティング部門で同様のアーティファクトが挿入さWindows Server 2008れたファイル名を開くことを静かに拒否し始めました。 Symbol(). は、さまざまな口座/商品タイプの FOREX 商品に新しい命名規則を導入しました。

fileIO 操作は、ユーザーの有効な権限と衝突する可能性があります。

MT4 が-s の実行をuser許可する場所の有効な権利を確認します。fileIO

  1. ~<_TerminalDIR_>\MQL4\Files
  2. ~<_TerminalDIR_>\tester\files

(2014 年 10 月 1 日時点で有効、ビルド 670)

于 2014-09-30T23:17:24.010 に答える