"ダミー "からの質問 - ページ 81

 
tol64:

ポジションが現在利益になっているか損失になっているかによって、1ティックの価値が異なるのはどのような場合か、教えてください。

シンボル・トレード・チック・バリュー・プロフィット

シンボル・トレード・チック・バリュー・ロス

フォーラムで検索してみてください。似たようなことは以前にも話題になりましたね。
 

最後のトランザクションの結果を取得する必要がある。私は何を間違えているのだろう?:

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
   	HistorySelect(0,TimeCurrent());
   	 ticket = HistoryDealGetTicket(i);
   	 profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
infera:

最後のトランザクションの結果を取得する必要がある。私は何を間違えているのだろう?:

こんな感じだと思います。

   HistorySelect(0,TimeCurrent());

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
        
        ticket = HistoryDealGetTicket(i-1);
        profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
sergey1294:

こんな感じだと思います。

ありがとうございます、うまくいっています。
 

不要なハンドルを削除する実験をしています。 簡単な例では、IndicatorRelease(ma_handle);の行がなければ、すべてがうまくいき、高速に動作します。

しかし、OHLCモードではほとんどハングアップしてしまいます。

double ma2[];int ma2_handle;double ma[];int ma_handle;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{ 
    ma_handle  = iMA(_Symbol,_Period,10, 0,MODE_SMA, PRICE_CLOSE);
    ma2_handle = iMA(_Symbol,_Period,100, 0,MODE_SMA, PRICE_CLOSE);
   IndicatorRelease(ma_handle);
   IndicatorRelease(ma2_handle);
}
 
Karlson:

不要なハンドルを削除する実験をしています。 簡単な例では、IndicatorRelease(ma_handle);の行がなければ、すべてがうまくいき、高速に動作します。

しかし、OHLCモードではほとんどハングアップしてしまいます。

ティック毎にインジケーターハンドルを 作成・削除 するのは間違いです。信号待ちや横断歩道の手前で車を止め、発進させるようなものです。
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
 
Rosh:
ティック毎にインジケーターハンドルを 作成・削除 するのは正しくありません。信号待ちや横断歩道の手前で車を止め、発進させるようなものです。

そして、ハンドルについては、もっと具体的に説明したい。

非初期化(IndicatorRelease)時にハンドルが削除されず、同時にプログラムをチャートから削除した場合、ハンドルは自動的に削除されるのでしょうか?

もうひとつ。リファレンスによると、メモリを節約できるそうです。いくらで?インジケーターハンドルがどれだけのリソースを消費しているか、数字で示せればいいのですが。

 
tol64:

そして、ハンドルについても明確にしたいと思います。

初期化時にハンドルが削除されず(IndicatorRelease)、同時にプログラムがチャートから削除された場合、ハンドルは自動的に削除されるのでしょうか?

はい、端末のランタイムシステムが、誰にも主張されていない廃ハンドルを検出した場合、自動的に削除されます。そんなハンドルの寿命は、今すぐには語れない。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

もうひとつ。リファレンスによると、メモリを節約できるそうです。いくらで?インジケーターハンドルがどの程度リソースを消費しているのか、数字で教えてください。

同じ指標を10個のチャートから要求された場合、経済性は10倍となる。その場合、インジケータが計算されるバーの数を計算し、インジケータバッファの 数を掛け、ダブルのサイズを掛け、カラーバッファがある場合は、そのメモリも忘れないでください。
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
Rosh:
ティック毎にインジケータハンドルを 作成・削除 するのは誤りです。信号待ちや横断歩道の手前で、車のエンジンを切ったり入れたりするようなものです。

Expert Advisorでは、新しい週足で関数が実行され、新しいインディケータが作成され、数学が行われます。 その後、それをクリーンアップする必要があります... だから、IndicatorReleaseラインをオンにすると、ほとんどフリーズしてしまいます。

double ma[];int ma_handle;datetime time[],lastbar;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{  
   if(CopyTime(_Symbol,PERIOD_W1,0,1,time)<=0) {Print("Error: ",GetLastError());return;}
   if (lastbar!=time[0]) {Optim();}
}


int Optim()
{
   ma_handle  = iMA(_Symbol,PERIOD_M15,20, 0,MODE_SMA, PRICE_CLOSE);
 ------------------

 ------------------
   IndicatorRelease(ma_handle);

   return (0);
}