CMEPTHiK писал (а)>> V.Yakimkinの本を読んでいました。"Forex market - your way to success "で、"(DJI x Nikkei)の差分... "のような行に出会いました。 イゴール、教えてください、これをインジケータの形で実装し出力することは可能ですか?
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 27.08.2008 |//| Описание : Возвращает флаг существования в истории позиции или ордера, |//| : закрытой (удалённого) между датами. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая операция) |//| mn - MagicNumber (-1 - любой магик) |//| d1 - время закрытия ( 0 - любое время закрытия) |//| d2 - время закрытия ( 0 - любое время закрытия) |//+----------------------------------------------------------------------------+bool ExistInHistoryCloseBetween(string sy="",int op=-1,int mn=-1,datetime d1=0,datetime d2=0){int i, k=OrdersHistoryTotal();if( sy=="0") sy=Symbol();for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)){if((OrderSymbol()== sy || sy=="")&&( op<0||OrderType()== op)){if( mn<0||OrderMagicNumber()== mn){if( d1<=OrderCloseTime()&&( d2==0|| d2>=OrderCloseTime()))return( True);}}}}return( False);}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 27.08.2008 |//| Описание : Возвращает флаг существования в истории позиции или ордера, |//| : открытой (установленного) между датами. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| d1 - время открытия ( 0 - любое время открытия) |//| d2 - время открытия ( 0 - любое время открытия) |//+----------------------------------------------------------------------------+bool ExistInHistoryOpenBetween(string sy="",int op=-1,int mn=-1,datetime d1=0,datetime d2=0){int i, k=OrdersHistoryTotal();if( sy=="0") sy=Symbol();for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)){if((OrderSymbol()== sy || sy=="")&&( op<0||OrderType()== op)){if( mn<0||OrderMagicNumber()== mn){if( d1<=OrderOpenTime()&&( d2==0|| d2>=OrderOpenTime()))return( True);}}}}return( False);}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 06.08.2008 |//| Описание : Возвращает флаг наличия ордера или позиции в истории за сегодня|//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool ExistInHistoryToDay(string sy="",int op=-1,int mn=-1){int i, k=OrdersHistoryTotal();if( sy=="0") sy=Symbol();for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)){if(OrderSymbol()== sy || sy==""){if( op<0||OrderType()== op){if( mn<0||OrderMagicNumber()== mn){if(TimeDay(OrderOpenTime())==Day()&&TimeMonth(OrderOpenTime())==Month()&&TimeYear(OrderOpenTime())==Year())return( True);}}}}}return( False);}
IIFc()関数。
...足りない三項演算子を作ろうとすると?
スコア、ありがとうございます。できる限り中括弧をつける癖のある私には、とても便利そうです。
V.Yakimkinの本を読んでいました。"Forex market - your way to success "で、"(DJI x Nikkei)の差分... "のような行に出会いました。 イゴール、教えてください、これをインジケータの形で実装し出力することは可能ですか?
差分はROCインジケータが 示す速度である。
イゴール、カウンターポジションを意識したクローズなど、全ポジションを一括でクローズする機能は隠してないんですか?
つまり、まずカウンターポジションのロットの不一致を考慮して、可能な限りすべてのカウンターポジションを決済し、次に負けているもの、利益を上げているもの......という具合です。
イゴール、カウンターポジションを意識したクローズも含め、全てのポジションを一度にクローズする機能は、書庫にあるのでしょうか?
すなわち、まず、たくさんの反対ポジションのミスマッチを考慮して、可能な限りすべての反対ポジションを決済し、次に、負けているもの、利益を上げているもの......という具合です。
いや、まだ持っていないんです。
ExistInHistoryCloseBetween()関数を使用します。
日付の間にクローズ(削除)されたポジションや注文が履歴に存在するかどうかのフラグを返します。関数ExistInHistoryCloseBetween() は、以下のパラメータを受け付ける。
ExistInHistoryCloseBetween()の使用例です。
追伸:ExistInHistoryCloseBetween()関数をテストするスクリプトを添付します。
ExistInHistoryOpenBetween()関数を使用します。
日付の間にポジションまたは注文のオープン(セット)が履歴に存在するかどうかのフラグを返します。ExistInHistoryOpenBetween() 関数は、以下のパラメータを受け付ける。
こんにちは。
イゴール、バーを好きな色に塗る方法を教えてくれませんか?
最初から言っておく。私は、ゾーン・トレーディング(ウィリアムズのB-marketの4番目の次元)のためのインジケータを書いています。バーの色を緑、赤、グレーのいずれかにする必要があります。
インジケータを書いたら、こんな感じになりました。
これは私が望んでいることではありません。真ん中に色をつけるバーの作り方。シェーディング方法として、2つの座標を持つ矩形を使用しています。そこで問題なのが、矩形の開始と終了の座標をどう選ぶかだ。
ヒントをください。
以下は、インジケーターのコードです。
。
...
バーの真ん中にぴったりと 影をつける方法を教えてください。
Heiken Ashiのインジケータを見てみましょう。そのソースコードはMetaTrader 4に含まれています。
関数 ExistInHistoryToDay()。
本日オープン(設定)したポジションまたはオーダーの履歴の中の存在フラグを返します。関数ExistInHistoryToDay() は、以下のパラメータを受け取る。