どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1021

[Deleted]  
こんにちは。アドバイスに協力する。実際のプロエコン・アルパリ口座で相場感応型EAをテストしています。その結果、引用符をダウンロードし、2回連続でテストしても、同じ間隔でチャートが大きく異なっています。リアルで何が起こるかわからない。
削除済み  

テスターに固定スプレッドを設定する。一般的に、EAはそのようなことに敏感である - トイレに )

[Deleted]  
はい、その通りです、ありがとうございました。EAについては、わかりません。著者は、EAの最大の利点として感度を提示しているに過ぎない。なぜなら、Expert Advisorはインジケーターベースではなく、値動きに基づいていると説明しているからです。そのため、彼はecnアカウントでの作業を推奨しており、dukascopiの言葉を引用しています。それについてどう思いますか?
[Deleted]  
Lians:
プロフェッショナルの皆様、こんにちは。

過去100本または一定時間までの相場を好きなフォーマットでエクスポートするスクリプトがあります。本来の機能を発揮します。しかし、テスターの可視化チャートに投げられた場合、テスターの日時ではなく、履歴にある最後の引用をもとに引用が保存されます。

テスターの可視化チャートの時間を元に、過去100本のバーを保存するように教えられないでしょうか。

その場合、どのようにすればよいかアドバイスをお願いします。解らないんです。
追記:置換にStringReplaceではなく、Kimの関数を使っているのは、そういう設計になっているのです、気にしないでください。


自分に返信します。このスクリプトからインジケータを作ると、なぜかちゃんと動くんですよね。
そこで、解決策が見つかりました。2クリックほど不便ですが、それでもないよりはましです。
 

インジケーター - ATS (Alpha Trend Spotter Price Action free)

CandleHigh=High[Highest(NULL, 0,2,3,i)];
CandleLowS=Low[Lowest(NULL,0,1,3,i)];
CandleOpenS=Open[i];
CandleHighF=High[Highest(NULL, 0, 2, 3, (i+3))];
CandleHighL=Low[Lowest(NULL,0,1,3,(i+3))];
CandleOpenL=Open[i+3];
//---
if((CandleHigh>CandleHighF) && (CandleOpenS<CandleHighL))
{
BufferMap1[i]=High[i+3]+0.0010;
}
//---
if((CandleLowS<CandleHighL) && (CandleOpenS>CandleHighF))
{
BufferMap2[i]=Low[i+3]-0.0010;

質問を します。

1.ローソク足は何本で分析するのですか?
2.矢印はどのローソク足上にあるのか?
3.
O1>C2みたいな

これは同じインジケータのmq5用のコード です。

{
CandleHigh=high[ArrayMaximum(high,bar,iPeriod)];
CandleLow=low[ArrayMinimum(low,bar,iPeriod)];
CandleOpen=open[bar];
CandleHigh1=high[ArrayMaximum(high,bar+iPeriod,iPeriod)];
CandleLow1=low[ArrayMinimum(low,bar+iPeriod,iPeriod)];
CandleOpen1=open[bar+iPeriod];
//---
BuyBuffer[bar]=0.0;
SellBuffer[bar]=0.0;
//---
if(CandleLow<CandleLow1 && CandleOpen>CandleHigh1) BuyBuffer[bar]=low[bar]-ATR[bar]*3/8;
if(CandleHigh>CandleHigh1 && CandleOpen<CandleLow1) SellBuffer[bar]=high[bar]+ATR[bar]*3/8; }

mq5と理解 しました。

bool UP = Low[i+2] < Low[i+1] && Open[i+2] > High[i+1] ;

bool DOWN = High[i+2] > High[i+1] && Open[i+2] < Low[i+1] ;

うまく いったかな?

==

ATS mq4https://www.mql5.com/en/code/12941

 
フォーラムユーザーの皆様、こんにちは。
私は、ファイルサンドボックスの外でファイルを操作するためのライブラリを統合しようとしていますhttps://www.mql5.com/ru/code/11140.
しかし、初期段階では、基本的なファイルを開くのに問題があります。もしかしたら、このライブラリをベースに何かされた方がいらっしゃるかもしれませんので、よろしくお願いします。ありがとうございました。
#include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string name=StringConcatenate(Year(),TransformToFileName(Month()),TransformToFileName(Day()),".log");
//---
   string path=TerminalPath()+"\\MQL4\\Logs\\"+name;
//---
   if(FileCheckW(path))
     {
      //---
      int handle=-1;
      handle=FileOpenExistingW(path,GENERIC_READ,SHARE_READ);
      if(handle!=NULL)
        {
         Alert(handle);
         FileCloseHandle(handle);

        }
     }
//
  }
