目利きの方に質問です - ページ 11

 
Urain >> :

Acronis True Imidgeは、バックアップを作成し、復元するためのソフトウェアです。Cドライブをバックアップする。

バックアップを取ると、作成時の状態になります。

バックアップ時間は4分です。

こちらこそ、ありがとうございました。

 
rid >> :

>> こちらこそ、ありがとうございました。

rid こちらの質問についてご教授いただけないでしょうか) https://forum.mql4.com/ru/15972/page145

 
MQLBankir >> :
ごきげんよう。
EAを書き始めてからまだ1ヶ月です。
シグナルが出て、ポジションを持つという単純なものです。複数の信号が必要な場合はどうすればよいですか?
例えば、こんな感じです。
インジケーターからの1回目の信号
2回目の信号は後から来るが、1回目の条件は既にFALSEである。プログラムが1ティックごとに実行されることは理解していますが、最初の条件(シグナル)が真で、まだキャンセルされていないことを忘れないようにする必要があります。
ファイルに書き込めばいいんじゃないかと。でも、まだよく分かっていないんです。
もしかしたら、関数か何かで、別の出口があるのでは?
ヒントを教えてください。

私はあまり得意ではありません。

しかし、第1信号の後、旗を「吊るす」のであれば、吊るしておけばよいのでしょう。

1stシグナルがすでに枯渇していても大丈夫!

そうすると、2回目の信号で問題なく開く信号が出ます。

もし私が質問を正しく理解していれば...

 
Infinity >> :

rid 様、こちらの質問にもお答えいただけますでしょうか) https://forum.mql4.com/ru/15972/page145

クロージングのことを聞くところでしょうか?ここを見てください。

「クロージング・ポジションインジケーターからの信号で」。

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

私、昔、そこでこのテーマにハマったんです。

しかし、投稿されたコードでは......そこがわかりにくく、閉じるという項目が全く見当たりません。

ここでは、クロージングブロックのサンプルをご紹介します。

//********* Закрытие позиций ****************************************
if ( AutoClose) { //если выключатель закрытия включен 
//----переменные для закрытия позиций ----
double Stochast_0 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
double Stochast_1 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,1);
//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)                             {       
      if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES))               {           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNum)   { 
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { 
      if( Stochast_1>75 && Stochast_0<75)     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                 //return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { 
      if( Stochast_1<25 && Stochast_0>25)    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total
} //Close_
 
rid >> :

私は専門家ではないのですが。

しかし、1回目の信号の後、旗を「吊るす」のであれば、吊るさせるという前提があるのです。

1stシグナルがすでに枯渇していても大丈夫!

そうすると、2回目の信号で問題なく開く信号が出ます。

もし私が質問を正しく理解していれば...



2回目の信号が1回目の信号の後に来ると......それだけで......なんですが。たぶん、2番目の信号をチェックすることによって、1番目の信号がすでに偽から真に変わるので、2番目の信号の計算を終了し、最初の信号の通過に進む必要があります!......................................。

 
rid >> :

クロージングのことを聞くところでしょうか?ここを見てください。

「クロージング・ポジションインジケーターからの信号で」。

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

私、昔、そこでこの話題になったんですよ。

しかし、あなたが投稿したそのコードでは......そこはわかりにくく、閉じるという項目がまったく見当たりません。

まあ、ないんですけどね、、、。未決済の注文の番号を取得して決済することができません。他の機能で番号が分かっても、エラーになります。

 

上を見てください。そこで一例を追加しました。

MagicNumの代わりにmnを入れるだけです。

外部パラメータに

extern bool AutoClose = true;

 
rid >> :

MagicNumの代わりにmnを入れるだけです。

外部パラメータに

extern bool AutoClose = true;

>> >>うんうん、ありがとう、わかったよ(笑)

 
Infinity >> :

まあ、ないんですけどね、、、。未決済の注文の番号を取得して閉じることができません。他の機能で番号が分かっても、エラーが表示されたままです。

ポジションで注文を選択してみる:この機能は、取引注文のリストで注文のチケットtの位置を提供します。

int Select_POS(int t)
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(OrderSelect( t, SELECT_BY_POS, MODE_TRADES)) TIC[ t]=OrderTicket();
else TIC[ t]=-1;
return( TIC[ t]);
}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t = OrdersTotal() とし、注文が処理されるごとに減少する。
 
Urain >> :

ポジションで注文を選択してみてください。この機能は、取引注文のリストにおける注文のチケットtポジションを提供します。

t = OrdersTotal() とし、処理された注文ごとに減少させる。


ありがとうございます!それも多分大丈夫だと思います!!!必ずチェックします!

クロージングコードが効いた...。問題は、オープンオーダーの定義にありました。皆さん、本当にありがとうございました。