//+------------------------------------------------------------------+ //| チケットで選択されているポジションを変更します。 //+------------------------------------------------------------------+ bool PositionModifyByTicket(const string symbol_name,const ulong magic_number,const ulong ticket,const double sl,const double tp) { //--- チェック停止 if(IsStopped()) return(false); //--- クリーン ZeroMemory(g_request); ZeroMemory(g_result); //--- 設定要求 g_request.action =TRADE_ACTION_SLTP; g_request.position=ticket; g_request.symbol =symbol_name; g_request.magic =magic_number; g_request.sl =sl; g_request.tp =tp; //--- アクションを実行し、結果を返す return(OrderSend(g_request,g_result)); }
余計なお世話だ。
//+------------------------------------------------------------------+ | 末尾関数| //+------------------------------------------------------------------+ void Trailing(void) { int total=PositionsTotal(); for(int i=total; i>=0; i--) { ulong ticket=PositionGetTicket(i); if(ticket==0) continue; string symbol_name=PositionGetString(POSITION_SYMBOL); ulong magic_number=(ulong)PositionGetInteger(POSITION_MAGIC); ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE); if(InpPositionType>WRONG_VALUE && type!=(ENUM_POSITION_TYPE)InpPositionType) continue;
すべての継続チェックの前に専用の変数を作成するのは非常にコストがかかる(特に文字列)。
10,000,000ティックの100,000パスの単純な最適化を想像してみてほしい。OnTickは1兆回呼び出されることになります。兆回呼び出される余分なアクションは、余分な秒/分/時間を要することになる。自分と他人の時間を大切にしよう。
fxsaber:
これはトレーディングEAではありません。なぜ最適化するのか?ただのトロールだ。そして奇妙なものだ。
すべての継続チェックの前に専用の変数を作成するのは非常にコストがかかる(特に文字列)。
10,000,000ティックの100,000パスの単純な最適化を想像してみてほしい。OnTickは1兆回呼び出されることになります。兆回呼び出される余計なアクションは、数秒/数分/数時間余分にかかることになる。自分の時間と他人の時間を大切にしてください。
Artyom Trishkin:
これはトレーディングEAではありません。なぜ最適化するのか?ただのトロールだ。しかも奇妙なものだ。
これはトレーディングEAではありません。なぜ最適化するのか?ただのトロールだ。しかも奇妙なものだ。
トレーニング用のトレール機能です。
fxsaber:
移行しているだけでは十分ではない。このコードのコンテキストにおいてのみ。
これはトレーニングのためのトレーリング機能です。
Artyom Trishkin:
移行には不十分。当該コードの文脈でのみ。
移行には不十分。当該コードの文脈でのみ。
移行可能 - コードの90%が借用されている場合。
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
トレールテイクプロフィット:
この非取引エキスパートアドバイザーは、ポジションの利食い注文簡単なトレールのために設計されています。
作者: Scriptor