//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 03.08.2008 |//| Описание : Рассчитывает количество ордеров по типам. |//+----------------------------------------------------------------------------+//| Параметры: |//| mo - массив количества ордеров по типам |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+void CountOrders(int& mo[],int mn=-1){int i, k=OrdersTotal();if(ArraySize( mo)!=6)ArrayResize( mo,6);for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)){if( mn<0||OrderMagicNumber()== mn) mo[OrderType()]++;}}}
int a;......int start(){//----if(Time[0]== prevtime)return(0);//ждём нового бара
prevtime =Time[0];//если появился новый бар , включаемсяif( isFractalUp()> isFractalDn()){//если это Down-фрактал
a =iLow(NULL,0, GetFractalBar(NULL,0,0));Comment( GetFractalBar(NULL,0,0));}
可能だと思います。どうやら、各レベル(クロス)で、現在のオープンポジションのロットサイズが何であるかを確認する必要があるようです。そして、まさにこの基準で、クロージングメカニズムを導入すべきなのです !
このような機能(ロットサイズを返す機能)は、このブランチに用意されています。pp.を見てください。17 и 27
ありがとうございました。これで前に進むことができます。 ありがとうございました。
OpenPosition() 関数で追加のロットサイズチェックが必要かどうかを判断するには、 ロットサイズをどのように計算し、どこでどのように呼び出すかを確認する必要があります。私は、この関数をブランチ
もしかしたら、 を見逃していたかもしれません。
https://championship.mql5.com/2012/ru/news このように計算されると、134エラーが出て、優勝を逃すかもしれません :-)
こんにちは、KimIV.sent one thing will have to write it back.私はプログラミングが苦手で、トレーダーになるために3週間勉強しています。私の文法もよくありません。
をご覧ください。私が質問したいのは、これです。 CCiインジケータを使ってEAを作ることは可能ですか?
レベル CCi 250, 50, -50, -250.それぞれ-50、50になったら(クロスしたら)、売ったり買ったりするという考え方です。取引を停止するタイミングを検討する。
1その後、(売りが出たとすると)グラフは-250を横切り、次に反対方向の-250を横切る(写真で見ることができます)。
2 250に届かず、50にクロスして戻ってきたチャート。
買う場合も同じですが、その逆もあります。
ユーロ/ドル、任意の時間枠を引用。
こんなぬいぐるみみたいなEA、いくらするんだろう?
同じ価格なら、もっといいものを提供できないか?
ありがとうございました。そうであってほしい。さて、私はFOREXの講座に行きました。
ところで、FXは本当に糧を得るための手段なのでしょうか?
皆様にご挨拶申し上げます。
このインジケータを見つけ、少し変更したところ、良いトレンドラインが引けるようになりました。
機能を練り上げるのも面白いかも...。(KimIVのリクエストみたいなものです)。
Re.
OpenPosition("GBPJPY", OP_SELL, 0.1, pb+23*po, pb-44*po)。
OpenPosition("GBPJPY",OP_SELL, 0.1, 23, 44)を呼び出す方がいいかもしれませんね。
この提案により、ストップの使い勝手がよくなり、ピップ単位で設定できるようになりました。ストップ&テイクが価格水準で設定されているケースはどうでしょうか?例えば、直前のバーの安値や高値でストップする。あるいは何らかの線によって。関数を呼び出す前にポイントに変換され、関数内で価格に変換されるのでしょうか?これは冗長動作です。だから、このままにしておきます。
GetSizeLot() 関数については、後ほど検討します(ちなみに現在はGetLots() と呼ばれています)。まず、b-ForTest.mqhと b-Positions.mqh ライブラリの使用を終了する必要があります。
テスター用のCountOrders()関数です。
私のテスト版Expert Advisorsでは、CountOrders() 関数が、ExistOrders(),ExistPositions(),NumberOfOrders(),NumberOfPositions() 関数を置き換えています。つまり、あらゆる種類のポジションや注文の存在や、それぞれの種類の取引数に関する情報を提供することができます。このような取引所には独自の利点があり、それは1ティックの注文ベースを1回参照するだけで、必要な情報を一度に取得できることに表れています。そして、上記の機能は、特に併用する場合、それぞれが独立して1つの同じオーダーベースで動作するため、同じ呼び出しを繰り返してしまいます。その結果、CountOrders() 関数は、1回のパスの時間を数秒短縮することができ、最適化の時間を短縮することができる。
関数CountOrders() は、以下のパラメータをとる。
P.S. CountOrders() 関数をオンラインでテストするためのスクリプトを添付します。
イゴールさん、そして皆さんもこんにちは。GetFractalBar(NULL,0, 0)関数を使用していて問題があります。- フラクタルバー番号をその番号で返します。正確には、機能に問題があるわけではありません。でも、その近くのどこか。
この設定でコメントを表示させればすべてOKです。チャートの隅にあるバーの番号をHAVEしています。
また、グラフの隅にコメント番号を表示しても、すべてOKです。フラクタルのあるバーの最小値が左隅に表示されています。
しかし、さらに一般的には、それは明確ではありません関数そのものではなく、コメントに変数 "a" を挿入した途端、コメントには価格値ではなく、コーナーに1が返されるようになりましたここで :
3時間座りっぱなしで、何が悪いのかわからない!?できれば教えてほしいのですが...。関数そのものではなく、コメントに変数 "a" を挿入するとすぐに、コメントは価格値ではなく、隅に1を返します!
変数 "a "を整数型変数として宣言している、つまり
int a;
実数変数として宣言する必要があります。
ダブルエー
テスターのModifyOrder()関数。
これは、7ページで 公開したModifyOrder() 関数の簡易版で、あらかじめ選択した1つの注文やポジションの絶対価格水準を変更するためのものです。
ModifyOrder() 関数は、以下のパラメータを受け付けます。