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

 

オフラインチャートエキスパートアドバイザー

こんにちは。

オフラインチャート用のExpert Advisorを作成したのですが、以下のようなコードになります。

int init()

{

start();

return(0);

int start()

{

while (!IsStopped())

{

RefreshRates()を実行します。

//実行コード

Sleep(1000);

//5分ごとに "I am alive "というメッセージを表示する

}

}

数分後、"i am alive "のメッセージは停止しました。

それとも、他のトピックで読んだように、すべてのオフラインチャートEAの問題なのでしょうか?

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

 

新しいバーサウンドを追加するには?

私は持っているEAの簡単なカスタマイズが必要です。

このEAはRangeBars EAで、新しいバーがチャートにプロットされたときにサウンドを再生する機会を、オプションとして挿入するだけでよいのです。

また、この機能の有効・無効の選択と、サウンドのファイル名の選択が必要です。

誰かその方法を教えてください。

レンジバーズ.zip

ファイル:
rangebars.zip  11 kb
 

M15の情報をM5での取引に利用したい。

上位の時間軸でMAなどのテクニカル指標を 計算し、下位の時間軸での売買の判断材料にしたい。指標に期間を指定したくない。PERIOD_M15などを使ってみましたが、実際のものと比較すると値が正しくありません。

 

...

このように使用すると.

iMA(NULL,PERIOD_M15,CalculatingPeriod,0,CalculatingMethod,CalculationPrice,Shift);

[/PHP]

it has to return the correct value. Here is an example of a 15 minute 14 period EMA of close of the first closed bar

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,1);

If you want to use that from back-tests then you have to add one thing :

[PHP] y = iBarShift(NULL,PERIOD_M15,Time[shift]);

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,y+1);

ここで、shiftはテストしている時間枠のバーの番号です。

Premeus:
上位の時間枠でMAなどのテクニカル指標を計算し、下位の時間枠で売買の判断を行いたい。インジケータに期間を指定したくない。PERIOD_M15などを使ってみたが、実際の数値と違ってしまう。
 

mladenさん、ありがとうございます。

 

Buy_Script / コーディングの仕方

こんにちは、コーダー

チケットの枚数が増えたら、どうすればいいのでしょうか?

ticket_2; ticket_3 and ... を挿入しなければならないところです。

どのようにコード化する?

//+------------------------------------------------------------------+

//| スクリプトプログラム開始機能

//+------------------------------------------------------------------+

intの開始()。

{

int ticket_1;

if(Digits < 4)

{

PointValue = 0.01。

iDigits = 2;

}

さもなくば

{

PointValue = 0.0001;

iDigits = 4;

}

ご協力ありがとうございました

 

MT4起動中にEAが動作しないようにする方法

Mladenさん、こんにちは。

数日前、VPSを 再起動した後、MT4を再起動させました。しかし、プラットフォーム上のEAが、MT4起動中に不安定なデータのために、本来クローズされるべきでないいくつかのトレードを誤ってクローズしてしまいました。このような事態を防ぐために、私のEAに挿入できるコードをいくつかご提案いただけないでしょうか?

よろしくお願いします。

プーさん

 

...

pooh123

まず思いつくのは、最初に受信したティックで動作しないようにすることです。

それはあなたがスタートの最初にこのようなものを配置する場合、行うことができます。

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }

しかし、私はそれがあなたが持っていたようなすべてのエラーを防ぐことができることを100%確信していない(それは例えば、データをダウンロードするために開始すると、長くなることができます - その後どうするか)。もし、もっと良いアイデアを思いついたら、ここに投稿します。

pooh123:
こんにちは、Mladen。

数日前、VPSを再起動した後、MT4を再起動しました。 しかし、プラットフォーム上のEAが、MT4起動時の不安定なデータにより、本来クローズされるはずのないトレードを誤ってクローズしてしまいました。 このような事態を防ぐために、私のEAに挿入できるコードをいくつか提案していただけないでしょうか?

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

プーさん
 
mladen:
pooh123

最初に思いつくのは、最初に受け取ったティックで動作しないようにすることです。

それは、スタートの最初にこのようなものを配置すれば可能です。

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }
ただ、今回のようなエラーを100%防げるかどうかはわかりません(例えばデータのダウンロードを始めると長くなることがあるのですが、その時はどうすればいいのか)。もっと良いアイデアを思いついたら、ここに投稿します。

Mladenさん、早速のご返信ありがとうございます。 これは助かります。

pooh

 

こんにちは。

この演算を計算できる関数は ないでしょうか?

x^0,5 (x=知っている値)

そして、もう一つの質問。

私は5桁のブローカーを持っています。それは知っている値の最初の4桁の小数だけを取得することが可能ですか?ありがとうございます。

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