int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровнеfor (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один разif ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
}else{
cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
cnt = cross;//и обнуляем счётчик её значением
}//потом cnt/2 будет количеством подсчитанных свечей,
}//а cnt%2 - их направлением.
}
int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровнеfor (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один разif ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
}else{
cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
cnt = cross;//и обнуляем счётчик её значением
}//потом cnt/2 будет количеством подсчитанных свечей,
}//а cnt%2 - их направлением.
}
指定した価格に未決済の注文があるかどうかを知るには、どうすればよいですか? 。
注文を調べ、指定された価格と比較する。その場合は、オープンタイ ムを確認する
if(OrderOpenTime()!=0) ゼロに等しくなければオープン、等しければペンディングです。
{
double kr =0.00060// セット倍率、ステップ
double msell =Ask -MathMod( Ask, kr); // 売り値
{
Alert(" just ", msell," typed);
return;// exit start()
}
//----
//----
return(0)
}
何が問題なのか、教えてください。
compilation gives 'msell' - variable not defined C:\Program FilesMetaTrader 4 ╱╱Temp.mq4 (16, 11)
i_AnyBarsToHistoryの インデックスを持つバーからインデックス1を 持つバーまでのバーの出現順序に従って値が計算されるカウンタを持っています。したがって、指数30から 指数15までの バーで条件が満たされるのであれば、以下のようになります。
directionMA == CROSS_UP
となり、例えばcnt= 2で条件が満たされることになります。
その後、cntは前の値にインクリメントされます。もし、2であれば、新しい条件は1だけ増加し、cnt=3となり、値3で関数を終了することになります。お分かりになりますか?よく見てください。ここでは論理が原理的に明快です。
手持ち無沙汰で返信が遅くなり申し訳ありません。だから問題は、そのような1つのカウンターをどのように使って、それがどの動きを指しているのかを判断するか、ですね。カウンターに論理変数を縫い込んで、1ではなく2ずつインクリメントすればいいのです。
こんな感じです。
自分で見つけた )
さすがは我が国の国民、アドバイスがいっぱい出てきます。時間がなかったのです)。
車の対応で、返信が遅くなり申し訳ありません。
車の対応で、返信が遅くなり申し訳ありません。だから問題は、そのような1つのカウンターをどのように使って、それがどの動きを指しているのかを判断するか、ですね。カウンターに論理変数を縫い込んで、1ではなく2ずつインクリメントすればいいのです。
こんな感じです。
まあ、Expert Advisor用ではなく、インジケータ用に書いたんだろうけど。私はExpert Advisorです。
また、なぜ2刻みなのでしょうか?
だから問題は、それがどの動きを指しているのか、どうやって判断するか、ですよね。
ある特性(例えば、弱気か強気か)の連続するバーの計算を、関数パラメータを通して渡されるある特性に基づいて行いたいのです。
ちなみに、https://www.mql5.com/ru/forum/144705、 別ブランチを作りました。必要なものは、すべてそこにある。何が問題なのかを探すのはとても面白い。