コーディングの方法は? - ページ 263

 

線を上下にドラッグすることは可能ですか・・・?

こんにちは。

別のインディケータウィンドウのレベル線(または「有効な」レベル線)を手動で移動(すなわち「ドラッグ」)して、新しい設定値を、取引の開始と終了にこれらを使用するEAで更新することは可能でしょうか?

ドラッグ&ドロップで線を移動できるスクリプトがあることは知っていますが、EAにそのようなスクリプトを組み込むことが可能かどうかわかりません。

 
 
yourspace:
ハイ

多分、その通りだと思うので、試してみてください。

double upper_red = iCustom(NULL,0, "DDM",Nmbr_Bars,Order,Ecart,3,0);

何も変わりませんが、とにかく反応する戦車です。

多分、誰かが似たようなインジケータを知っていますか?

編集:解決しました。「i-Regr H&L」というインジケータがほぼ同じで、こちらは正常に描画されます。

 

クオートセーバー

こんにちは。

実際のティックデータをcsvファイルに保存したいのですが、どうすればいいですか?毎週または毎月、1つのcsvファイルを保存したいのです。

私のinit関数では、新しいファイルを開き、毎ティックごとに、次のようにします。

FileWrite(handle_tick,TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES|TIME_SECONDS),Bid,Ask);

今、私はいくつかの問題/質問を持っています。

1.

ファイルへの書き込みに問題がある場合、eaは穴(週/月)のために停止し、それを再び開くことができません。

-FileOpen(...)を毎ティック書かなければならないのでしょうか?それともFileFlush(...)を使うべきですか?

2.

また、保存される時間にも問題がありました。チャート時間やヒストリーセンターの時間と比較すると、大きな違いがあります(静的ではなく、時々39分や87分など)。

CurTimeを保存しなければならないのでしょうか、それとも何時なのでしょうか?

3.

3. インターネット接続が途切れることがあります(例:2~5分、1日に3回ほど)。

どのようにすれば、保存された相場を自動的にチェックし、eaが履歴から不足している分データを取得することができますか?

また、インターネット接続が失われた場合、どのように私のティックデータを取得することができますか?また、履歴センターや過去数時間のバッファはありますか?

4.

どなたか、単一のcsv-quoteファイルを自動的に結合する簡単な方法をご存知ですか?

5.

5.Ger30のようなcfdのティックとミニッツのデータも保存したいのですが。.csv ファイルを毎月保存する場合、3ヶ月ごとに来る新しい契約は、その月の間に変更されます。その場合、EAはデータを見つけることができません。なぜなら、実際の基礎となるもの(「Juli」契約はもう有効ではなく、例えば、今は9月契約)がもう機能しないからです。

もしかしたら、その問題に対して信頼できるEAがすでにあるのかもしれませんね。

 

すべてのFileWriteの後、データがすべての書き込み後にディスクに書き込まれることを保証するために、ファイルフラッシュを実行する必要があります。 フラッシュを使用しない場合、ファイルシステムは書き込みをメモリバッファに保存し、効率化のためにバッファ内のすべてのレコードをディスクに書き込みます。 eaが停止してメモリレコードを失うのは、このためかもしれません。ファイルフラッシュは、各レコードをディスクに書き込むため、処理速度は遅くなりますが、すべてのレコードを確実に保持することができます。 ファイルフラッシュを使えば、EAの実行中にエクセルを使ってファイルを開き、読み取り専用モードで調べることができます。

deinit関数で、ファイルハンドルが> 0であるかどうかをチェックし、ファイルを閉じます。

これにより、メモリバッファが自動的にフラッシュされます。

開くときに、ディスク上に新しいファイルを作成するか、既存のファイルに追加するかのオプションがあります。 既存のファイルに追加する方法を使用したほうがよさそうです。 これにより、ファイルの結合が自動的に解決されます。 それぞれのCSVファイルを別のExcelで開いてカット・アンド・ペーストすることもできますし、メモ帳を使うこともできます。Excelでは、マージされたファイルをCSVとして保存したり、Excelをデータベースとして使用してマージされた情報をXLSX形式で保存することができます。また、MSからVB expressを無料で入手して、VBを学び、その言語でファイルマージを書くこともできます。

最良の方法は、ダニを保存する他の例を検索することです。

乾杯

 

