Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool CSampleExpert::CheckForCloseBUY(void)
{
bool res=false;
for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positionsif(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==MACD_MAGIC)
if(m_position.PositionType()==(long)POSITION_TYPE_SELL) // gets the position type
m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol//---
res=true;
//--- resultreturn(res);
}
//+------------------------------------------------------------------+
現在はこのようになっています。
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool CSampleExpert::CheckForCloseBUY(void)
{
bool res=false;
for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positionsif(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==MACD_MAGIC)
if(m_position.PositionType()==(long)POSITION_TYPE_SELL) // gets the position type
m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbolSleep(SLEEPTIME*1000);
for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positionsif(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==MACD_MAGIC)
if(m_position.PositionType()==(long)POSITION_TYPE_SELL) // gets the position type
m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol//---
res=true;
//--- resultreturn(res);
}
//+------------------------------------------------------------------+
叩いてみました~手動売買のアシスタントです。
実際のアカウントで テストしたところ、これに依存するものはすべて動作しました。
INDICATOR_SHORTNAMEでインジケータを削除するスクリプトです。
インジケータ名のスペルを正しく入力する - サーマルのようにコピーする
インジケータは すべてのチャートから一つずつ 削除されます。"キャンセル "を押すと、目的のものをスキップすることができます。
インジケータは すべてのチャートから1つずつ削除 されますが、"cancel "を押すと目的のものをスキップできます。
また、あなたのスクリプトを使用してみましたが、その通りに動作しました。
Expert Advisorに付属しているため、他の用途にしか使えません。
水平線のあるインジケータがあるのですが、EAが水平線でトリガーされたときに、設定にあるインジケータを削除してほしいのです。
で、他のインジケータを外さなかった。
叩いてみました~手動売買のアシスタントです。
実際のアカウント で確認したところ、これに依存するものはすべて動作していました。
追加した機能です。
横線でしか使えないのでは?
オブジェクト名によるだけなのかわかりませんが。
テスター表
-----------------------------------------------------------------------
0.01と表示されました。
ここで少し修正しました。
- 前に行が削除された - と繰り返しポジションを閉じます。 閉じたり閉じなかったりします。
しかし、今は--今回の修正で--閉じた。
この機能は、トレンドライン、水平線、または一般的なオブジェクトの名前によってトリガーされます。
また、-混乱を避けるために-
input string InpHLineBUY = "open buy"; // ВНИЗУ Name buy input string InpHLineSELL = "open sell"; // ВВЕРХУ Name sell input bool InpReverse01 = false; // Reverse Open - переворот торгового сигнала買い建て」と書いても、常に現在の価格の 下限でなければならない。
リバースに切り替えただけで
ここで少し修正しました。
- 前に行が削除された - と繰り返しポジションを閉じます。 閉じたり閉じなかったりします。
しかし、今は--今回の修正で--閉じた。
この機能は、トレンドライン、水平線、またはオブジェクトの名前によってトリガーされます。
まだエラーがあります。
これに修正したら、ちゃんと動くようになりました。
また、少し変えてみました。
一方向に10ポジションを建てたとき、クローズまでのラインが発動し、9ポジションがクローズ、1ポジションが残りました。
------------
という感じでした。
現在はこのようになっています。
この機能で
やばいな~、わかったぞ。
斜めにトレンドラインを引いてみた→うまくいかないで終了
というのは、最初から最後までの全行程で、現在の価格がクロスしていないことが判明したのです。- はたらかない
現在の価格がそれを越えると、機能しなくなります。
今日、この機能を実際のアカウントでテストしてみます。
FiboPivot_V2 インジケーターライン上
インジケーターのショートネームを入力する必要があります。
- インジケータを削除しない場合、再度ラインを設定し、ポジションを再開します。