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

 
Desead:

もちろんありがとうございます。でも、質問を読むのが面倒なら、答える意味はないでしょう?私の持っている2つの関数で、インジケータのレベルの値、太さ、色、スタイルを変更することができます。説明文にアクセスできない。もう一度聞きますが、誰か答えを知っていますか?見たことあるようなないような。

必要なものを示すために写真を添付しました。


このような形にはならなかったし、おそらく今後もならないでしょう。
 
yan720:

では、この機能は使えないのでしょうか?テストしたわけではありませんが、私には動作中のコードの一部と思われます(このIlanは明らかにせいぜいデバッグされたものから作り直されたものです)。それとも、やはり粗悪なコードなのでしょうか?




使ってみてください。

void Modify_orders (double AverPrice, double SLoss, double TProfit){
   double Stoplevel =  MarketInfo(Symbol(),MODE_STOPLEVEL);
   datetime GTCount_1 = 0;
   datetime GTCount_2 = 0;
   int ppos = 0;
   if ((AverPrice != 0) == TRUE){
      for (ppos = OrdersTotal() - 1; ppos >= 0; ppos--){
          if (OrderSelect(ppos, SELECT_BY_POS, MODE_TRADES) == TRUE){
            if ((OrderSymbol() != Symbol() || OrderMagicNumber() != Magic || OrderType() >= 2) == TRUE) continue;
            if ((OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) == TRUE){ 
            if ((OrderType() == 0) == TRUE){ 
               if(Bid - SLoss < Stoplevel * Point){ SLoss = ND(Bid - Stoplevel * Point);}
               if(TProfit - Ask < Stoplevel * Point){ TProfit = ND(Ask + Stoplevel * Point);}
            }else if ((OrderType() == 1) == TRUE){ 
               if(SLoss - Ask < Stoplevel * Point){ SLoss = ND(Ask + Stoplevel * Point);}
               if(Bid - TProfit < Stoplevel * Point){ TProfit = ND(Bid - Stoplevel * Point);}
               }
                  GTCount_1 = GetTickCount();           
                  OrderModify(OrderTicket(), AverPrice, SLoss, TProfit, 0, Yellow);  
                  GTCount_2 = GetTickCount() - GTCount_1;
                   // Print("Modify time(ms):   ", GTCount_2, "   /  Ticket: ", OrderTicket()," /  Time: ", TimeToStr (TimeCurrent(), TIME_SECONDS), " /  Average price: ",AverPrice, " /  SL: ",SLoss, " /  TP: ",TProfit); 
                Sleep(33);                
                }
            }
        } 
    }
}
double ND(double value){
   return(NormalizeDouble(value, Digits));
}
 
digits:


使っていますね。

取引サーバーのエラーに対応する機能がありません。OrderModify()関数は、エラー処理と 適切なエラーレスポンスを備えた、独立した本格的な関数として設計されるべきである。

そしてまた、何のために?

if ((OrderSymbol() != Symbol() || OrderMagicNumber() != Magic || OrderType() >= 2) == TRUE) continue;
if ((OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) == TRUE){

オイルは何に使うの?

 
digits:


使用する。


いいえ、このようなgは使用していません。
 

20ルーブルでパンを買い、帰宅して購入価格を5ルーブルに変更し、財布の中に差額の15ルーブルが届いていたら、おかしいですよね......。ファンタスティック...;)

パンを35ルーブル(15ルーブルの利益)で転売しても、ブローカーは手数料をくれません :=)。

 

こんにちは。数日前からMQLの勉強を始め、サイトを読み直したが、答えが見つからない。(初心者を批判しないでください)

もし私がすでにそれを試していたら、多くの注文が締め切られているのを見たでしょう。MA(5)とMA(21)をクロスしたときに注文をクローズする簡単なコードを以下に示します。

MA(5)とMA(21)をクロスさせて決済するコードはこちらです。 ありがとうございました。

double ma50;

double ma51;

double ma210;

double ma211;

double ma550;

double Stoh;

int start()

{

//Open Orders--------------------------------------------------------------------------------

{

ma50=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

ma51=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

ma210=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0);

ma211=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);

ma550=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,0);

Stoh=iStochastic(Symbol(),5,5,3,3,MODE_SMA,1,MODE_MAIN,0);

if(OrdersTotal()==0 && ma50 > ma51 && ma50 > ma210 && ma51 < ma211 && ma210 > ma550 )

OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0,"BUY",123,0,Red);

}

//Close Orders--------------------------------------------------------------------------------

{

if(OrdersTotal()==1 && ma50 < ma210 )

if(OrderSelect(10,SELECT_BY_POS)==true)

OrderClose(OrderMagicNumber(),Lots,Bid,1,CLR_NONE);

}

}


 
AlexCY:

こんにちは。数日前からMQLの勉強を始め、サイトを読み直したが、答えが見つからない。(初心者を批判しないでください)

もし私がすでにそれを試していたら、多くの注文が締め切られているのを見たでしょう。MA(5)とMA(21)をクロスしたときに注文をクローズする簡単なコードを以下に示します。

ありがとうございます。

このコードが正しいかどうかは、あなたが、そして他の誰も、この用語で何を意味するのかに直接依存します。

ここでは、注文を開くときに、似たような、しかし少し間違った方法で閉じることを試みています。

ただひとつアドバイスできることは、もっと言葉を勉強してくることです。焦る必要はありません。

OrderCloseの パラメータが正しくない。+注文が1 つならOrderSelectは 0番で取ら れます。 + 次の1〜2ティック後に「ma50 < ma210」がスプレッドを食って約定しない のは確実 でしょうか?

で、ツールバーのボタンSRCからコードが挿入されます。

 

こんにちは。

インジケーターのコードでは、チャート上に新しいトレンドが現れた瞬間をキャッチし、そのトレンドの名前を取得する必要があります。

刻々と 変化する全オブジェクトのリストを追跡し、オブジェクトの数が変化する瞬間を固定し、今適用されたオブジェクトを見つけることを期待して全リストを巡回する以外に......。他にもっと安価な方法はないのでしょうか?もしそうなら、どうすればもっと簡単に実現できるのか。

 
satorifx:

こんにちは。

インジケーターのコードでは、チャート上に新しいトレンドが現れた瞬間をキャッチし、そのトレンドの名前を取得する必要があります。

刻々と変化する全オブジェクトのリストを追跡し、オブジェクトの数が変化する瞬間を固定し、今適用されたオブジェクトを見つけることを期待して全リストを巡回する以外に......。他にもっと安価な方法はないのでしょうか?もしそうなら、どうすればもっと簡単に実現できるのか。


で、オブジェクトを直接適用する部分に、上記の処理を施したブロックへのリンクを追加する?
 
ALXIMIKS:

で、オブジェクトを直接適用する部分には、上記の処理をしたブロックへのリンクを追加する?
では、どの部分のことでしょうか?私は、独自のスクリプト(そう、そこに好きなものを追加できる)と、MT4ツールを使った標準的なトレンド観測(ここでは何も追加できない)の2つの方法でトレンド観測を行っています。課題は、あらゆる方法でトレンドをトレースすることです。