また、もう一つ質問があります。

6.

入札、質問、出来高をティックファイルに保存することは有用でしょうか?

7.

7. メタトレーダー4や5でティックデータをバックテストする方法を知っている人はいますか?

7.メタトレーダー4または5でティックデータのバックテストをする方法を教えてください。また、プライベート メッセージで回答することができます。

ありがとうございました。

ジュリア

 

特にCFDはどうなんでしょうか?彼らは3ヶ月ごとに契約を変更します。どうすれば、tick-saver.mq4でプログラムすれば、原資産の変更が自動的に行われ、ティックを失うことがないのでしょうか?

 

こんにちは、皆さん。1つのEAを複数のチャートで使うにはどうすればいいでしょうか?

私の質問の要約。

私は、変数total = OrdersTotal()を使って一度に1つの注文を出すEAを持っています。新しい注文は、その1つの注文が閉じられたときにのみ開かれます。

同じ通貨ペアが2つのオープンオーダーを持つことなく、2つの異なる通貨ペアが それぞれ1つのオープンオーダーを持つことができるように、私はそれをどのように変更するのですか?

私が必要とするのは、これを可能にするコードの行です。

その特定のマジックナンバーの注文がまだ開かれていなければ、1つの注文(例えば、マジックナンバー12345)を出す。

または、同じ注文記号の注文がまだ開かれていなければ、1つの注文を出す。

--------------------------

私の問題の長いバージョン。

最近、10SMAと5SMAがクロスしたときに注文を出すというシンプルなEAを改造した。

それは私のEURUSDチャートで問題なく動作し、私はこれらのコードの行を持っているので、それは、買いまたは売りのいずれか、一度に1つの注文を配置します。

total = OrdersTotal();

if(total < 1)

--それから注文を出す

しかし、複製したEAを作成してEURJPYのチャートに適用すると、コードを次のように変更しなければなりませんでした。

total = OrdersTotal();

if(total < 2)

--というように変更しなければなりませんでした。

問題は、EURUSDの注文が閉じられると、2番目のEURJPYの注文が開かれるようになり、EURUSD EAはすでにEURJPYの注文が開いているので新しい注文を行わないということです。

私は異なるペアに別々のマジックナンバーを与えています。私はEURUSDチャートで22341というマジックナンバーで注文を開いていたので、EURJPYチャート用に新しい変数を使用してみました。

tott = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() == 22341)//22341はEURUSD注文のマジックナンバー

total = OrdersTotal();

if(total < 2 && tott == true)

--EURJPYの注文が発注されます。

しかし、EAを単独で実行させるのは複雑です...特に、私のEAを実行させたいUSDJPYの第3の通貨ペアを追加した場合です。

どんな助けでも感謝します!

edit:

私はマジックナンバーで行くことに決めました。

total= 0;

for(int i=0;i<OrdersTotal(); i++ )

{

if(OrderSelect(i, SELECT_BY_POS)==true)

{

if (オーダーマジックナンバー()==12341)

total++;

}

{

if(total < 1)

--トレードが行われます。

 

ティックデータのバックテスト

サンシャイン

"7.誰かメタトレーダー4または5でtickdataをバックテストする方法のチュートリアルを持っていますか?"

古いビルド(208だったと思います)は、ティックデータができる最後のビルドでした。 TSDで検索してください。

もし、すべて解決したら私も使いたいのですが。 また、TSDではないかもしれませんが、これがうまく解決されたスレッドを知っています。

ビッグベー

 

EAに前のバーがBBの上で閉じたことを認識させる方法とは?

こんにちは、皆さん。

ボリンジャーバンドの外側でバーが閉じたらEAに記録させ、前のバーでそれが起こったら取引を開始させようと思っています。

そして絵馬が交差するか何か。私のコードは今のところ次のようなものです。

int bar, sll;

if( Close[0] > bollingerband ){。

バー = バーズ;}。

if( bar+1 == Bars ){。

if(ema1>ema2){とする。

sll = 1}となります。

if ( bar+2 == Bars ){ バー = 0;}。

bar = 0;} となります。

残念ながら、これは動作しないようで、私はそれをグローバル変数だけでなく、静的にしてみました。だから私は、誰かが正しい方向に私を指摘することができれば、最も感謝されます。

乾杯。

Sapere