bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {// Объявление функции. Передаваемые параметры: sy = символ, op - тип, mn - магикdatetime t; // Переменная содержит время закрытия ордераdouble ocp, osl; // ocp - цена закрытия позиции, osl - цена СтопЛосс закрытой позицииint dg, i, j=-1, k=OrdersHistoryTotal(); // k содержит общее количество ордеров в историиif (sy=="0") sy=Symbol(); // Если в ф-цию передан sy равный 0 или NULL, то использовать символ графикаfor (i=0; i<k; i++) { // Цикл по массиву закрытых ордеровif (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { // Если выбран ордер из массива закрытых ордеров, ...if (OrderSymbol()==sy || sy=="") { // ... если его символ совпадает с нашим, ...if (OrderType()==OP_BUY || OrderType()==OP_SELL) { // ... если его тип Бай или Селл, ...if (op<0 || OrderType()==op) { // ... если тип ордера равен или -1 (имеется ввиду любой) или равен переданному в ф-цию, ...if (mn<0 || OrderMagicNumber()==mn) { // ... если его магик или любой (-1) или равен переданному в ф-цию (магику советника), ...if (t<OrderCloseTime()) { // ... если переменная t содержит время закрытия меньше, чем время закрытия выбранного ордера, то ...
t=OrderCloseTime(); // ... то присвоим переменной t время закрытия выбранного ордера (этот ордер закрыт позже предыдущего)
j=i; // Запишем в переменную j индекс найденного ордера с максимальным временем закрытия
}
}
}
}
}
}
} // По окончании цикла в переменной j находится индекс последнего закрытого ордераif (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { // Выберем его по индексу
dg=MarketInfo(sy, MODE_DIGITS); // Количество цифр после десятичного точки в цене инструмента, заданного переменной syif (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; // Честно... точно не скажу, но вижу, что корректировка под йену
ocp=NormalizeDouble(OrderClosePrice(), dg); // Нормализуем цену закрытия ордера для дальнейшего сравнения с ценой СтопЛосс
osl=NormalizeDouble(OrderStopLoss(), dg); // Нормализуем цену СтопЛосс ордера для сравнения с ценой закрытияif (ocp==osl) return(True); // Если эти цены равны, значит поза закрыта по стопу, возвращаем значение "Истина"
}
return(False); // Возвращаем "Ложь"
}
if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic)) // Если последняя закрытая позиция Buy на текущем графике с магиком Magic была закрыта по стопу, то ...
{
// .......... тут код, который выполнится при данном условии
}
//--------------------------------------------------------------------------------------------------------------------------if (isCloseLastPosByStop(USDJPY, OP_SELL, Magic)) // Если последняя закрытая позиция Sell с символом USDJPY с магиком Magic была закрыта по стопу, то ...
{
// .......... тут код, который выполнится при данном условии
}
//--------------------------------------------------------------------------------------------------------------------------if (isCloseLastPosByStop()) // Если любая последняя закрытая позиция с любым символом и любым магиком была закрыта по стопу, то ...
{
// .......... тут код, который выполнится при данном условии
}
//===========================================================================
助けられる人、ロシア語で説明してください
学習の方法論がどのように行われるか(条件付きで、まだどのアルゴリズムでもよい) Neuronka
ということで、選択の方法論(価値観という名のパラメーター付け)は明確です。
- 遺伝学
- 逆行性誤差の伝播
しかし、トレーニングはどうでしょうか。 フィッティングのロジックが明確でない場合、-OK、トレーニングは終了です。
またはリンクを送っていただければ幸いです。
//===========================================================================
すなわち、テスターでそれは利益を構築することを犠牲にしてそこに明確である - OK。
が、仮にXXX値の完全な正弦波サンプルだけだとすると
どうですか?
この件に関するご回答をよろしくお願いします。
クズ
リンクありがとうございます。
という質問のロジックをキャッチするために :?
Microsoft Visual Studio 2010をインストールし、C++でのプログラミングを選択し、コードのためのウィンドウが開かれました。 フォームの作成方法をご存知の方はいらっしゃいますか?
Microsoft Visual Studio 2010でプログラミングをする場合、すぐにフォームが表示され、その中で初めてコードを進めることができますが、C++ではどうでしょうか。
2008年から何も変わっていないと思うし、最近になってようやくマスターしたんだけど...。とにかく、この方法で試してみてください。
Solution Explorerでディレクトリを右クリック->Add->New Item->Select Windows Form
こんにちは。MacdaでiBandsOnArrayのインジケーターを作ってください。スクリーンショットのようになるはずです。
macdのb.band
ビーバンドオンザマック
みんな、逆指値注文で正しく有効期限を設定する方法を例示してくれ。1分、20分、1時間としましょう。自分では見つけられないし、理解できない。事前に感謝しています。
これは彼らの例です =)
その変数が将来、印刷だけでなく何らかの計算に使われるとしたらどうでしょうか。
その変数が将来、印刷だけでなく何らかの計算に使われるとしたらどうでしょうか。
正直、難しいので、途中でシートに印刷して読んだりもしましたが、ひとつだけわからないのが、「JPY」ってどこから、なんで?
このコードはどこに置けばいいのでしょうか? もし私が間違っていなければ、すべての関数の外に置くべきでしょうか?
正直、難しいので、途中でシートに印刷して読んだりもしましたが、ひとつだけわからないのが、「JPY」ってどこから、なんで?
このコードはどこに置けばいいのでしょうか? もし私が間違っていなければ、すべての関数の外側に置くべきでしょうか?
円建てで、注文記号にJPYが含まれる場合は、円建て用に桁を 修正する必要があります。この機能は、あなたのためにすべてを行うので、気にしないでください。そして、それはEA本体の外にある他の機能と同様に配置されるべきものです。そして、以下のようにEAから呼び出す必要があります。