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

 
lottamer:


なんで

注文が開始されていない場合、何を修正するのですか?

lottamer:

また、My_buy (非ブール変数) を TRUE-FALSE でチェックすることは可能でしょうか?

ブーシュ・プラグラミストは 誰なんですか?

lottamer:

変更は無条件に行われます - 注文はオープンです - あなたはストップ・ステークスを設定する必要があります...

そのために、OPENであることを確認するのです。

あなたは勇敢にも、言語に関する知識の次のステップを踏み出しました。

#include <WinUser32.mqh>

これは、MetaTrader配信の標準的なものであるライブラリです。人々は自分自身の(カスタム)ライブラリを書きます。取引注文関数を含むライブラリの一 です。これらの関数は一度記述しておけば、必要に応じてそのコードの中で使用することができます。

 
sergeev:
では、なぜ括弧{ }の中にif(例えばクロスアベレージ)を入れたのでしょうか?


ということで、そこにあるのでしょう。

どこに挿入するのでしょうか?

 
lottamer:

目の前でお母さんになるんだ!」。(つまり、家長になる!) :))

なんでやねん

"MessageBox() とは "を調べればいいんです。- MetaEditorのCtrl+F1にて。
 
TarasBY:

オーダーが開かなかった場合、何を修正するのでしょうか?

このBOH PRAGRAMISTは誰ですか?

そのためのOPEN令状チェックなのです。

あなたは、言語学習の次のステップである、図書館の仕組みに精通することに勇気を出しています。

これは、MetaTrader配信の標準的なものであるライブラリです。人々は自分自身の(カスタム)ライブラリを書きます。取引注文関数を含むライブラリの一 です。これらの関数は一度記述しておけば、あとは必要に応じてコード内で使用することができます。


注文が開かれていなければ、修正するものがないので修正できません。 まだEA全体を書き終えておらず、ブロック単位で書いてすぐにチェックし、仕上げてまたチェックするということを繰り返しています。しかし、もし取引がオープンしない場合、EA は何をすべきか分からないので、完全にダメになると思います - 修正する注文があるのに、オープンポジションがないのです。:))) が次のティックで開く...そして、修正される。

2)ここであなたは一意に、罪人である私は、そうブール-インノン-ブール方法を理解することさえできないためです...つまり、使える関数があり、それが実行された、つまりポーズが開いたとします。ということは、この関数が実行されたから、私の使える関数が「真」になったのだと、機械は理解するのでしょうか? ......よくわからない質問ですみません

3) 1を参照

4)#include は恥ずかしくてまだ聞けない話題 です!(笑)

理論的には、例えば私のCLOSE_ALLやMODIFYスクリプトから、カスタム関数の代わりに#includeを作ってそれを参照 することができるということは、正しく理解しています。

しかし、この#include My_buy if 条件の後に どのように挿入すればよいのでしょうか。

 
TarasBY:
"MessageBox()とは "を調べればいいだけです。- MetaEditorのCtrl+F1にて。

というニュアンスで、Expert Advisorをこれから完成させたいと思います... :))
 

は、ロールオーバーについてご存知の方はいらっしゃいますか?

ロールオーバーで注文が再開されたとき、ストップとテイクアウトの値にずれが生じることはありますか? また、ロールオーバー後に建値と ストップ価格の 差がストップレベラーより小さくなる場合、ストップはどのように設定されるのですか?

私の仕事は次のようなものです。成行注文がある場合、その注文がロールオーバーでオープンされたかどうかを確認し、オープンされた場合は、クローズされた前の注文のチケットを取得する必要があります。もしかしたら、どなたか検索アルゴリズムを教えてくれるかもしれませんね。 私は現在、以下のようにしています。

1.最初のオープンオーダーを選択します。
2.23:40から00:20に開かれたのであれば、さらにこの注文をチェックし続ける(40分の窓は念のため取ってあるが、理論的には23:50から23:59まで取ることができる)
3.チケット、ストップ、テイクプライスを覚えている
4.履歴ですべてのクローズドオーダーを確認すると、コメントには「スワップ」の文字があり、通貨ペアが一致する

5.ストップとテイクオーバーのデータを比較し、一致すれば必要なオーダーペア、一致しなければステップ1に 戻る。

 

とはどういう意味か教えてください。

while(真)

をEAに貼り付けたモディファイのスクリプトの中に入れるのでしょうか?

という奇妙なチェックがあるのですが、これは何でしょうか?

if(cmd==OP_BUY || cmd==OP_SELL) ?

空いているポジション の有無を確認するだけの方が良いのでは?

int My_modify ()
 {
//      bool   result;
//      double stop_loss,take_profit,point,bid,ask, lotsize;
//      int    cmd, total, error, spread;
//      string message;
//----
   total=OrdersTotal();

//----
   for(int i=0; i<total; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         //---- print selected order
         OrderPrint();
         cmd=OrderType();
         point=MarketInfo(OrderSymbol(),MODE_POINT);
         bid= MarketInfo(OrderSymbol(),MODE_BID);
         ask= MarketInfo(OrderSymbol(),MODE_ASK);
         spread=MarketInfo(OrderSymbol(),MODE_SPREAD);     
         //---- buy or sell orders are considered
         if(cmd==OP_BUY || cmd==OP_SELL)
          {
            //---- modify first market order
            while(true)
             {
                if(cmd==OP_BUY){
                        string type = "buy";
                        if(OrderStopLoss()!=0)stop_loss=OrderStopLoss();
                        else stop_loss=OrderOpenPrice()-StopLoss*point;
                        if(OrderTakeProfit()!=0)take_profit=OrderTakeProfit();
                        else take_profit=OrderOpenPrice()+TakeProfit*point;
                }
                     
                else{
                        type = "sell";
                        if(OrderStopLoss()!=0)stop_loss=OrderStopLoss();
                        else stop_loss=OrderOpenPrice()+StopLoss*point;
                        if(OrderTakeProfit()!=0)take_profit=OrderTakeProfit();
                        else take_profit=OrderOpenPrice()-TakeProfit*point;
                }   
                result=OrderModify(OrderTicket(), OrderOpenPrice(), stop_loss, take_profit, 0, CLR_NONE);
                if(result!=true) { error=GetLastError(); Print("LastError = ",error);}
                else {error=0;}
                if(error==135) RefreshRates();
                else break;
              }
                if(error==0){
                        //message=message+"Ордер #"+OrderTicket()+" - "+type+" - "+DoubleToStr(OrderLots(), 2)+" успешно модифицирован.\n";
                        }
                        else{
                                if(error == 130){string error_desc = " - Неправильные стопы";} else error_desc = "";
                                if(error != 1)
                        message=message+"Ошибка модификации ордера #"+OrderTicket()+" - "+type+" - "+DoubleToStr(OrderLots(), 2)+". "+error_desc+" \n";
                        }

              //---- print modified order (it still selected after modify)
              OrderPrint();
              continue;             
           }
        }
      else { Print( "Error when order select ", GetLastError()); break;}
     }
        int ret=MessageBox(message, NULL, MB_OK);
        if(ret==IDOK) return(0);
//----
   return(0);
  }
 
lottamer:

というニュアンスで、今度はアドバイザーを仕上げたいと思います・・・:))

クチャラーズ・ノーズ」のために「カートを動かしたい」のですね。語学力が低いうちは、練習を始めるのに

あなたの戦略に近い、すぐに使えるExpert Advisorを利用し、あなたのニーズに合わせて近代化することで、あなたの行動をより早く理解し、理解できるようになります(「入門書」を読む意欲が明らかにない場合)。

がんばってください。

P.S.AXIOMA:"コーチマンはカートに乗らない!!"

 
TarasBY:

クチャラーズ・ノーズ」のために「カートを動かしたい」のですね。語学力が低いうちは、練習を始めるのに

あなたの戦略に近い、すぐに使えるExpert Advisorを使い、あなたのニーズに合わせてアップグレードしてください - この方法は、あなたの行動をより早く理解し、把握することができます。

がんばってください。

P.S.AXIOMA:"コーチマンはカートを運転しない!!"


実質的にはそうなんですが...。他のEAやスクリプトを見て、必要なものを構築しています :))
 
2012.12.07 16:14:28 attempt141 GOLD,H1:OrderSend 関数の シンボル名 0 が不明です。

端子やDCに依存しているのか、それともコードが変わっているのか?