[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 301

 
Alexandr24:
ありがとうございます、空白を埋めます :)

すみません。リンクが効かなくなってたとは。この講義は、太古の昔に出版されたもので、私は今でもコピーして持っている。ファイル共有サイトにあります。http://depositfiles.com/files/eg4fmn3bp- ダウンロードして解凍し、実行して「ホーム」をクリック - 講義はボトムアップで行われます。
 
granit77:
1.Expert Advisorでインジケータデータを取得する標準的な方法は、まさにiCustomです。2.#includeはこのカテゴリーには全く属しません。今は忘れてください。

ありがとうございました。返信が遅くなり申し訳ございません。

すべて解決しました。あとは下矢印の 信号がなぜ出ないかです。

 
durol:

MT-4で非標準のTFを使っている - M21 M89 M377
それらは自動的に更新されない。

2回接続と切断を繰り返すと、標準以外のTFは自動的に更新されます。
これは、各通貨の更新をクリックするよりも便利な方法です。

EASTERNLYのオープンチャート、ターミナルは数時間アイドル状態 - 標準以外のタイムフレームはすべて自動更新されます。


私は、次のように開いてみました:市場概要、ログイン、通貨をクリック、ウィンドウを最小化 - 最大化

接続→切断→ダウンロードが 中断される。

MT4フォーラムで発見

AlexSilver 09.05.2006 16:13
はい...。新しいティックが表示されると、スクリプトは削除されます。コピーしたものを使うなら、もっと速くなります。

Slawa 04.05.2006 10:29
オンラインの非標準チャートは存在しない。

2006年の投稿のみ

チャートが勝手に更新されることがあるのなら、何らかのパターンがあるのでしょう。

私が見る限り、全ての問題は二重の欠陥接続 です

私は、スクリプトまたは類似の何かを書くことは難しくないと思うので、パネルで、必要に応じて、アイコンが表示されます(またはコンテキストメニューでは、あまり便利ではありません)、これは2回(5秒の間隔で - 接続がないように、その後5秒)切断します - 接続、したがって自動的にすべての標準外TFを更新 します。

少なくとも数時間は端末に触れないでください。

しかし、これは最良の解決策ではありません。常に機能するとは限らず、30分ごとに更新が必要な場合もあります

おかげさまで

は、自分で考え出した。

dllは、ツール - 設定ではなく、Period Converter Optのプロパティ - 一般で有効にする必要があります。

サービス - 設定は、非標準のTFチャートがすべてなしで白である場合に 役立ちます

それは、このチェックボックスがこの指標でデフォルトでチェックされていない理由は不明です - それなしで指標は自動更新されません - これは開発者の明確なマイナスです

すべてのティックで 更新されていない - どこか3
のいずれかで 自動更新ではないすべてのティックで描かれています - しかし、手動更新と同じ です

 

皆さん、ごきげんよう。

MT4スクリプトの読み書きができる便利なプログラムを教えてください。

 
Ekburg:

皆さん、ごきげんよう。

MT4スクリプトの読み書きができる便利なプログラムを教えてください。

メタエディタ
 
Alexandr24:
ありがとうございます、空白を埋めます :)
インジケーターコードのエキスパートへの転送について、基本的な記事です。
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463
 
granit77:
Expert Advisorへのインジケーターコードの移動について、基本的な記事です。
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463

しかし、インジケータのコードをエキスパートに転送しない方が良い - 遅くなる
 
Vinin:

しかし、インジケーターコードをエスペクターに転送しない方が良い。
同意見、速度について活発な議論が交わされた。VininとIntegerは、別々の指標に賛成した。
私は彼らを信じています :))
 
granit77:
そうですね、スピードについては活発な議論が交わされました。VininとIntegerは 個別の指標用でした。私は彼らを信じています :))


こんにちは!しつこくて申し訳ないのですが、もしよろしければアドバイスをいただけないでしょうか?

iCustomではEAにインジケーターの シグナルが出るのですが、EAは その部分の条件 によって、一方向にしかトレードを開きません。

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   

   
 //------------------------------------------------------- check for long position (BUY) possibility
      if( BuySignal ) 
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"MA",MN,0,Green);
         


 
skyjet:

こんにちは!しつこくて申し訳ないのですが、もしよろしければアドバイスをいただけないでしょうか?

iCustomではEAにインジケーターのシグナルが出るのですが、EAは その部分の条件 によって、一方向にしかトレードを開きません。

他人のコードのエラーを探すことほど、面倒なことはない。そして、私はプログラマーではありません。

ウィザードで矢印のインジケータによる オープニングブロックがどのように作られているかを見てみましょう。また、注文数にも制限があります。

         #property copyright "Integer"
         //..............................  
         double bv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,0,1);
         double sv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,1,1);
         
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenBuy();
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenSell();
                           }
                        }
                     }
                  }
                  
            }