初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 962

 
Artyom Trishkin:

コンパイラは悪態をつかず、「doubleをintにしようとしている」という警告を出す。


題材にした素晴らしい写真 - 面白いです、ありがとうございます。

 
Alexey Viktorov:

DRAW_COLOR_CANDLES も試してみてください。

ありがとうございます、試してみます。
 
Alexey Viktorov:

DRAW_COLOR_CANDLES も試してみてください。

DRAW_COLOR_CANDLESは、サンプルのドキュメントには 存在しますが、幅を変更しません(#property indicator_width1 1)。そのため、ロウソクの上に別のロウソクを重ねてもうまくいきません。

 
Nauris Zukas:

DRAW_COLOR_CANDLESは、サンプルのドキュメントには 存在しますが、幅を変更しません(#property indicator_width1 1)。そのため、ロウソクの上に別のロウソクを重ねてもうまくいきません。

バーの幅をピクセル単位で計算し、この値でヒストグラムの太さを決定することができます。すべてにおいて、もしあなたが望むなら・・・。

 
Alexey Viktorov:

バーの幅をピクセル単位で計算し、この値でヒストグラムの太さを決定することができます。全体として、もしあなたが...

"...バーの幅をピクセル単位で..." どうすればいいのかよくわかりません。

 
Nauris Zukas:

"...バーの幅をピクセル単位で計算する..." どうすればいいのか、よくわかりません。

とにかく、欲を言えば、手に入れたものを確認することです。理由が欲しくてテストしていない...。

スケール

バーあたりのピクセル数でスケールを指定するモード


チャート幅(ピクセル) チャート幅(バー) チャートの右端からのインデントが設定されている場合、動作しない場合があります。

 
Alexey Viktorov:

とにかく、欲を言えば、手に入れたものを確認することです。理由が欲しくてテストしていない...。

スケール

スケールモード(1バーあたりのピップ数


チャート幅(ピクセル チャート幅(バー) チャートの右端をインデントする設定の場合、動作しないことがあります。

ありがとうございます。

 
助けてくれ、善意の人たちよ...。
テスターでそんな混乱に遭遇したことがあります。
スプレッドレベルでエントリーするフィルターをかけようとしたとき。テスターはそれを無視する(拡散)。
しかし、過去6ヶ月間からしか無視される。5(最後)ヶ月のテストは正常に、フィルター。
テスターアカウントはそれなりに拡散して、フィルタリングができなくなるという話をどこかで読みました。
しかし、紛らわしいのは、この5ヶ月間、まだそれを考慮し、親切に処理していることです...。
スクリーンショットを添付しました。
問題はこれだ。
これはテスターの機能なのでしょうか? それとも、私の知らない設定があるのでしょうか?
それとも、この条件はソフトウェアとして設定する必要があるのでしょうか?

このようにテスト用のフィルターを書いたのですが...。

void OnTick()
  { 
  double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK); 
  double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
  double spread=ask-bid; 
  
  if (PositionsTotal()>=1) 
  return;
  {
  int spread_points=(int)MathRound(spread/SymbolInfoDouble(Symbol(),SYMBOL_POINT)); 
  if (spread_points<=5)
  {
  trade.Buy(0.1,_Symbol,ask,bid-300*_Point,bid+300*_Point);
  }
  }
  }

まあ...そんな感じで書きました(笑)

ファイル:
 
vladzeit:
助けてくれ、善意の人たちよ...。
テスターでそんな混乱に遭遇したことがあります。
スプレッドレベルでエントリーするフィルターをかけようとしたとき。テスターはそれを無視する(拡散)。
しかし、過去6ヶ月間からしか無視される。5ヶ月間、テスターのテストは正常に行われ、フィルタリングも行われました。
テスターが独自の方法でスプレッドを計算し、フィルタリングを不可能にしているとどこかで読んだことがあります。
しかし、紛らわしいのは、5ヶ月間、まだそれを考慮し、親切に処理していることです...。
スクリーンショットを添付しました。
問題はこれだ。
これはテスターの機能なのでしょうか? それとも、私の知らない設定があるのでしょうか?
それとも、この条件はソフトウェアとして設定する必要があるのでしょうか?

このようにテスト用のフィルターを書いたのですが...。

まあ...そんな感じで書きました)

Every tick based on real tick" モードでテストしてみてください。

//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   double ask  = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   double bid  = SymbolInfoDouble(Symbol(),SYMBOL_BID);
   long spread = SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);

   if(ask==0.0 || bid==0.0 || spread=0)
      return;

   if(PositionsTotal()>0)
      return;

   if(spread_points<=InpSpread)
     {
      trade.Buy(0.1,Symbol(),ask,ask-300*Point(),ask+300*Point());
     }
  }

InpSpread - 入力された長いパラメータ.

 
Vladimir Karputov:

Every tick based on real tick" モードでテストします。

InpSpread - 入力された長いパラメータ.

ウラジミールさん、ありがとうございます!入力を長く設定しました。

input long  InpSpread =5;
spread=0 //поправил, на == это ведь сравнение?
if(spread_points<=InpSpread) // поправил на spread

私は、"Every tick based on real tick "を尊重しています。

MetaQuotesの せいかもしれませんが、 今度は他の ものも試してみようと思います。

理由: