エキスパート: Multi Stochastic

 

Multi Stochastic:

iStochastic(ストキャスティクス)指標シグナルに基づいた多通貨エキスパートアドバイザーです。

Multi Stochasticテスタ

作者: Vladimir Karputov

 

ウラジミール、切り替え可能なマーティン・クラスを作ってください。

ありがとうございます。

//--- 外部
input double   KLot      =5;         // ロット乗算係数
input double   MaxLot    = 0.20;         // 最大ロット、その後ロットは初期化される
input double   Lots       = 0.040;       // 取引ロット数 

//+------------------------------------------------------------------+ 
//| マーティンを適用するか、拒否するか、KLot=1に設定する。
//+------------------------------------------------------------------+
double martin(void)
  {
   double lot=Lots;
//--- アクセス履歴
   HistorySelect(0,TimeCurrent());
//--- 歴史の中の取引
   int orders=HistoryDealsTotal();
//--- 最後のトランザクションのチケット 
   ulong ticket=HistoryDealGetTicket(orders-1);
   if(ticket==0)
     {
      Print("歴史に残る取引はない");
      lot=Lots;
     }
//--- 取引の利益
   double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
//--- トランザクションロット。
   double lastlot=HistoryDealGetDouble(ticket,DEAL_VOLUME);
//--- 利益マイナス
   if(profit<0.0)
     {
      //--- 次のロットを増やす
      lot=lastlot*KLot;
      Print("契約はストップで終了!");
     }
//--- ロットを最小限にする
   double minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
   if(lot<minvol)
      lot=minvol;
//--- ロットが最大ロットより大きい場合、初期ロット
   if(lot>MaxLot)
      lot=Lots;
//--- 返送取引量
   return(lot);
  }
//+------------------------------------------------------------------+
//| 最後にクローズされたトランザクションのタイプを参照する。
//+------------------------------------------------------------------+
int LastDealType(void)
  {
   int type=0;
//--- アクセス履歴
   HistorySelect(0,TimeCurrent());
//--- 歴史の中の取引
   int orders=HistoryDealsTotal();
//--- 最後のトランザクションのチケット 
   ulong ticket=HistoryDealGetTicket(orders-1);
//--- 履歴に取引なし
   if(ticket==0)
     {
      Print("歴史に残る取引はない");
      type=0;
     }
   if(ticket>0)
     {
      //--- 最後の買い取引 
      if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
        {
         type=2;
        }
      //--- 最後の取引 SELL
      if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_SELL)
        {
         type=1;
        }
     }
//---
   return(type);
  }  
//+------------------------------------------------------------------+
 
Сергей Криушин:

ウラジミール、切り替え可能なマーティン・クラスを作ってくれ。そうでないと、すべてのコードに手動で追加して、仕事の可否をチェックしなければならない...。

ありがとう


なぜですか?その必要はない。

 
Vladimir Karputov:

なぜかって?それは必要ない。

マーチンの方がずっと良かったりするし...。

 
Сергей Криушин:

どうだろう......マーティンがいたほうがずっといいこともある......。

マーティンと一緒のほうがいつもいいんだけど、マーティンがいないほうがいいわけじゃない。

 
Vitaly Muzichenko:

マーチンがあればいつもよりうまくいくが、それがなければすべてが悲しい。

そう、主なことは、排水しないように、それを加速しないことである...ところで、普遍的なコードは、利益をプラスに変更する場合、https://www.mql5.com/ja/code/13315 から取られる - 利益>0を置く;それはかなりアンチマーチンになるだろう...利益を乗算します....))
 

こんにちは

トレードに使用するストキャスティクス・オシレーターは 2つですか、3つですか?

例えば、ストキャス(5,3,3)とストキャス(26,10,10)を一緒に使いますか?

 
tesla351 :

こんにちは

トレードに使用するストキャスティクス・オシレーターは 2つですか、3つですか?

例えば、ストキャス(5,3,3)とストキャス(26,10,10)を一緒に使いますか?


いいえ、通常はiStochastic(ストキャスティック・オシレーター)を 1つ使用します。

 

" OnInitがゼロ以外のコード1を返したため、テスターが停止した"

どうすれば解決できますか?