//+------------------------------------------------------------------+void TradeMode3()
{
int TotalGridBuyOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
TotalGridBuyOrders++;
Print("Количество buy ордеров grid ",TotalGridBuyOrders);
if(TotalGridBuyOrders>=1)
{
grid_buy_price_memory=m_order.PriceOpen();
Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);
int TotalGridSellOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
Print("Количество sell ордеров grid ",TotalGridSellOrders);
if(TotalGridSellOrders>=1)
{
grid_sell_price_memory=m_order.PriceOpen();
Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);
}
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+void TradeMode3()
{
{
int TotalGridBuyOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
TotalGridBuyOrders++;
Print("Количество buy ордеров grid ",TotalGridBuyOrders);
if(TotalGridBuyOrders>=1)
{
double grid_buy_price_memory=m_order.PriceOpen();
Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);
}
}
{
int TotalGridSellOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
Print("Количество sell ордеров grid ",TotalGridSellOrders);
if(TotalGridSellOrders>=1)
{
double grid_sell_price_memory=m_order.PriceOpen();
Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);
}
}
}
//+------------------------------------------------------------------+
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
最も近い買いストップと最も近い売りストップの価格を 表示するコードを表示することができますか?
価格だけ?何のために?そして、"ニアレスト "という言葉を解読してください。
価格だけ?何のために?そして、"ニアレスト "という言葉を解読してください。
価格だけでいい。
見てください。
現在、現在の価格から 100ピップ離れたところに10の買いストップがあります。
現在、現在の価格から100ピップ離れたところに10個の売りストップがあります。
Printで現在の価格から相対的に最も近い買いストップと最も近い売りストップの価格を表示する必要があります。
やってみたが、うまくいかなかった。
最も近い買いストップの価格は正しく出力されるが、最も近い売りストップの価格がなぜか出力される。
この関数m_order.PriceOpen(); は、常に買いの逆指 値を表示します。買いストップ要求の後に売りストップの価格を教えてもらうのですが。
これは、さらなるロジックのために行われるものです。
私は、最も近い買いストップと最も近い売りストップの価格を2で割っています。
Expert Advisor は、取得した数値に基づいて作業を継続します。
フル機能は
今度はコードを変えてみました。
変更なし。買いの逆指値のみ出力
今度はコードを変えてみました。
変更なし。買いの逆指値のみ表示されます。
まずはコードを書いてみましょう。買いストップ、売りストップの検索機能は価格をパスする必要があると言うことから始めたいのですが、そうでなければどうやって検索するのでしょうか.
また、「最寄」- 価格の上か下かを明確にする必要があります。それとも、設定した価格と保留中の注文の 差だけなのでしょうか?
まずは書いてみよう。買いストップ、売りストップの検索機能は価格をパスする必要があると言うことから始めたいのですが、そうでなければどうやって検索するのでしょうか.
私はこうしています。
この関数は、現在のストップ安の数を完璧に出力します。
次に、最も近いSell Stopを選択しました。その価格の表示と印刷をお願いします
ヘルプに書いてあります。
COrderInfoクラス
価格オープン
注文価格を取得します。
doublePriceOpen()const
戻り値
注文開始価格です。
備考
Select(by ticket) またはSelectByIndex(by index) メソッドを使用して、アクセスする順序を事前に選択する必要があります。
どうしたんですか?順番に選択しています。インストールにかかる費用を要求される。
それとも、私が何か勘違いしているのでしょうか?なぜ、うまくいかないと買いの逆指値が入るのですか?
また、「最寄」は価格の上限なのか下限なのかを明確にする必要があります。それとも、設定した価格と保留中の注文の 差だけなのでしょうか?
以下は、私が必要とする買いストップと売りストップの価格です。
どのBuy StopとSell Stopが必要なのか、その価格は以下の通りです。
価格 "price "から最も近い "buy stop "と最も近い "sell stop "を検索する機能です。
今度は別の問題)
私は以前、このように自分の関数を呼び出していました
あなたのコードを挿入し、私の関数を次のように変更しました。
現在、コンパイル時にエラーが発生する(
今度は別の問題)
私は以前、このように自分の関数を呼び出していました
あなたのコードを挿入し、私の関数を次のように変更しました。
コンパイル時にエラーが発生するようになりました(
この関数にはPRICEを 渡す必要があり、PRICEを中心に保留中の注文の 検索が行われます。
この価格に加えて、2つの変数を 渡す必要があります。