質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

MQL4インジケーターのサインがリペイントしないようにしたい

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,164

score 12

MQL4インジケーターのサインが1分から5分に変えてまた1分に戻した時に
サインが消えてる場合があります。
ソースコードで自分なりにリペイントしないようにしたつもりなのですが
リペイントします。

ソースコードでどこを変更すればリペイントしないようになりますか?
よろしくお願いします。

bool Gi_100 = FALSE;
bool Gi_104 = FALSE;
bool Gi_108 = FALSE;
bool Gi_112 = FALSE;
int Gi_116 = 0;
bool Gi_120 = FALSE;
bool Gi_124 = FALSE;

// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
SetIndexStyle(0, DRAW_ARROW, EMPTY, 1);
SetIndexArrow(0, 241);
SetIndexBuffer(0, G_ibuf_76);
SetIndexEmptyValue(0,0); 
SetIndexStyle(1, DRAW_ARROW, EMPTY, 1);
SetIndexArrow(1, 242);
SetIndexBuffer(1, G_ibuf_80);
SetIndexEmptyValue(0,0); 
return (0);
}

// 52D46093050F38C27267BCE42543EF60
int deinit() {
return (0);
}

// EA2B2676C28C0DB26D39331A336C6B92
int start() {
int Li_8;
double ima_12;
double ima_20;
double ima_28;
double ima_36;
double ima_44;
double ima_52;
double irsi_60;
double irsi_68;
double irsi_76;
double Ld_84;
double Ld_92;
int Li_100 = IndicatorCounted();
if (Li_100 < 0) return (-1);
if (Li_100 > 0) Li_100--;
int Li_0 = Bars - Li_100;
for (int Li_4 = 0; Li_4 <= Li_0; Li_4++) {
Li_8 = Li_4;
Ld_84 = 0;
Ld_92 = 0;
for (Li_8 = Li_4; Li_8 <= Li_4 + 9; Li_8++) Ld_92 += MathAbs(High[Li_8] - Low[Li_8]);
Ld_84 = Ld_92 / 10.0;
ima_12 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4);
ima_28 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4 + 1);
ima_44 = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4 - 1);
ima_20 = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4);
ima_36 = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4 + 1);
ima_52 = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, Li_4 - 1);
irsi_60 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, Li_4);
irsi_68 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, Li_4 + 1);
irsi_76 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, Li_4 - 1);
if (irsi_60 > 45.0 && irsi_68 < 45.0 && irsi_76 > 45.0) {
Gi_104 = TRUE;
Gi_112 = FALSE;
}
if (irsi_60 < 55.0 && irsi_68 > 55.0 && irsi_76 < 55.0) {
Gi_104 = FALSE;
Gi_112 = TRUE;
}
if (ima_12 > ima_20 && ima_28 < ima_36 && ima_44 > ima_52) {
Gi_100 = TRUE;
Gi_108 = FALSE;
}
if (ima_12 < ima_20 && ima_28 > ima_36 && ima_44 < ima_52) {
Gi_100 = FALSE;
Gi_108 = TRUE;
}
if (Gi_100 == TRUE && Gi_104 == TRUE && Gi_116 != 1) {
G_ibuf_76[Li_4] = Low[Li_4] - 0.8 * Ld_84;
if (Li_4 <= 2 && Alerts && (!Gi_120)) {
Alert(Symbol(), " ", Period(), " Signal:BUY! ");
PlaySound(Symbol()+".wav");
Gi_120 = TRUE;
Gi_124 = FALSE;
}
Gi_116 = 1;
} else {
if (Gi_108 == TRUE && Gi_112 == TRUE && Gi_116 != 2) {
G_ibuf_80[Li_4] = High[Li_4] + 0.8 * Ld_84;
if (Li_4 <= 2 && Alerts && (!Gi_124)) {
Alert(Symbol(), " ", Period(), " Signal:SELL! ");
PlaySound(Symbol()+".wav");
Gi_124 = TRUE;
Gi_120 = FALSE;
}
Gi_116 = 2;
}
}
}
return (0);
}

コード
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

多分自身で書いたコードではないんだと思いますが矢印の条件の部分でi-1番目のインジケータの値を参照していればそれはリペイントもするかと

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る