[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 300

 
costy_:
このバッファを上書きすることなく
また、新しいセルを追加するロジックはどのように想像しますか?
じゃあ、それを実装して...。
 
artmedia70:
また、新しいセルを追加するロジックはどのように想像しますか?
じゃあ、それを実装して...。

思い通りにならない)。

そうなると書き直さないといけませんね((。

//---------------------------------------------------------------------
// функция dIndBuf_In
// для эмуляции индикаторного буфера в любого рода скрипте
// bufIn[] ссылка на созданный ранее буфер  | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); |
// position - смещение баров
// value - значение присваемое смещением бара
//---------------------------------------------------------------------
double dIndBuf_In(double &bufIn[],int position, double value){
   if(ArrayIsSeries(bufIn))ArraySetAsSeries(bufIn,false);
   if(ArraySize(bufIn)!=Bars+1)ArrayResize(bufIn,Bars+1);
   bufIn[Bars-position]=value;
}
//---------------------------------------------------------------------
// функция dIndBuf_Out 
// для извлечения значений эмуляции индикаторного буфера в любого рода скрипте
// bufIn[] ссылка на созданный ранее буфер  | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); double x=dIndBuf_Out(mine,i)|
// position - смещение баров
//---------------------------------------------------------------------
double dIndBuf_Out(double bufIn[],int position){
   if(ArrayIsSeries(bufIn))ArraySetAsSeries(bufIn,false);
   return(bufIn[Bars-position]);
}
 
artmedia70:

:)フェミニンが出てきた・・・。

そして、名言コンテストも開催された...。

ああ...諸君:)


>
 
このエラーに関するヘルプ

10
sanches83 2011.10.28 18:24

すべてのこんばんは!この言語で任意の意味をなさないので、私はあなたに訴えるので、問題を解決するのを助ける

状況は次のとおりです。

コードの一部があります。


ファイルが開くまで、再度ファイルを開こうとしている、というメッセージを表示させる代わりに、どのようにすればよいか、アドバイスをお願いします。

皆さん、よろしくお願いします。


while()ループを試してみてください。こちらをご覧ください -https://docs.mql4.com/ru/basis/operators/while
 
22333222:

))

私たちは、笑顔なしでは生きていけないのです。

>
 
drknn:

while()ループを試してみてください。こちらをご覧ください -https://docs.mql4.com/ru/basis/operators/while

こんな感じ。

int handle=0;
while(handle<1){
   handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
   if(handle<1){
     Alert("Ашыпка ",GetLastError());
     Sleep(1000);
    }
} 
 
彼はアラートを必要としません。私は、コードのどこかで、ファイルがすでに開かれているが閉じられていないのだろうと理解しています。そのためか、ファイルが開き直せず、アラートウィンドウが気になるようです。私はテレパスのメンバーではないので、間違っているかもしれませんが :(
 
フォーラムを検索しましたが、クイックフィックスが見つからず、テスターでは動作しないが、実生活では動作するという問題を解決するのに役立っています。

ありがとうございます。

  if(NewBar() == true)
  {
    int Result = -1;
    while(Result == -1)
    {
      if(TotalOpenOrders() < TotalOrders)
      {
        if(TrendDetection() == BULL)
        {
          Result = OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slippage,NormalizeDouble(Ask,Digits)-(StopLoss*Point),NormalizeDouble(Ask,Digits)+(TakeProfit*Point),OrderComments,Magic,0,CLR_NONE); 
        }
...........................

 

ああ、なるほど、この人はexelファイルをテキストモードで開こうとしているのですね。しかも、ただのexelではなく、バージョン2007以上のものです。ファイル拡張子は *.xlsx です。これはテキストファイルではありません。テキストファイルとして開こうとすると、次のような結果になります。

このファイルをekselでテキスト文書として別の名前で保存し、新しい(テキストの)ファイル名を指定しても問題ないでしょう handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t'); 新しい(テキストの)ファイル名指定

 
rustein:
フォーラムを検索しましたが、クイックフィックスが見つからず、テスターでは動作しないが、実生活では動作するという問題を解決するのに役立っています。

ありがとうございます。


何が問題なのか、一概には言えませんね。MQL4では、コード中の負の数は必ず括弧で囲むことをルールとしています。括弧がなくてもエラーが発生することがあります。

ただし、externで始まるコード行の括弧内では負の値を取ってはいけない。なぜそうなのかはわかりません。