externdouble Delta=800.0; // Ширина канала, которую мы считаем достаточно узкой чтобы ожидать скоро серьезного движения в одну из сторонexterndouble StepOpen=150.0; // Отступ от линии Боллинджера для открытия отложенного ордераexterndouble TP=350.0; // Take Profitexterndouble SL=400.0; // Stop Lossint start()
{
double T1=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0); // верхняя линия Боллинджераdouble T2=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0); // нижняя линия Боллинджераif ((Ask>T1+StepOpen*Point)&&OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) OrderDelete(0); // если рынок пошел вверх – то удаляем отложенный ордерif (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) return(0); // если есть ранее открытый ордер – прекращаем выполнение текущей итерации советникаif (T1-T2<Delta*Point) { // если линии Боллинджера сблизились ближе чем на Delta пунктов начинаем операцию открытия ордераdouble PriceOpen=NormalizeDouble(T2-StepOpen*Point,5); // вычисляем цену открытияdouble StopLoss=NormalizeDouble(T2-StepOpen*Point+SL*Point,5); // вычисляем StopLossdouble TakeProfit=NormalizeDouble(T2-StepOpen*Point-TP*Point,5); // вычисляем TakeProfitOrderSend(Symbol(),OP_SELL,0.1,PriceOpen,5,StopLoss,TakeProfit,0,0,0,Green); // открываем ордер на продажу
}
return(0);
}
iMAはどのように算出されるのですか?
iMA機能がどのように計算されているのか(分類されているのか)、どこかに載っていないでしょうか。
特にMODE_LWMAに興味があります。
自分好みに見ていじりたいが、何かソースコードをググってもうまくいかない
https://docs.mql4.com/ru/indicators/iMA
数式が必要なので、Googleも簡単に見つけることができます。
https://docs.mql4.com/ru/indicators/iMA
数式が必要な場合、Googleも簡単に見つけることができます。
それとも、「リニアウェイト」という言葉がわからないのでしょうか?
Где-нибудь можно найти как вычисляется функция iMA (или она засекреченная)
Особеннно меня интересует MODE_LWMA.
Хочу посмотреть и подправить на свой вкус, но что-то нагуглить исходники не получилось
こんにちは。
ボリンジャーラインが狭い廊下で互いに近づきすぎた後、市場はしばらくして上下に激しく動くと予想されるからです。私のExpert Advisorでは、ボリンジャーラインの状態を分析し、非常に接近(Delta pips)してきたら、下方向(下ラインのstepOpen pips下)に売り注文 を保留し、相場が突然その方向に行くことを期待します。もし相場が別の方向に行ったら、この注文を削除すればいいだけだ。
アルゴリズムの動作が不安定で、短時間に2つの注文を出すことがあり、常にOrderSendError 130とOrderSendError 138のエラーが発生し、市場が反対方向に動いた場合に未決済注文を削除しても全く機能しない。 。ぜひ、アドバイスをお願いします。ありがとうございました。
ヴィクトル・イヴァノヴィッチ!
なぜリンクを貼らなかったのですか?コードを入れると...何のために?
//--あなたの基本的なコード
PrevTime=Time[0]; // ゼロバーの開始時刻を記憶する。
バーオープンの設定がある場合は、こちらのテンプレートで、動作します。
この関数をEAに自分で書いてもらえませんか? 画像では、1つのバーで3つの注文がオープンしているのがわかります。1つだけでいいんだ コードが直せないんだ
こんにちは、皆さん ))))
何度エントリーポイントを通過しても、1日1回の注文の開始を制限するアドバイザーでヘルプ...
このようなものを書こうとしているのですが、開く前に最後に閉じた注文の履歴をチェックし、それが一致したら開かない...というものです。
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderCloseTime()==Day()
break;
}
これは動作しません、ラモチンカを助けてください ))))
1本のバーで注文するサイト:mql4.com
https://www.mql5.com/ru/forum/102366/page3
EAを変更する際に助けを必要とする、すなわち、そのまますべてを残すが、(販売/購入)にアクション(購入/販売)を変更し、私のテストは、上昇トレンドが 販売されていることを示した、と下降トレンドは買う。とにかく、助けが必要なのです。
よろしくお願いします。