エキスパート: Surefirething

 

Surefirething:

買いリミット及び売リミット注文を使用します。ポジションのトレーリングも可能です。


作者: Vladimir Karputov

 
こんにちは、このロボットはまさに私が探していたものです!質問があるのですが、新しいバーが表示されたときだけでなく、1つの注文が確定するたびに新しい注文が挿入されるようにするにはどうすればよいでしょうか。私は同じ価格を何度も繰り返す資産を取引しており、1分間に1回以上の取引を行うことができます。
 
Fabio_tec :
こんにちは、このロボットはまさに私が探していたものです!質問があるのですが、新しいバーが生まれたときだけでなく、注文が確定するたびに新しい注文が挿入されるようにするにはどうすればよいでしょうか。私は同じ価格を何度も繰り返す資産を取引しており、1分間に1回以上の取引を行うことができます。

申し訳ありませんが、このコードは新しいバーが 生まれたときにのみ機能します。

 
Vladimir Karputov:

申し訳ありませんが、このコードは新しいバーが開いたときにのみ機能します。

新しいローソク足が開く前に新規注文を出すには、isewbar.
 
sergiomt :
次のバーで買いか売りかを決定するものは何ですか? ありがとうございます。

EAは保留 注文で動作します 買い指値と売り指値です。

 
sergiomt :

バッチを注文ごとに+1(1,2,3,4,5...)したい場合、このセクションを変更する必要がありますか?

//--- 体積変化の最小ステップを得る

double volume_step=m_symbol.LotsStep();

int ratio=(int)MathRound(volume/volume_step);

if(MathAbs(ratio*volume_step-volume)>0.0000001)


どうなるでしょうか?

現在のバッチを増やすには、最後のトランザクションを知る必要があります。

 

未決済注文の数を制限するにはどうすればよいですか?

ありがとうございます。

 
sergiomt :

未決済注文の数を制限するにはどうすればよいですか?

ありがとうございます。

制限するには、すべてのポジションを数える必要があります。

 
エキスパート・アドバイザーの作者はどうせ答えないだろう。もしコードを理解することが可能であれば、せめてどなたか、どのような原理で未決の指値注文が発注されるのかお答えください。価格から遅れているようだが、どのような原理で、コードのどこで調整できるのか。調整なしでも、どのように、どのような条件で発注されるのかを理解するために。
 
Vladimir Gulakov #:
エキスパート・アドバイザーの作者はどうせ答えないだろう。もしコードを理解することが可能であれば、せめてどなたか、どのような原理で未決の指値注文が発注されるのかお答えください。価格から遅れているようだが、どのような原理で、コードのどこで調整できるのか。調整なしでも、どのような条件下でどのように発注されるのかを理解したいのです。

こんにちは、ウラジミール!

このブロックでは、黄色でハイライトされたコードを必要に応じて調整/変更することができます:

//---
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(m_symbol.Name(),Period(),1,1,rates);
   if(copied!=1)
     {
      PrevBars=0;
      return;
     }
   double H4=((((rates[0].high-rates[0].low)*1.1)/2)+rates[0].close);
   double H3= ((((rates[0].high-rates[0].low)*1.1)/4)+rates[0].close);
   double L3= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/4);
   double L4= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/2);

   double price=0.0;
   double sl=0.0;
   double tp=0.0;

   price=L4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.BuyLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                    m_symbol.NormalizePrice(price-sl),
                    m_symbol.NormalizePrice(price+tp));

   price=H4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.SellLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                     m_symbol.NormalizePrice(price+sl),
                     m_symbol.NormalizePrice(price-tp));

ありがとう、ウラジミール。

 
MrBrooklin #:

こんにちは、ウラジーミル!

このブロックでは、黄色でハイライトされているコードを必要に応じて調整/変更することができます:

ありがとう、ウラジミール。

ありがとう。