[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 55

 
Lians:

配列のファイルへの書き込みと読み込みについては、すでにフォーラムで取り上げましたが、今また問題に直面しました。配列のファイルへの書き込みを行った後、配列の要素を値で見つけることができません。

このスクリプトを私に実行した結果、"The word xyz is not in written file, but the word xyz is "というログエントリーが表示されました。

何が悪いのか、どうすれば直るのか、教えていただけませんか?

2次元配列の文字列y[][]を使いながら、1次元配列でチェック(検索)しています。この機能をお試しください。

bool ArraySearchString (string m[][], string e1)
{
    for (int i1 = 0; i1 < ArrayRange (m, 0); i1++)
    {
        for (int i2 = 0; i2 < ArrayRange (m, 1); i2++)
        if (m[i1][i2] == e1) return (true);
    }
    return (false);
}

に変更し、チェック条件を

if (ArraySearchString (y,"xyz"))
 

TarasBY さん、ありがとうございます。効果あり!

もう一つ質問ですが、同じスクリプトで整数を数学的に計算すると、ターミナルのビルドが違うと違う値が出るという現象に遭遇された方はいらっしゃいますか?例えば、399ビルドでは488143839が出ますが、416ビルドでは348186686が出ます。

すでに何度か確認しましたが、このスクリプトは異なるビルドで同じパラメータで同じように実行されます。

 
Lians:

TarasBY さん、ありがとうございます。効果あり!

もう一つ質問ですが、同じスクリプトで整数を数学的に計算すると、ターミナルのビルドが違うと違う値が出るという現象に遭遇された方はいらっしゃいますか?例えば、399ビルドでは488143839が出ますが、416ビルドでは348186686が出ます。

すでに何度か確認しましたが、このスクリプトは異なるビルドで同じパラメータで同じように実行されます。



数値が大きいので、おそらく整数変数のオーバーフローが原因だと思われます。
 
こんにちは、ストップロスを 追加するのを手伝ってもらえますか?自分でやってみたが、ストップロスが表示されない。
ファイル:
q163hud4n85.mq4  33 kb
 
moskitman:
いや、Vadim、デスクトップだ!512mb GForce 9600のグラフィックカード本体。
32bitクライアントOSは3.5GB以上のメモリを使用できません(3.25GBのものもあり、マザーボードのバイオスの性質に依存します)
これは、32ビットアーキテクチャと、3.5〜4Gbの領域がPCIデバイスのアドレスに専用されているためで、特に、PCIデバイスを多くインストールしている場合、RAMが少なく「見えて」しまうのだそうです
.
 
Zhunko:
と言われましたが、とにかくありがとうございます、Vadimさん。
 
sand:

数値が大きいので、もしかしたら整数変数のオーバーフローが原因かもしれません。
これを回避する方法をご存知ですか?MathFloor(), MathSqrt() ...などの関数は使わないのですか?それとも、どうしようもないのでしょうか?どこでも同じようにカウントしてほしい。
 
yosuf:
インターネットがダウンすることがよくありますが、ソフトウェアで再起動を自動化することは可能ですか?あるいは、それについて何がわかっているのか。パラレルという意味で、2つ以上のISPに同時に電力を供給する方法はないのでしょうか? よろしくお願いします。

XmaksasX:

プレーンテキスト文書を作り、このテキストを入れる

:LOOP
ping 8.8.8.8 | find "100%" && (rasdial /disconnect & rasdial "NAME OF YOUR CONNECTION" login pass)
ping -w 1000 -n 30 127.8.8.8 | find "100%" && (rasdial "Name of Your Connection" login pass) ping 5.0.0.1

goto LOOP

保存して、拡張子を *.txt から *.bat に変更して、巻いてお楽しみください))

XmaksasX さん、大変賢明なアドバイスありがとうございました。インターネット接続は2日間ダウンしていません。それとも、上記の原理が働くので、気がつかなかったのかもしれません。私は以前、10分ごと、1時間ごと、あるいは夜間にブラックアウトを起こし、さらに悲しいことに仕事中、つまり何のシステムもないところで、ブラックアウトを起こしていました。これで、あなたもぐっすり眠れるというものです。

もう一つ質問ですが、自宅と職場の2台のPCから同時にリアルアカウントを 管理することは可能でしょうか?

 

以下は、EAのコードの一部です。シグマ分だけ建値から 乖離したらクローズというのを実装したかったのですが、理論的にはシグマ=1*Pointとするとまた、実際の取引ではスプレッドがあるため利益が出ませんが、Strategy Testerではスプレッドがないため常に利益が出るはずです。

ここに間違いがあるのでは?

if (OrdersTotal()!=0)
    {
     OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
     
     if (OrderType()==OP_BUY)
     {
      if ((Bid-Open[0])>=SigmaHigh*Point) OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Red);
     }
      
     if (OrderType()==OP_SELL) 
     {
       if ((Open[0]-Ask)>=SigmaLow*Point) OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Green);
     }
    }
 
orb:

で、テスターでの拡散はありません。


テスターに広がりがある。テスト実行時のチャートと全く同じです。