if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (fabs(DEAL_PRICE-Bid[0])/DEAL_PRICE)>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (SymbolInfoDouble(_Symbol,SYMBOL_BID)-DEAL_PRICE)/DEAL_PRICE>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
2)私の方法は以下の通りです。
if(!RefreshRates())
return;
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (m_symbol.Bid())-DEAL_PRICE)/DEAL_PRICE>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
if(!RefreshRates())
return;
1) if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
2) if(m_Position.Select(Symbol())) //если уже существует позиция по этому символу
{
return;
}
2*) m_Trade.Buy(0.1,Symbol()); //если дошли сюда, значит позиции нет, открываем ее
}
3) if
((m_Position.PositionType()==POSITION_TYPE_BUY) && (((m_symbol.Bid()-DEAL_PRICE)/DEAL_PRICE)>= 0.1))
{
m_Trade.PositionClose(Symbol()); //и тип этой позиции Buy, то закрываем ее
}
if(!RefreshRates())
return;
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(Symbol())) //если уже существует позиция по этому символу
{
if(m_Position.PositionType()==POSITION_TYPE_BUY && (m_symbol.Bid()-m_Position.PriceOpen())/m_Position.PriceOpen()>=0.1)
{
m_Trade.PositionClose(Symbol()); //и тип этой позиции Buy, то закрываем ееreturn;
}
}
else
m_Trade.Buy(0.1,Symbol()); //если дошли сюда, значит позиции нет, открываем ее
}
if(iTime(NULL,PERIOD_D1,i+1)!=iTime(NULL,PERIOD_D1,i)&& How do I write this?)
time[i]から日付を抽出し、time[i+1]と比較する必要があります。等しくない場合は、time[i]から時間を抽出し、与えられた時間と比較する。同じであれば、一列に並べる。
これをすべてスクリプトで抽出する方法を示しました。あとは考えるだけです。
time[i]から日付を抽出し、time[i+1]と比較する必要があります。等しくない場合、time[i]から時間を抽出し、与えられた時間と比較する。同じであれば、線を引いてください。
どのように抽出されるかは、スクリプトで示しました。あとは考えるだけです。
金曜の夜、悪いと思いながら)何も作らない。なぜ?
で、time[i]から時間を抽出し、設定した時間と比較する。
おそらくtime[i+1]は、その日の終値の後に前日までのラインを入れる必要がありますね。
こんにちは。
バカな質問ですが、それでもお願いします)
私はある価格で取引を開始し、私は常に長い)そして、私は現在の入札と取引の価格を 比較し、我々は0.5%増加した場合、私は入札でclose.Cursed(()。
私は、ある価格で取引に参加しました、私はいつも憧れています)そして、私は取引の価格と 現在の入札を比較し、0.5%上昇した場合、私は閉じます。それは入札で誓う((
おそらく、これがMQL5だからでしょう。ここでは "bid "はありませんが、SymbolInfoDouble(_Symbol, SYMBOL_BID)があります。
こんにちは。
バカな質問ですが、それでもお願いします)
私はある価格で取引を開始し、私は常にロングです)そして、私は取引の価格を 現在の入札と比較し、0.5%上昇した場合、私はclose.Itは入札で誓う((((((((()))))。
悪口はごもっともです。MQL5では、Bid価格を持つこのような配列はありません。
に置き換えてください。
m_symbol.Bid()
そして、サイクルの前に、価格を更新することを忘れないでください。
そして、彼が誓うのは正しいことです。MQL5では、Bid価格を持つこのような配列はありません。
に置き換えてください。
そして、ループの前に価格を更新することを忘れないでください。
私は2種類の方法で行いました。
1) Expert Advisorは動作しますが、残念ながらアイデアが出ません。それは簡単で、前のローソク足が下に、次のローソク足が上に閉じたときに買うのです。そして、価格が0.5%上昇した場合のみ決済しています。
変な取引になる((
2)私の方法は以下の通りです。
失敗したかな(((;゚Д゚))))))))
エラーが発生します。
2種類の方法で行いました。
1) Expert Advisorは動作しますが、残念ながらアイデアを実装していません。単純に、前のローソク足が下に、次のローソク足が上に閉じたときに買うのです。そして、価格が0.5%上昇した場合のみ決済するようにしています。
変な取引になる((
2)私の方法は以下の通りです。
失敗したかな(((;゚Д゚))))))))
エラーが出ます。
私のコードを開くと、m_symbolとRefreshRatesの両方が表示されます。
私のコードのどれかを開けば、そこにm_symbolとRefreshRatesの両方があるのがわかると思います。
ありがとうございます。読んでやりました。
今となっては、なぜアルゴリズムがうまくいかないのかがわからない。
何が起こるかというと、次のような条件のもとで購入されるのです。
1)条件を満たした場合。
2) すでにオープンポジションが あるかどうかを確認し、あれば3)へ、なければ2*)をオープンします。
3) 買いポジションで、エントリー価格から10%上昇したという条件が満たされたら、決済する。
テストでは、以下のように、ポジションが開いたり閉じたりして、条件通りにはいきません(( また、助けてください!
ありがとうございます。リーディングを行いました。
今となっては、なぜアルゴリズムがうまくいかないのかがわからない。
何が起こるかというと、次のような条件のもとで購入されるのです。
1)条件を満たした場合。
2) すでにオープンポジションが あるかどうかを確認し、あれば3)へ、なければ2*)をオープンします。
3) 買いポジションで、エントリー価格から10%上昇したという条件が満たされたら、決済する。
テストすると以下のようになり、ポジションが開いたり閉じたりして、条件が揃わない(( また、助けてください!
私は次のようなアルゴリズムを提案します。
m_Positionに注目してください。価格オープン()