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

 
Example2:


ただし、if(OrderOpenPrice()!=ma2) のチェックはある。


ma2とは?
 
pu6ka:

ma2とは?

スリップインジケータの 意味
 
Example2:

スライディングバーインジケーターの値


スライドの値を表示する。ゼロバーで刻みがあるため、2本目のバーのMAの値は変化しない。

ここでは、各ティックが来て、順番に同じ値を変化させています。

 
pu6ka:


スライドの値を表示する。ゼロバーでは刻みがあるため、2本目のバーのMAの値は変化しない。

ティックごとに注文が来て、同じ値を変化させているのですね。


チェックをif(OrderOpenPrice()!=NormalizeDouble(ma1,Digits))に変更しただけで、エラーは消えました。でも、あなたのコメントを参考にさせていただきます。
 
artmedia70:
そして、取引注文の価格に注目する。買いはBidで終了、売りはAskで終了。注文の種類を確認することができないため、価格を選択することができない - AskまたはBidのいずれか


EAで開くのは売りだけです。そのため、明示的に指定していないのです。もしかしたら、エラーが発生したのかもしれません。アスクの売りを決済しました。
 
001:

EAでは、売りだけが開かれます。だから、明示的に指定しなかったのです。それとも、もしかしたらエラーの原因かもしれないので、とりあえず指定したほうがいいのでしょうか?そして、アスクの売りを決済しています。

こんな風にやってみるといいかもしれませんね。

//+------------------------------------------------------------------+
bool CheckForLongetivityClose_Sell(int symbol, int magic) {
   if(DayOfWeek()==0 || DayOfWeek()==6) return;
   for(int i=OrdersTotal()-1; i>=0; i--) {
      if(OrderSelect(i,SELECT_BY_POS)) {
         if(OrderMagicNumber()!=magic) continue;
         if(OrderSymbol()!=symbol)     continue;
         if(OrderType()!=OP_SELL)      continue;
         datetime openTime_S= OrderOpenTime();
         int timeDistance_S = TimeCurrent()-openTime_S;
         if(timeDistance_S>60*BarrierMinute_S) {
            if(OrderClose(OrderTicket(),OrderLots(),Ask,3,clrRed)) return(true);
            }
         }
      }
   return(false);
}
//+------------------------------------------------------------------+

渡す変数にシンボルとマジックを入力しました。チェックがないんですね。

 
Example2:

検証をif(OrderOpenPrice()!=NormalizeDouble(ma1,Digits))に変えただけでエラーは消えました。でも、コメントを参考にさせていただきます、ありがとうございました。
まあ、それが分かっただけでも良しとしましょう。実数で比較した方が良いのですが、リンク 先をご覧ください。例えば、MathAbs(OrderOpenPrice() - ma1) >= _Point の場合。
 
昨日、マルチタイムスケールRSIについて質問させていただきました。誰もその答えを知らないのだろうか?実は、この質問自体はこちらhttps://www.mql5.com/ru/forum/145455/page619#972686
 

スクリプトからプログラム的にファイルをコピーしようとしています。うまくいかないんです。正しい方法とは?

#import  "shell32.dll"
    int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
#import

int Copyini;

int start()
   {
    //-------------------------- Cкопируем ini файл в песочницу Тестера ----------
    //Copyini = ShellExecuteA(0, "Open", "xcopy", "\""+PuthTerminal+FileOptim1+"\" \""+PuthTester_h+"\" /y", "", 3);
    //Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise.ini D:\Alpari_Terminal_Tester\tester\optimise.ini /y","",3);
    //Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise.ini D:\Alpari_Terminal_Tester\tester /y","",3);
      Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise D:\Alpari_Terminal_Tester\tester /y","",3);

    return(0);
   }
 
Leo59:

スクリプトからプログラム的にファイルをコピーしようとしています。うまくいかないんです。正しい方法とは?




#import "kernel32.dll"
  bool CopyFileW
       ( string lpExistingFileName,         // Имя файла источника
         string lpNewFileName,              // Имя нового файла
         bool   bFailIfExists );            // Не перезаписывать
#import




if (CopyFileW(srcFile , dstFile , False)) 
{

}
else
   ... ошибка



// под ваш случай

CopyFileW( "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini" "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini", False);

// или 

string sFileSRC =  "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini";
string sFileDST =  "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini;
if ( CopyFileW( sFileSRC,  sFileDST , False) )
{

}
else
{
   printf("error");
}