intBars(
string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time // по какую дату
);
voidOnTick()
{
// Получим значение индикатора
dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.// Если нет открытых ордеров, то входим в условиеif(CountOrders()==0)
{
// Если появился сигнал на покупку, то откроем ордер на покупкуif(bSignalBuy() == true)
vOrderOpenBuy();
// Если появился сигнал на продажу, то откроем ордер на продажуif(bSignalSell() == true)
vOrderOpenSell();
}
// Пишем какой лот текущий и какой следующий
DrawLABEL("nextlot" ,1,5,0,Color1(),StringConcatenate("CURRENT LOT: ",DoubleToStr(LOT(),2)));
DrawLABEL("currentlot",1,5,0,Color2(),StringConcatenate("NEXT LOT: ",DoubleToStr(LOT(),2)));
DrawLABEL("lab_Take" ,1,5,0,Color(GetProfitFromStart()>0,Lime,Red),StringConcatenate("Profit: ",DoubleToStr(GetProfitFromStart(),2)));
TrailingOrders();
}
私は口を挟む :)
DAX30指数=9から22まで相場がある
タイムフレームM15、H1などでセッションのバー数を調べるにはどうしたらいいでしょうか。
(22*3600-9*3600)/PeriodSeconds(M15)
が、これは理想的には「9:00から22:00の間にこれだけのバーがあればいい」ということです。
時間枠が小さいほど誤差は大きくなりますが、実際にはほとんど小さくなります。履歴を利用して「Nバーごとに次のセッション」を計算することはできません。
もっとシンプルに...。
皆さん、こんにちは。
あなたの力が必要です。
EAには、現在の利益をカウントする機能が組み込まれています。
void OnTickは上記のように構成されています。
条件を満たすと利益カウンターが0.0にリセットされるようにするには。
if(CountOrders()==0) && (GetProfitFromStart()>0)の場合。
すなわち、すべての注文が終了し、最後の注文が終了したときの利益の合計が>0であった場合?
MT4をインストールしました。ターミナルを閉じた後、引用符が保存されない - 毎回新しいものをロードする。
4でも、「先に開いて、後で修正 する」のがよいでしょう。
ストップロスとマーケットで同時にオープンすることができる人はそう多くはありません。
ちなみに、ストップロスはどこでも起こるわけではありません。ストップロス注文で取引したい場合は、ブローカーのサーバーで確認する必要があります。それは彼の個人的なサービス(クレジット、リスク、収益)であり、あなたが考えるところではありません、ストップロス注文の取引チャネルはありません。
ありがとうございます、そうなんです、ブローカーが違うとデモでも条件が違いすぎて表示されないんです。
皆さん、こんにちは。
あなたの力が必要です。
EAには、現在の利益をカウントする機能が組み込まれています。
void OnTickは上記のように構成されています。
条件を満たすと利益カウンターが0.0にリセットされるようにするには。
if(CountOrders()==0) && (GetProfitFromStart()>0)の場合。
すなわち、すべての注文が終了し、最後の注文が終了したときの利益の合計が>0だった場合?
この課題は、なかなか明確にはなっていません。毎回、計算機能が注文/ポジションを回り始め、ゼロからの利益をまとめます。
何をゼロにしたいのか?オープンポジション/マーケットオーダーがない場合、カウント関数はゼロを返します。勝手にゼロになる)))
皆さん、こんにちは。
あなたの力が必要です。
条件を満たすと利益カウンターが0.0にリセットされるようにする方法。
すなわち、すべての注文が終了し、最後の注文が終了したときの利益の合計が>0?
具体的にどのような点がうまくいかないのでしょうか?
こんにちは。よろしくお願いします。
マイナスリターンのクローズドオーダーを探している。
合計では、私はすべての負のオーダーの結果を得ることはありません。
書くことを学んでいます。
こんにちは。よろしくお願いします。
マイナスリターンのクローズドオーダーを探している。
合計では、私はすべての負のオーダーの結果を得ることはありません。
書き方を学ぼうとしているのです。
ぱっと見た感じ、端からポジションに目を通すと同時に、変数に終値を書き込んでいますね。直近で決済したポジションの時刻を取り込んでしまい、次の条件が成立しなくなることがあります。
他のポジションの方が終値が低いため。これはすべてソーティングによりますが、標準的なソーティングではこれが問題になります。
この条件も修正
まで
履歴からポジションを取れば、OrderProfit()はすでにスワップや手数料を含んだ最終結果を保存しています。オープンポジションでは......いや、すべてを総括する必要がある。しかし、これは確かなことではありません、確認してみてください。
ぱっと見た感じ、端からポジションを見ていって、終値の時間を変数に書き込んでいるようですね。直近で決済したポジションの時刻を取り込んでしまい、次の条件が成立しなくなることがあります。
他のポジションの方が終値が低いため。これはすべてソーティングによりますが、標準的なソーティングではこれが問題になります。
この条件も修正
まで
履歴からポジションを取れば、OrderProfit()はすでにスワップやコミッションを含んだ最終結果を保存しています。オープンポジションでは......いや、すべてを総括する必要がある。しかし、これは正確ではありませんので、ご確認ください。
ありがとうございます。
さらに、利益がプラスの注文に出会ったら、結果をリセットして、マイナスの注文を探します。
こんにちは。よろしくお願いします。
マイナスリターンのクローズドオーダーを探している。
合計では、私はすべての負のオーダーの結果を得ることはありません。
書くことを学んでいます。
このような場合、デバッガを使用することをお勧めします。