//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 10.05.2008 |//| Описание : Возвращает корреляцию двух рядов. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений первого ряда |//| y - массив значений второго ряда |//+----------------------------------------------------------------------------+doubleCorrelation(double& x[], double& y[]){double co=0, sa=0, sb=0, sc=0, xs=0, ys=0;
inti, k=MathMin(ArraySize(x), ArraySize(y));
if(k>0){for(i=0; i<k; i++){xs+=x[i]; ys+=y[i];
}xs/=k; ys/=k;
for(i=0; i<k; i++){sa+=(x[i]-xs)*(y[i]-ys);
sb+=(x[i]-xs)*(x[i]-xs);
sc+=(y[i]-ys)*(y[i]-ys);
}sb=MathSqrt(sb*sc);
if(sb!=0)co=sa/sb;
}return(co);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает индекс последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+intGetIndexLastPos(stringsy="", intop=-1, intmn=-1){datetimeo;
inti, k=OrdersTotal(), r=-1;
if(sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==sy || sy==""){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(o<OrderOpenTime()){o=OrderOpenTime();
r=i;
}}}}}}}return(r);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает размер лота последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+doubleGetLotLastPos(stringsy="", intop=-1, intmn=-1){datetimeo;
doublel=-1;
inti, k=OrdersTotal();
if(sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==sy || sy==""){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(o<OrderOpenTime()){o=OrderOpenTime();
l=OrderLots();
}}}}}}}return(l);
}
機能そのもの。
ZS.トレーラーには、Correlation()関数をテストするためのスクリプトが含まれています。
GetIndexLastPos()関数。
この関数は、最後のオープンポジションのインデックスまたは-1を 返します。チェックする位置をより正確に選択するために、外部パラメータで定義します。
GetLotLastPos()関数です。
この関数は、直近のオープンポジションのロットサイズまたは-1を 返します。チェックする位置をより正確に選択するために、外部パラメータで定義します。
GetIndexLastPos()関数。
この関数は、最後のオープンポジションのインデックスまたは-1を 返します。チェックする位置をより正確に選択するために、外部パラメータで指定します。
ZS. GetIndexLastPos()関数をテストするスクリプトを添付しています。インデックスとは何ですか?最後に開いた ポジションのバー番号でしょうか?それとも他の何か?
インデックスとは何ですか?最後にオープンしたポジションのバー番号でしょうか?それとも他の何か?
オープンポジションと セットオーダーのリストにおけるポジションのシーケンス番号です。番号はゼロから始まり、ポジションとオーダーで同じになります。
イゴール様、よろしくお願いします。問題は、MAをCCIやStochにアタッチするコードがどこにも見当たらないことです。このМАがCCIレベル、例えば+100/-100を越えたら売買シグナルが発生するはずです。
もしかしたら、私が必要とするコードを使用するExpert Advisorがあるかもしれません。
GetMaxLotFromOpenPos()関数。
この関数は、オープンポジションの数から最大ロットサイズを返します。チェックする位置をより正確に選択するために、外部パラメータで指定します。
GetMinLotFromOpenPos()関数。
この関数は、オープンポジションの数から最小ロットサイズを返します。チェックする位置をより正確に選択するために、外部パラメータで指定します。
イゴール様、よろしくお願いします。問題は、MAをCCIやStochにアタッチするコードがどこにも見当たらないことです。このМАがCCIレベル、例えば+100/-100を越えたら売買シグナルが発生するはずです。
もしかしたら、私が必要とするコードを使用するExpert Advisorがあるかもしれませんね。
この質問は明らかに関係ない。Igorの気を散らさないために、ストキャスティックとMAの例を使って、このようなコード断片の例を挙げます。
MAです。私は24時間投稿を維持します - その後、私はそれを削除します
MAです。この投稿は24時間保管します。その後、削除します