どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 506

 
さしずめ
 
私はFliveシグナルを使用していますが、時には自分で注文を閉じたいこともあります。でも、閉じるとすぐにまた開いてしまう。これを解決する方法はあるのでしょうか?
 
Artur116:
私はFliveシグナルを使用していますが、時には自分で注文を閉じたいこともあります。でも、閉じるとすぐにまた開いてしまう。これを解決する方法はあるのでしょうか?

"ポジションを同期する "のチェックを外す。
 
Nesradamus:
月間の極値はminとmaxの2つしかないと思っていたのですが...。まあ、気にしないでください。最初はコードが長くて、それで助けを求めたんです...。でも、夜が明けて、なんとか4行に収まったんです。

これは月足ローソク足での場合です。もちろん、iHigh(Symbol(),PERIOD_MN1, BarOfMonth); と iLow(Symbol(), PERIOD_MN1, BarOfMonth) は存在するはずです。

また、1ヶ月以内に日足チャートで価格の極値を見つける必要がある場合、少なくとも28本のバーに1つ以上存在することは間違いないでしょう ;)

 
Zver4991:

関数に関するもう一つの質問

矩形が後方ではなく前方に描画されるようにするには、例えば指定した価格で5本前方に描画する......そして再描画しないようにするには。

オブジェクト名 "には、描画された時刻を含めること。例えば、"Object_name "+TimeToString(Time[0]); そうすると、それぞれの矩形は独自の名前を持つことになります。

ゼロバーから右へのシフトを指定するには、Time[0]に必要なバー数を 追加します。例えば、Time[0]+Period()*5*60(5バー追加)

datetime t1=Time[10], t2=Time[0]+Period()*60*5;
SetRectangle(clrBlue,"Прямоугольник"+TimeToString(Time[0]),t1,Low[10],t2,High[0]);
 
#property strict
#include <Indicators\Trend.mqh>
bool ind;
CiMA MA;
extern int pos=1;
extern int sl=40;
extern int tp=70;
datetime time;
datetime time2;
bool trade=false;
bool trade2=false;
int a,b;
int OnInit()
  {
//---
   MA.Create(Symbol(),PERIOD_CURRENT,10,6,MODE_EMA,PRICE_CLOSE);//создал машку
//---
   return(INIT_SUCCEEDED);
   
  }
void OnTick()
  {
//---
  if(IsNewBar()==true)//если новый бар включаемся
     {
     if(buy(pos)==true)//если цена выше МА продолжаем
     {
      if(!ExistPositions(Symbol(),-1,-1,0))//если нету открых ордеров продолжаем
        {

         if(GetTypeLastClosePos(Symbol(),-1)!=OP_BUY)//если тип последней закрытой позиции был не на покупку то тогда только покупаем таким образом я пред остерегаюсь от повторных входов в покупку если цена 
//все ещо выше МА...но почему то не работает открываются и дальше сделки на покупку если ордер закрылся выше МА....ХОТЯ НЕ ДОЛЖО ТАК КАК Я ОГРАНИЧИЛ ПО ТИПУ ПОЗИЦИИ ПОСЛЕДНЮЮ СДЕЛКУ И ОНИ ДОЛЖНЫ ТОЛЬКО 
//       ЧЕРЕДОВАТСЯ И УЖ НИ КАК НЕ ПОВТОРЯТСЯ ПО НЕСКОЛЬКО РАЗ ПОДРЯД
           {
            trade=true;
           }
  if(trade==true)
        {
         OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point);
         trade=false;
        }
}
        }
    
     
if(sell(pos)==true)
{
   if(!ExistPositions(Symbol(),-1,-1,0))
     {

      if(GetTypeLastClosePos(Symbol(),-1)!=OP_SELL)
        {
         trade2=true;
        }

      if(trade2==true)
        {
         OpenPosition(Symbol(),OP_SELL,0.1,Bid+sl*Point,Bid-tp*Point);
         trade=false;
      }
  }}
 }
  }

//возвращает истину если закрытие бара  с указаной позицией выше МА

bool buy(int pos)
  {
   if(iClose(Symbol(),0,pos)>MA.Main(1))
      return true;
   else
      return false;
  }
//+------------------------------------------------------------------+
//| возвращает истину если закрытие бара  с указаной позицией ниже МА
//+------------------------------------------------------------------+
bool sell(int pos)
  {
   if(iClose(Symbol(),0,pos)<MA.Main(1))
      return true;
   else return false;
  }
2つの買い条件と売り条件以外のすべての機能は、Kimのブランチから取得しました...私はどこにミスをしたのか教えてください...私は1つの交差点で開くために1つの取引が必要です。
 

mql4で、 あるコードを表示から隠し、コードエリアを折りたたんでプラス(+)の下に 配置する方法はありますか?

シャープ#region #endregion のように 、これらのディレクティブの間に置かれたコードは、折りたたむことが可能になります。

 
どこが悪いのかわからない?テスターではすべてうまくいくのですが、リアルとデモでは、注文を開こうとすると「Error 0」と表示されるんです。GetLastError() は、エラーなしを意味する "0 "を返します。どういう意味ですか?
 
Leo59:
どこが悪いのかわからない?テスターではすべてうまくいくのですが、リアルとデモでは、注文を開こうとすると「Error 0」と表示されるのです。GetLastError() は、エラーなしを意味する "0 "を返します。どういう意味ですか?

コードにこのように書かれているということです。もし気になるようでしたら、訂正してください。
 
evillive:

コードに書いてあるので、気になるようなら直してください。

注文が開けない場合はどうしたらよいですか?