//+------------------------------------------------------------------+
string TransformToFileName(int val)
  {
   string res;
//---
   if(val<10)
     {
      res=StringConcatenate(0,val);
     }
   else
     {
      res=StringConcatenate(val);
     }
//---
   return(res);
  }
//+------------------------------------------------------------------+
エラー
 
bistreevseh:
フォーラムユーザーの皆様、こんにちは。
私は、ファイルサンドボックスの外でファイルを操作するためのライブラリを統合しようとしていますhttps://www.mql5.com/ru/code/11140.
しかし、初期段階では、初歩的なファイルが開かないという問題があるんです。もしかしたら、このライブラリをベースに何かされた方がいらっしゃるかもしれませんので、よろしくお願いします。ありがとうございました。

もしかしたら、これが問題なのかもしれない、ために

StringConcatenate()

"注意 "すること

パラメータはどのようなものでもよい。パラメータの数は2未満で あってはならず 64を越えてはならない。"

 
bistreevseh:
フォーラムユーザーの皆様、こんにちは。
私は、ファイルシステムのサンドボックスhttps://www.mql5.com/ru/code/11140 の外でファイルを扱うために、私のライブラリを統合しようとしています。
初期段階では、基本的なファイルを開くことができない問題があります。もしかしたら、このライブラリをベースに何かされた方がいらっしゃるかもしれませんので、よろしくお願いします。ありがとうございました。

テストスクリプトは正しく動作していますか?

システムドライブの権利と所有者?

こんなスクリプトがあるんです。

#include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
 {
  string sName = TimeToString(TimeLocal(), TIME_DATE) + ".log";
  sName = StringSubstr(sName, 0, 4) + StringSubstr(sName, 5, 2) + StringSubstr(sName, 8);
  string sPath = TerminalPath() + "\\MQL4\\Logs\\" + sName;
  Print(sPath);
  if (FileCheckW(sPath))
   {
    int hFile = FileOpenExistingW(sPath, GENERIC_READ,SHARE_READ);
    if (hFile != NULL)
     {
      Print("hFile = ", hFile);
      FileCloseHandle(hFile);
     }
    else Print("Файл не открыт!");
   }
  else Print("Файл отсутствует!");
 }

の作品です。

0 07:46:55.195 Check_FileLib EURUSD,Daily: 初期化されました。
0 07:46:55.196 Check_FileLib EURUSD,Daily: E:\MarketForex﹑Alpari﹑MetaTrader 4.00﹑MQL4﹑Logs20160305.log
0 07:46:55.239 Check_FileLib EURUSD,Daily: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Daily: uninit reason 0
0 07:46:55.241 スクリプト Check_FileLib EURUSD,Daily: 削除されました。

 
Zhunko:

テストスクリプトは正しく動作していますか?

システムドライブの権利と所有者?

こんなスクリプトがあるんです。

の作品です。

0 07:46:55.195 Check_FileLib EURUSD,Daily: initialized
0 07:46:55.196 Check_FileLib EURUSD,Daily: E:\MarketForex﹑AlpariMetaTrader 4.00ⒸMQL4ⒸLogs﹑20160305.log
0 07:46:55239 Check_FileLib EURUSD,Daily: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Daily: uninit reason 0
0 07:46:55.241 Script Check_FileLib EURUSD,Daily: 削除されました。


ありがとうございました。私は管理者権限を持っていて、特にターミナルフォルダは 所有者に全ての破壊を委ねたところ、うまくいったのですが、その後動かなくなりました。その後、FileReadStrArrayW(名前に間違いがなければ)を使ってログファイルを読もうとしましたが、空の行を読んでしまい、スクリプトはansiモードでハングしてしまいました。FileReadCharArrのみ、アンシコードを読み取ることができました。あなたのライブラリでログファイルをパースする例はありますか?ぜひともよろしくお願いします。
 
使い方がよくわからないし、この問題を解決する方法がわからない。インジケーターでは、サイクルを使った比較計算を行うことになっており、相場がある日はリアルタイムで(ゆっくりではあるが)動作しているのだが、今日は計算が行われていないことに気がついた。