// Простой параболик. Переворотная стратегия.// В условиях, когда в терминале уже есть открытые позиции по другим инструментам.inputdouble TakeProfit =2500;
inputdouble StopLoss =400;
inputdouble Lots =1;
inputdouble TrailingStop =100;
inputdouble Parameter1 =0.02; // Параметры индикатора PSARinputdouble Parameter2 =0.2;
staticint ticket_sell =0;voidOnTick()
{
すなわち、次のようなことです。
こんにちは。Comment(TimeToStr(TimeLocal(),TIME_SECONDS)) を挿入する方法を教えてください。
インターネットが悪いのか、時刻(ローカル)が新しいティックでしか更新されないのか、時刻が正しいのにExpert Advisorが動作しなくなるのか、どちらかです。
こんにちは。Comment(TimeToStr(TimeLocal(),TIME_SECONDS)) を挿入する方法を教えてください。
インターネットが悪いのか、時刻(ローカル)が新しいティックでしか更新されないのか、時刻が正しいのにExpert Advisorが動作しなくなるのか、どちらかです。
OnTimer()内のクロックはtickに依存しないように記述する必要があります。
OnTimer()を使ったことがないのですが.どのよう な感じになるのでしょうか?私は初心者です。
今はこうやってやっています。
int start()
{以下はフクロウのコードです。
- - - - - - - - - - - - - - - -
を最後に付けました。
while(!IsStopped())
{
Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )
}
return(0)です。
}
表示されているようですが、EAがすでに2つほど注文を出した15分後に、チャートにコメントが表示されます。 なぜでしょうか?
OnTimer()を使ったことがないのですが.どのよう な感じになるのでしょうか?私は初心者です。
今はこうやってやっています。
int start()
{以下はフクロウのコードです。
- - - - - - - - - - - - - - - -
を最後に付けました。
while(!IsStopped())
{
Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )
}
return(0)です。
}
表示されているようですが、EAがすでに2つほど注文を出した15分後に、チャートにコメントが表示されます。 なぜでしょうか?
値を失わないためには、グローバル変数が必要で、その宣言をOnTick()の外に移すか、静的変数 にする必要があります。
わざわざ取り出してグローバルにする必要はなく、静止画にすれば十分です。関数の内部です。position_existsの次です。
で、何を書いたかというとオア
メタトレーダー4のEAは、アンドロイド端末で動作しますか?
SymbolSelect("AUDUSD", true) は、AUDUSD が MarketWatch にない場合、つまりペアが MarketWatch に追加された場合のみ true を返すことが判明しました。一旦ペアがMarketWatchに入ると、それ以降の呼び出しはfalseを返します。
この動作は、この機能のマニュアルと全く一致していません。
SymbolName(i, true) fori=0.SymbolsTotal(true) を全てスキャンする自作関数を使う必要がありました。
すべてがフィットする。
この関数の2つ目のパラメータはスイッチです。
1.trueを送信した場合、Market Watchでシンボルを選択する必要があります。
1.1.まだ存在しない場合は、選択され、関数がtrueを返します。
1.2.すでに存在する場合は、この関数は動作せず(選択するものがない)、falseを返します。
2.false を送信した場合、そのシンボルはマーケットウォッチから削除されるはずです。
2.1 もし、そのシンボルが存在し、そのシンボルのオープンチャートやオープンポジションが ない場合、そのシンボルはマーケットウォッチから削除され、この関数はtrueを返します。
2.2 もしそれが存在しても、そのシンボルのチャートが開いていて、かつ/またはそのシンボルのポジションが開いている場合、この関数は機能せず、偽を返します。
2.3 存在しない場合、この関数は動作せず(削除するものがない)、false を返します。
こんな感じです...