mql5 - 最後の取引から一定時間後の垂直線 - ページ 4

 
renatmt5:
ところで、追加したプロテクトについては、もうひとつあります。正しい値が計算されるまでに1~2分の遅れがあり、その間は変数がゼロになるので、現在のタイムフレームを別のものに切り替えて素早く更新すると、値はすぐに再計算されます。おそらく、この原理で何かソフトウエアを作ることができるのでは?

私は「松葉づえ」という言葉が嫌いです。


事前に全部考えてきているので、質問していただいてとてもよかったです。LastProfitForPeriod を void から bool に変更する必要があります。もしエラーがあれば - たとえば、日付が見つからないなど - false を返し、以下同様とする。

従って、議事録の紛失はありません。

 

false "と表示された場合は、時刻をリセットして ください。

   double profit_last_day=0.0,profit_last_deal=0.0;
   if(!LastProfitForPeriod(profit_last_day,profit_last_deal))
     {
      ExtLastMove=0;
      return(rates_total);
     }

   Comment("Profit last day: ",DoubleToString(profit_last_day,2),"\n",
           "Profit last deal: ",DoubleToString(profit_last_deal,2));


バージョン1.003

ファイル:
 
Vladimir Karputov:

私は「松葉づえ」という言葉が嫌いです。


事前に全部考えてきているので、質問していただいてとてもよかったです。LastProfitForPeriod を void から bool に変更する必要があります。もしエラーがあれば - たとえば、日付が見つからないなど - false を返し、以下同様とする。

従って、議事録の紛失はありません。

松葉杖」については、そうですね、この言葉にはプログラミングに対する無頓着な態度がありますね :)

はい、スクリプトのv.3ではロストミニッツの効果はなくなりました。

 
renatmt5:

松葉杖」については、そうですね、この言葉にはプログラミングに対する無頓着さがありますね :)

はい、スクリプトのv.3では ロストミニッツの効果はなくなりました。

指標と なるものです :)

 
Vladimir Karputov:

指標と なるものです :)

はい、その通りです。まだ混乱しています。

 

最後のトランザクションの終了に関連して、時間オフセットを計算するブロックを追加しました。後で last_time と n を行オフセットに使おうとすると、コンパイル時にエラーが発生します :(

.....

                    {

                     last_time=deal_time;

                     profit_last_deal=full_profit;

                    }

                 }

        }

     }

//-------------//     

// MY CODE     //   

//-------------//

if (profit_last_day<=0 && profit_last_deal<=0){uint n=60*60*24;}

else if (profit_last_day>0 && profit_last_deal<=0){uint n=60*60*2;}

else {uint n=60*60*1;}

//-------------//     

// MY CODE END //   

//-------------//

   return(true);

  }

.......
 
どういうわけか、コードスニペットを正しく挿入できていません :)
 
ObjectCreate (chart_ID,name,OBJ_VLINE,sub_window,time,0) を作成する際、TimeCurrent() からlast_time に、nに等しい期間だけ未来へオフセットして 時間を変更する必要があります。
あるいは、指定した小節数だけオブジェクトを前後に移動させるような機能があるのでは?何が良いのか?正直なところ、今までのところ、私の自主的な努力は実を結んでいません :(
 
renatmt5:
ObjectCreate (chart_ID,name,OBJ_VLINE,sub_window,time,0) を作成する際、時間の値を変更したい。TimeCurrent() ではなくlast_time に n に等しい期間のオフセットを 加えたものにしたい。
あるいは、指定した小節数だけオブジェクトを前後に移動させるような機能があるのでは?何が良いのか?正直なところ、今までのところ、私の自主的な努力は実を結んでいません :(

この行はOnInit()で一度だけ作成されます。

その後、移動するだけ -VLineMove

 

コードスニペットの最後の行を変更する必要があるというのは正しく理解していますか(特にtime=0)?

//+------------------------------------------------------------------+ 
//| Move the vertical line                                           | 
//+------------------------------------------------------------------+ 
bool VLineMove(const long   chart_ID=0,   // chart's ID 
               const string name="VLine", // line name 
               datetime     time=0)       // line time 


それとも、VLineMoveは関数で、やはりどこかの場所(例えばOnCalculate)で開始され、入力されるパラメータをそれに渡す必要があるのでしょうか?
完全に混乱しています :)