初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 40

 
Игорь:

白紙のチャートに表示したところ、すべて正常に表示され、カウントされるようになりました。

端末を 終了して起動 する スクリーンショット1

TFを変更したところ、すべてが再び表示され、次の再起動まで動作するようになりました。

TFの再計算に1-2分かかる有料インデックスがまだあるので、TFのチェックを避けたいだけです。

ウィンドウを1つにして、またウィンドウなしで試してみました。

起動時に問題が発生する

テキストマークの 設定がおかしいと思うのですが

 
Игорь:

起動時の不具合

テキストラベルの設定に問題があるのでしょう

ひとつわからないのは、なぜコード内ですべての変数を初期化しているのか、ということです。

このように

double s = ....

これはすべて init() の前にあるべきものですが、式なしで

double e,p,r,s,t;


で、コードには式しか含まれていません。

void init()

{

s=...

}

void start()

{

r=...

t=...

}

少し遊んでみて、コードを正しく再構築してください。

そして、すべてがうまくいく、ことを願っています。

 
Renat Akhtyamov:

ひとつわからないことがあるのですが、なぜコードの中ですべての変数が初期化されているのですか?

このように

double s = ....

これはすべて init() の前にあるべきものですが、式なしで

double e,p,r,s,t;


コードには式しか書いていない。

void init()

{

s=...

}

void start()

{

r=...

t=...

}

少し遊んでみて、コードを正しく再構築してください。

そして、すべてがうまくいく、ことを願っています。

私は独学で、このコードを書いたわけではありませんが、彼のサイトから盗みました。

しかし、質問には答えず、バグも有料で修正する。

私は長い間このコードを使っており、このコードに関する多くの有用な情報を書いてきました。

が、再起動するとすべて同じ問題が発生する

ずっと格闘していましたが、最新版を試してみます。

お知らせします!

 
Игорь:

私は独学でこのコードを書いたわけではない、プロのプログラマーであるKIMIV IGORI氏のサイトより

が、質問には答えず、バグを修正するのは有料のみ。

私は長い間このコードを使っており、このコードに関する多くの有用な情報を書いてきました。

が、再起動するとすべて同じ問題が発生する

ずっと格闘していましたが、最新版を試してみます。

また、報告します!

なぜかわからないが、再起動すると、この場所で悪態をつく。

DoubleToStr(s/AccountBalance()*100.0, 2)

error 2016.12.20 21:31:43.360 test USDCHF,H4: zero divide in 'test.mq4' (93,26) -Division by zero.


 
Sergey Gritsay:

まだ理由は不明ですが、リロード時にこの位置で悪態をつきます。

DoubleToStr(s/AccountBalance()*100.0, 2)

error 2016.12.20 21:31:43.360 test USDCHF,H4: zero divide in 'test.mq4' (93,26) -Division by zero.


initeに一時停止を入れるか、balance == 0のチェックを何らかの方法で行う、Expert Advisorの読み込みが端末がサーバーに接続するよりも早く、起動した瞬間に残高が不明、つまりゼロになってしまう。
 

みなさんこんにちは)

私はmql4初心者で、すべて自分で考えています......。mql4は初めてなので、あまりご無理をなさらないようにお願いします)

取引戦略を自動化したいので、Expert Advisorを書くのに使っています。

コメント」の項目で、グラフの情報を表形式で表示するようにする必要がある。例えば、3列と10行程度が必要だとします。
PLEASE!!! どうすればいいのでしょうか ...

 
Sergey Gritsay:

まだ理由は不明ですが、リロード時にこの位置で悪態をつきます。

DoubleToStr(s/AccountBalance()*100.0, 2)

error 2016.12.20 21:31:43.360 test USDCHF,H4: zero divide in 'test.mq4' (93,26) -Division by zero.


チャートはロードされているが、サーバーに接続されていないため、結果はゼロ除算となる。

どうかを確認する必要があります。if(AccountBalance()== 0) { return(0); }.

ラインを交換する。

// +"пипс "+DoubleToStr(s/AccountBalance()*100, 2)+"%", ecText, 130, 5, eiCorner);

+"пипс "+DoubleToStr(s/(AccountBalance()==0?1:AccountBalance())*100, 2)+"%", ecText, 130, 5, eiCorner);
 
Игорь:

私は独学でこのコードを書いたわけではない、プロのプログラマーであるKIMIV IGORI氏のサイトより

が、質問には答えず、バグを修正するのは有料のみ。

私は長い間このコードを使っており、このコードに関する多くの有用な情報を書いてきました。

が、再起動するとすべて同じ問題が発生する

ずっと格闘していましたが、最新版を試してみます。

お知らせします!

あなたのコードのエラーをなくし、情報表示を少しきれいにしました。
ファイル:
test.mq4  56 kb
 
Sergey Gritsay:
Igorはあなたのコードのエラーを排除し、情報の表示を少し快適にしました。

親切な方、ありがとうございました!1週間はコードに悩まされそうです。

あなたの写真、素敵ですね。

使ってみる!

私のを使いたい!クリアで使えるし。

悪気はないのですが、私もあなたのを使いますよ~でも、まだそんなに時間がないんです。

私のを使ってくれる人がいるかも!?

 
Vitaly Muzichenko:

グラフは読み込まれているが、サーバーへの接続が発生していないため、結果はゼロによる除算となる。

チェックを入れる必要があります。if(AccountBalance()== 0) { return(0); }.

回線を交換する。

// +"пипс "+DoubleToStr(s/AccountBalance()*100, 2)+"%", ecText, 130, 5, eiCorner);

+"пипс "+DoubleToStr(s/(AccountBalance()==0?1:AccountBalance())*100, 2)+"%", ecText, 130, 5, eiCorner);

エラーは出ませんでしたが......。

本当にありがとうございます。

やっと仕事が全部終わったので、とてもうれしいです !

いつもありがとうございます !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

理由: