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

 
MyTHblu:

コードのつなぎ方...トレーディングストップがある...。どこにも挿入していないのですが、もしかしたらエラーがあるかもしれません、コンパイル時に'if' - expression is not allowed on global scopとありますが、ifの前にエラーがあるということのようです・・・ね?

グローバルスコープでは、if条件は使用できません。こんな 感じで、ロボットにしちゃいましょう。

extern bool UseTrailing = true;
extern int lMinProfit = 30;
extern int sMinProfit = 30;
extern int lTrailingStop = 15;
extern int sTrailingStop = 15;
extern int lTrailingStep = 5;
extern int sTrailingStep = 5;
//--------------------------------------------------------------- 2 --
int start()
  {
   if (UseTrailing) TrailingPositions();     
//--------------------------------------------------------------- 9 --
   return;                                      // Выход из start()
  }
//-------------------------------------------------------------- 10 --
void TrailingPositions() 
{
  int cnt = OrdersTotal();

  for (int i=0; i<cnt; i++) {
        if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
        if (OrderSymbol() != Symbol()) continue;                

        if (OrderType() == OP_BUY) {
        if (Bid-OrderOpenPrice() > lMinProfit*Point) {
                if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) {
                OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, OrderTakeProfit(), 0, Blue);
                }
        }
        }

        if (OrderType() == OP_SELL) {
        if (OrderOpenPrice()-Ask > sMinProfit*Point) {
                if (OrderStopLoss() > Ask+(sTrailingStop+sTrailingStep-1)*Point || OrderStopLoss() == 0) {
                OrderModify(OrderTicket(), OrderOpenPrice(), Ask+sTrailingStop*Point, OrderTakeProfit(), 0, Blue);
                }
        }
        }
  }
  
}
 
MyTHblu:

コードのつなぎ方...トレーディングストップがある...。どこにも挿入していないのですが、もしかしたらエラーがあるかもしれません、コンパイル時に'if' - expression is not allowed on global scopとありますが、ifの前にエラーがあるということのようです・・・ね?


if(UseTrailing) TrailingPositions(); という行を start() に挿入する必要があります。もちろん、関数ブロックの外では機能しません。RTFM(訳すならクソ説明書を読め)。
 
MyTHblu:

コードのつなぎ方...トレーディングストップがある...。どこにも挿入していないのですが、もしかしたらエラーがあるかもしれません、コンパイル時に'if' - expression is not allowed on global scopとありますが、ifの前にエラーがあるということのようです...ですよね?


基本をしっかり身につけるべし!ヒントからは何も学べない!しかも、知識がなくても漏れる!?学びたくないなら、Workで注文しよう!
 

こんにちは

新しいコンパイラのために、ロボットをどの程度修正する必要があるのか教えてください。

何が大きく変わったのでしょうか?

チュートリアルに有用な情報がなかったので、新しい特殊関数への有用なリンクはありますか?

 
https://forum.mql4.com/ru/60554
 
sssssaaaaabbbbb 2014.02.27 09:29 |91.122.220.134禁止 #.
こんにちは、フォーラムのメンバー、私は初心者です厳しく私を判断しないでください。シグナルに登録しました。トレーダーが0.10ロットを買っていて、私は0.01ロットを持っています。接続先を教えてください、そうすれば0.10を買わなければなりません。
 
int start()
{
if(DayOfWeek()==1 && Hour()==1)
{
double hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//define high(高値の定義
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//define low.NULL(NULL,0,0,0,0,0))です。
double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));// オープンを定義する。
Alert("Maximum=",hi, "Minimum=",low, "Opening=",op);
}
return(0)です。

}

ごきげんよう、Dears!

誰もがアイデアを持っている - なぜこれらの価格でウィンドウに表示されていない!?

AlexMikash

 
Ekburg:

こんにちは

新しいコンパイラのために、ロボットをどの程度修正する必要があるのか教えてください。

何が大きく変わったのでしょうか?

チュートリアルに有用な情報がなかったので、新しい特殊関数への有用なリンクはありますか?

新しいMEでコンパイルして動くなら、新しい言語機能を 教える以外、コードを変える必要は全くありません。最新のチュートリアルはICLハンドブックだけで、フォーラムのチュートリアルは誰かが新しいものを書かない限り更新されることはないでしょう。
 
AlexMikash:
...

親愛なる皆様、こんにちは。

なぜ価格データウィンドウが表示されないのか、どなたかお分かりになりませんか?

敬具 AlexMikash


また、スクリプトを起動した時のサーバーの時計は何時を示していたのでしょうか?しかも今日は全然月曜日じゃないし・・・。


1時間中、すべての文字 にアラートが必要な人はいないと思いますが、必要な人は、まあ...。

 

簡単なExpert Advisorのスクリプトがありますが、これは私自身のニーズ(作成)用です。しかし、デモ口座で"Strategy Tester"を実行すると、エラー番号(私が知っている限りでは130,131)が表示されてうまくいきません。

Question!

エラー「アドバイザー」や「バグ」プログラムでしょうか。このEAで本格的にトレードを始めると、どのような影響があるのでしょうかね。