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

 
Elenn:


プログラムを終了(コンピュータを再起動など)すると、変数はすべて失われます。ただし、グローバル変数はハードディスクに保存されるため、例外とする。ただし、double 型に限る。他の型(例えばintやstring)の変数を格納する必要がある場合、どうすればよいのでしょうか?ここで不明なのは?

変数の種類を表す。

つまり、G.P.は実数しかありえないのです。また、プログラム内で任意のグローバル変数を宣言することも可能で、次のように記述されて います。

 

MQLの達人の皆さん、こんにちは。

初心者がコードを書くのを手伝う : あなたにとっては簡単なことでしょうが、初心者にとっては......。

条件 - 同じ条件(私の場合、価格がMAを超えた後)に従って一度に片側で開いたいくつかのポジションを閉じること

数日前から、KimのスクリプトとSergeyのスクリプト(彼についての詳しい情報はありません)の例をいくつか使って試していますが、何もうまくいきません。

私は3つの注文を開いていて、最後の1つだけが条件によって閉じなければなりません。

条件によってですが、1回に1枚ずつ。最初の交差点で一斉に閉じてほしい...。

こうして試してみたところ、今度は全く閉まらなくなりました。


//+------------------------------------------------------------------------+ //|寄り付き注文のチェック Buy| //+--------------------------------------------------------+ void CheckForClosebuy() { double maclosebuy;//---- if(Volume[0]>1) return; //----







移動平均の 取得 maclosebuy=iMA(NULL,TF,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); //---- for(int i=0;i<OrderMagicNumber()==MAGIC;i++){ while (i>0) { if (Open[1]>maclosebuy && Close[1]<maclosebuy) OrderClose(OrderTicket(),OrderLots(),Bid,3,Aqua); continue; }.} return(0); }.













 
Elenn:

"文句を言わない "というのは、ある意味、数学的な概念ではないんです。

ここに書かれています。


クライアント端末のグローバル変数が あり、それらはダブル - https://book.mql4.com/ru/variables/globals EA 間で交換するためのものです。

そして、単純にグローバル変数があり、それらはどのような型でもよい https://book.mql4.com/ru/variables/types それらは1つのEA内にある。

あなたの仕事は何ですか?

 

こんばんは!ここですっかりこまってしまいました。私はコードをいじっています、それはbuystopとsellstopの2つの注文を開くべきで、それだけです。あまりスマートなコードではないようで、すべてがクリアに見えますが、5つの注文を開いて、それで終わりです私はデバッグ中に彼のアラートを熟考したが、それは絶対に驚くべきことが判明し、彼は最初の2つのバー(2011.06.04 20:20:48 2011.02.10 19:00 EURUSD雪崩、H1用:アラート:オーダータイプ( )0)できない、することはできません!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(!?まあ、彼はそれを開くために何も持っていない!まさか!!!!!!!

注文タイプはOP_BUYSTOPとOP_SELLSTOPのみです。 しかも、上下に20ppの距離で。

パソコンが不調なのでしょうか?

引用元: // 0 - OP_BUYの購入
1 - OP_SELL 売る
2 - OP_BUYLIMIT 購入制限を保留する。
3 - OP_SELLLIMIT ディファードセールリミット
4 - OP_BUYSTOP 買付停止中
5 - OP_SELLSTOP 売り指値注文

それ以外の値はありえない。


//

とにかく、ショックは受けないが、行き詰っている。以下は、コードとスクリーンショットです。

//+------------------------------------------------------------------+
//|                                                   ля лавин б.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
int X,Y; double price=(Ask+Bid)/2;            

       Alert ("OrdersTotal()",OrdersTotal());
       
       if(C==0){ Price = price ;  C=1;}


 for(int i=OrdersTotal();i>0;i--){Alert ("i", i);Alert ("OrderType( )", OrderType( ));OrderSelect(i,SELECT_BY_POS );if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000){
if(OrderType( )==OP_BUYSTOP){X++;Alert ("X-v tsikle", X);}}}Alert ("X", X);
if (X==0){Alert ("Price", Price);Alert ("Price +otstup*Point",Price +otstup*Point);Alert ("Price+takeprofit*Point+otstup*Point", Price+takeprofit*Point+otstup*Point);


   tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); }
   

 for ( i=OrdersTotal();i>0;i--){Alert ("i", i);Alert ("OrderType( )", OrderType( )); OrderSelect(i,SELECT_BY_POS );if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) { 
if(OrderType( ) ==OP_SELLSTOP) { Y++;Alert ("Y-v tsikle", Y);}}}Alert ("Y", Y);
 if (Y==0){ 
 
 
   tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    } 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

ただ、どう考えたらいいのかわからないんです。

 

X b Y 変数は、バイパス注文とセルストップ注文の数である。

ログを見ると、注文をバイパスして先にトリガーされており、エラーは発生していないことがわかります。すると突然、注文の種類を確認すると、数値定数がゼロの買い注文があることが判明した。 など

ワランテンド機能が不具合なのでは?

そして、その時だけ、オーダー5と4が現れる!!!!


 
Dimka-novitsek:

こんばんは!ここですっかりこまってしまいました。

絶望的な印象がありますね。すでにアドバイザーを一枚一枚作り上げていて、新しいバージョンになるたびに昔の失敗を入れ込んでいるんですね。すべてを入れ替える

 for(int i=OrdersTotal();i>0;i--)

を使って

 for(int i=OrdersTotal()-1;i>=0;i--)
 
Snaf:


あなたの仕事は何ですか?

私の課題は、さまざまな種類のデータを保存し、素早くアクセスできるようにすることです。スルーファイルが長くなると思うんです。グローバル変数を通じて、高速にすることができますが、彼らは唯一のdouble型を格納することができます。そう思っているんです。
 
Elenn:
私の目標は、さまざまなタイプのデータを保存して、素早くアクセスできるようにすることです。ファイルを使うには時間がかかると思います。グローバル変数は高速に動作しますが、double 型しか格納できません。だから、どうしたらいいんだろう。
ファイルを通しては時間がかかりません。わりとすぐに終わりますよ。さらにもう一つのバリエーションがあります。グラフィカルなオブジェクトにデータを格納することができます。名前はあらかじめ書かれており、値には整数型や小数型、日付には日付座標を格納することができます。オブジェクトの説明における 文字列の型
 
データをオブジェクトに格納する。簡単に、素早く手に取ることができる。検索しやすい。検索しやすい。便利です。
 
Porter:
データをオブジェクトに格納する。簡単に、素早く手に取ることができる。検索しやすい。検索しやすい。便利です。

また、オブジェクトストレージはどのように機能するのか、コンピューターがクラッシュした場合、オブジェクトはどうなるのか。