上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--月--日(--)--時--分|スポンサー広告
|コメント -
|トラックバック -
|Λ
今度は
新規指値逆指値の注文があった状態について考えます。
現在の状態が指値逆指値の注文を持っていた場合については次の2つのパターンが考えられます。
(1)注文のない状態 → 指値逆指値の注文を持った状態

(2)指値逆指値の注文を持った状態 → 指値逆指値の注文を持った状態(状態の変化なし)
新規の指値逆指値の注文があった場合は(1)です。これを言葉で説明すると
(1)
現在指値逆指値の注文を持った状態で一つ前の状態には同じチケットが存在しない場合
具体的にプログラムしてみます。
[1]注文のない状態:PreviousOrdersArray[1][5]
[2]指値逆指値の注文を持った状態:CurrentOrdersArray[1][5]
-----------------------------------------------
int start()
{
//----
static int lastCheckTime = 0;
//Print("lastCheckTime: ", lastCheckTime);
if(TimeCurrent()-lastCheckTime < CheckTimeInterval) return(0);
lastCheckTime = TimeCurrent();
double PreviousOrdersArray[1][5] = {};
double CurrentOrdersArray[1][5] = { 8015456, OP_BUYLIMIT, 1.31785, 1.31085, 1.32785};
int dim1_size_Previous = ArrayRange(PreviousOrdersArray,0);
Print("dim1_size_Previous: ", dim1_size_Previous);
for(int i= 0;<dim1_size_Previous;i++){
Print(PreviousOrdersArray[i][TICKET]," ",PreviousOrdersArray[i][ORDERTYPE]," ",PreviousOrdersArray[i][OPENPRICE]," ",PreviousOrdersArray[i][STOPLOSS]," ",PreviousOrdersArray[i][TAKEPROFIT]," ","\n");
}
int dim1_size_Current = ArrayRange(CurrentOrdersArray,0);
Print("dim1_size_Current: ", dim1_size_Current);
for(int j= 0;j<dim1_size_Current;j++){
Print(CurrentOrdersArray[j][TICKET]," ",CurrentOrdersArray[j][ORDERTYPE]," ",CurrentOrdersArray[j][OPENPRICE]," ",CurrentOrdersArray[j][STOPLOSS]," ",CurrentOrdersArray[j][TAKEPROFIT]," ","\n");
}
int exist_CurrentTICKET = 0;
int same_PreviousTICKET = 0;
int PO_Opend_Num;
int PO_Opend = 0;
for(i= 0;i<dim1_size_Current;i++){
if(CurrentOrdersArray[i][ORDERTYPE] == OP_BUY || CurrentOrdersArray[i][ORDERTYPE] == OP_SELL) continue;
exist_CurrentTICKET = 1;
PO_Opend_Num = i;
for(j = 0;j<dim1_size_Previous;j++){
if(CurrentOrdersArray[i][TICKET] == PreviousOrdersArray[j][TICKET]){
same_PreviousTICKET = 1;
break;
}
}
}
if(
exist_CurrentTICKET==1 && same_PreviousTICKET==0) PO_Opend++;
if(PO_Opend > 0) Print("CurrentOrdersArray[PO_Opend_Num][TICKET]: ", CurrentOrdersArray[PO_Opend_Num][TICKET]);
else Print("Nothing");
//----
return(0);
}
スポンサーサイト
12月26日(月)14時58分|MT4Code
|コメント0
|トラックバック 0
|Λ
トラックバックURL: http://atslab.blog135.fc2.com/tb.php/52-1eae6688